Add support for mt7986-eth driver available on mt7986 soc. Changes since v2: - rely on GFP_KERNEL whenever possible - define mtk_reg_map struct to introduce soc register map and avoid macros - improve comments Changes since v1: - drop SRAM option - convert ring->dma to void - convert scratch_ring to void - enable port4 - fix irq dts bindings - drop gmac1 support from mt7986a-rfb dts for the moment Lorenzo Bianconi (16): arm64: dts: mediatek: mt7986: introduce ethernet nodes dt-bindings: net: mediatek,net: add mt7986-eth binding net: ethernet: mtk_eth_soc: rely on GFP_KERNEL for dma_alloc_coherent whenever possible net: ethernet: mtk_eth_soc: move tx dma desc configuration in mtk_tx_set_dma_desc net: ethernet: mtk_eth_soc: add txd_size to mtk_soc_data net: ethernet: mtk_eth_soc: rely on txd_size in mtk_tx_alloc/mtk_tx_clean net: ethernet: mtk_eth_soc: rely on txd_size in mtk_desc_to_tx_buf net: ethernet: mtk_eth_soc: rely on txd_size in txd_to_idx net: ethernet: mtk_eth_soc: add rxd_size to mtk_soc_data net: ethernet: mtk_eth_soc: rely on txd_size field in mtk_poll_tx/mtk_poll_rx net: ethernet: mtk_eth_soc: rely on rxd_size field in mtk_rx_alloc/mtk_rx_clean net: ethernet: mtk_eth_soc: introduce device register map net: ethernet: mtk_eth_soc: introduce MTK_NETSYS_V2 support net: ethernet: mtk_eth_soc: convert ring dma pointer to void net: ethernet: mtk_eth_soc: convert scratch_ring pointer to void net: ethernet: mtk_eth_soc: introduce support for mt7986 chipset .../devicetree/bindings/net/mediatek,net.yaml | 141 ++- arch/arm64/boot/dts/mediatek/mt7986a-rfb.dts | 74 ++ arch/arm64/boot/dts/mediatek/mt7986a.dtsi | 39 + arch/arm64/boot/dts/mediatek/mt7986b-rfb.dts | 70 ++ drivers/net/ethernet/mediatek/mtk_eth_soc.c | 834 +++++++++++++----- drivers/net/ethernet/mediatek/mtk_eth_soc.h | 305 ++++--- 6 files changed, 1113 insertions(+), 350 deletions(-) -- 2.35.3