Commit 23020f04 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Jakub Kicinski
Browse files

net: airoha: Introduce ethernet support for EN7581 SoC



Add airoha_eth driver in order to introduce ethernet support for
Airoha EN7581 SoC available on EN7581 development board (en7581-evb).
EN7581 mac controller is mainly composed by the Frame Engine (PSE+PPE)
and QoS-DMA (QDMA) modules. FE is used for traffic offloading (just
basic functionalities are currently supported) while QDMA is used for
DMA operations and QOS functionalities between the mac layer and the
external modules conncted to the FE GDM ports (e.g MT7530 DSA switch
or external phys).
A general overview of airoha_eth architecture is reported below:

               ┌───────┐                                     ┌───────┐
               │ QDMA2 │                                     │ QDMA1 │
               └───┬───┘                                     └───┬───┘
                   │                                             │
           ┌───────▼─────────────────────────────────────────────▼────────┐
           │                                                              │
           │       P5                                            P0       │
           │                                                              │
           │                                                              │
           │                                                              │    ┌──────┐
           │                                                           P3 ├────► GDM3 │
           │                                                              │    └──────┘
           │                                                              │
           │                                                              │
┌─────┐    │                                                              │
│ PPE ◄────┤ P4                          PSE                              │
└─────┘    │                                                              │
           │                                                              │
           │                                                              │
           │                                                              │    ┌──────┐
           │                                                           P9 ├────► GDM4 │
           │                                                              │    └──────┘
           │                                                              │
           │                                                              │
           │                                                              │
           │        P2                                           P1       │
           └─────────┬───────────────────────────────────────────┬────────┘
                     │                                           │
                 ┌───▼──┐                                     ┌──▼───┐
                 │ GDM2 │                                     │ GDM1 │
                 └──────┘                                     └──┬───┘
                                                                 │
                                                            ┌────▼─────┐
                                                            │  MT7530  │
                                                            └──────────┘

Currently only hw LAN features (QDMA1+GDM1) are available while hw WAN
(QDMA2+GDM{2,3,4}) ones will be added with subsequent patches introducing
traffic offloading support.

Tested-by: default avatarBenjamin Larsson <benjamin.larsson@genexis.eu>
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Link: https://patch.msgid.link/274945d2391c195098ab180a46d0617b18b9e42c.1720818878.git.lorenzo@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 6bc8719c
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -682,6 +682,15 @@ S: Supported
F:	fs/aio.c
F:	include/linux/*aio*.h
AIROHA ETHERNET DRIVER
M:	Lorenzo Bianconi <lorenzo@kernel.org>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	linux-mediatek@lists.infradead.org (moderated for non-subscribers)
L:	netdev@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/net/airoha,en7581-eth.yaml
F:	drivers/net/ethernet/mediatek/airoha_eth.c
AIROHA SPI SNFI DRIVER
M:	Lorenzo Bianconi <lorenzo@kernel.org>
M:	Ray Liu <ray.liu@airoha.com>
+9 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
config NET_VENDOR_MEDIATEK
	bool "MediaTek devices"
	depends on ARCH_MEDIATEK || SOC_MT7621 || SOC_MT7620 || COMPILE_TEST
	depends on ARCH_MEDIATEK || ARCH_AIROHA || SOC_MT7621 || SOC_MT7620 || COMPILE_TEST
	help
	  If you have a Mediatek SoC with ethernet, say Y.

if NET_VENDOR_MEDIATEK

config NET_AIROHA
	tristate "Airoha SoC Gigabit Ethernet support"
	depends on NET_DSA || !NET_DSA
	select PAGE_POOL
	help
	  This driver supports the gigabit ethernet MACs in the
	  Airoha SoC family.

config NET_MEDIATEK_SOC_WED
	depends on ARCH_MEDIATEK || COMPILE_TEST
	def_bool NET_MEDIATEK_SOC != n
+1 −0
Original line number Diff line number Diff line
@@ -11,3 +11,4 @@ mtk_eth-$(CONFIG_NET_MEDIATEK_SOC_WED) += mtk_wed_debugfs.o
endif
obj-$(CONFIG_NET_MEDIATEK_SOC_WED) += mtk_wed_ops.o
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
obj-$(CONFIG_NET_AIROHA) += airoha_eth.o
+2730 −0

File added.

Preview size limit exceeded, changes collapsed.