mt76: mt7915: add mmio.c

Add mmio.c in order to use mt76_bus_ops throughout the driver.
It will be also shared with the future APSoC revision.

Signed-off-by: Ryder Lee <[email protected]>
Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
Ryder Lee
2021-04-11 12:55:54 +02:00
committed by Felix Fietkau
parent 7714dc914d
commit ffd4cf15fa
7 changed files with 25 additions and 217 deletions
+4 -7
View File
@@ -311,7 +311,6 @@ static void mt7915_init_work(struct work_struct *work)
static void mt7915_wfsys_reset(struct mt7915_dev *dev)
{
u32 val = MT_TOP_PWR_KEY | MT_TOP_PWR_SW_PWR_ON | MT_TOP_PWR_PWR_ON;
u32 reg = mt7915_reg_map_l1(dev, MT_TOP_MISC);
#define MT_MCU_DUMMY_RANDOM GENMASK(15, 0)
#define MT_MCU_DUMMY_DEFAULT GENMASK(31, 16)
@@ -343,7 +342,7 @@ static void mt7915_wfsys_reset(struct mt7915_dev *dev)
}
/* wfsys reset won't clear host registers */
mt76_clear(dev, reg, MT_TOP_MISC_FW_STATE);
mt76_clear(dev, MT_TOP_MISC, MT_TOP_MISC_FW_STATE);
msleep(100);
}
@@ -351,7 +350,6 @@ static void mt7915_wfsys_reset(struct mt7915_dev *dev)
static int mt7915_init_hardware(struct mt7915_dev *dev)
{
int ret, idx;
u32 val;
mt76_wr(dev, MT_INT_SOURCE_CSR, ~0);
@@ -359,12 +357,11 @@ static int mt7915_init_hardware(struct mt7915_dev *dev)
spin_lock_init(&dev->token_lock);
idr_init(&dev->token);
dev->dbdc_support = !!(mt7915_l1_rr(dev, MT_HW_BOUND) & BIT(5));
val = mt76_rr(dev, mt7915_reg_map_l1(dev, MT_TOP_MISC));
dev->dbdc_support = !!(mt76_rr(dev, MT_HW_BOUND) & BIT(5));
/* If MCU was already running, it is likely in a bad state */
if (FIELD_GET(MT_TOP_MISC_FW_STATE, val) > FW_STATE_FW_DOWNLOAD)
if (mt76_get_field(dev, MT_TOP_MISC, MT_TOP_MISC_FW_STATE) >
FW_STATE_FW_DOWNLOAD)
mt7915_wfsys_reset(dev);
ret = mt7915_dma_init(dev);