Commit 0c1d3fb9 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Paolo Abeni

net: ethernet: mtk_eth_soc: move wdma_base definitions in mtk register map

This is a preliminary patch to introduce mt7986 wed support.
Tested-by: default avatarDaniel Golle <daniel@makrotopia.org>
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 4ff1a3fc
......@@ -75,6 +75,10 @@ static const struct mtk_reg_map mtk_reg_map = {
.gdm1_cnt = 0x2400,
.gdma_to_ppe = 0x4444,
.ppe_base = 0x0c00,
.wdma_base = {
[0] = 0x2800,
[1] = 0x2c00,
},
};
static const struct mtk_reg_map mt7628_reg_map = {
......@@ -130,6 +134,10 @@ static const struct mtk_reg_map mt7986_reg_map = {
.gdm1_cnt = 0x1c00,
.gdma_to_ppe = 0x3333,
.ppe_base = 0x2000,
.wdma_base = {
[0] = 0x4800,
[1] = 0x4c00,
},
};
/* strings used by ethtool */
......@@ -4019,16 +4027,12 @@ static int mtk_probe(struct platform_device *pdev)
for (i = 0;; i++) {
struct device_node *np = of_parse_phandle(pdev->dev.of_node,
"mediatek,wed", i);
static const u32 wdma_regs[] = {
MTK_WDMA0_BASE,
MTK_WDMA1_BASE
};
void __iomem *wdma;
if (!np || i >= ARRAY_SIZE(wdma_regs))
if (!np || i >= ARRAY_SIZE(eth->soc->reg_map->wdma_base))
break;
wdma = eth->base + wdma_regs[i];
wdma = eth->base + eth->soc->reg_map->wdma_base[i];
mtk_wed_add_hw(np, eth, wdma, i);
}
......
......@@ -268,9 +268,6 @@
#define TX_DMA_FPORT_MASK_V2 0xf
#define TX_DMA_SWC_V2 BIT(30)
#define MTK_WDMA0_BASE 0x2800
#define MTK_WDMA1_BASE 0x2c00
/* QDMA descriptor txd4 */
#define TX_DMA_CHKSUM (0x7 << 29)
#define TX_DMA_TSO BIT(28)
......@@ -956,6 +953,7 @@ struct mtk_reg_map {
u32 gdm1_cnt;
u32 gdma_to_ppe;
u32 ppe_base;
u32 wdma_base[2];
};
/* struct mtk_eth_data - This is the structure holding all differences
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment