mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-14 06:24:53 +08:00
4af2950c50
This patch adds a realtek-smi subdriver for the RTL8365MB-VC 4+1 port 10/100/1000M switch controller. The driver has been developed based on a GPL-licensed OS-agnostic Realtek vendor driver known as rtl8367c found in the OpenWrt source tree. Despite the name, the RTL8365MB-VC has an entirely different register layout to the already-supported RTL8366RB ASIC. Notwithstanding this, the structure of the rtl8365mb subdriver is loosely based on the rtl8366rb subdriver. Like the 'rb, it establishes its own irqchip to handle cascaded PHY link status interrupts. The RTL8365MB-VC switch is capable of offloading a large number of features from the software, but this patch introduces only the most basic DSA driver functionality. The ports always function as standalone ports, with bridging handled in software. One more thing. Realtek's nomenclature for switches makes it hard to know exactly what other ASICs might be supported by this driver. The vendor driver goes by the name rtl8367c, but as far as I can tell, no chip actually exists under this name. As such, the subdriver is named rtl8365mb to emphasize the potentially limited support. But it is clear from the vendor sources that a number of other more advanced switches share a similar register layout, and further support should not be too hard to add given access to the relevant hardware. With this in mind, the subdriver has been written with as few assumptions about the particular chip as is reasonable. But the RTL8365MB-VC is the only hardware I have available, so some further work is surely needed. Co-developed-by: Michael Rasmussen <mir@bang-olufsen.dk> Signed-off-by: Michael Rasmussen <mir@bang-olufsen.dk> Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk> Reviewed-by: Vladimir Oltean <olteanv@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Tested-by: Arınç ÜNAL <arinc.unal@arinc9.com> Signed-off-by: David S. Miller <davem@davemloft.net>
132 lines
3.6 KiB
Plaintext
132 lines
3.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menu "Distributed Switch Architecture drivers"
|
|
depends on NET_DSA
|
|
|
|
source "drivers/net/dsa/b53/Kconfig"
|
|
|
|
config NET_DSA_BCM_SF2
|
|
tristate "Broadcom Starfighter 2 Ethernet switch support"
|
|
depends on HAS_IOMEM
|
|
select NET_DSA_TAG_BRCM
|
|
select FIXED_PHY
|
|
select BCM7XXX_PHY
|
|
select MDIO_BCM_UNIMAC
|
|
select B53
|
|
help
|
|
This enables support for the Broadcom Starfighter 2 Ethernet
|
|
switch chips.
|
|
|
|
config NET_DSA_LOOP
|
|
tristate "DSA mock-up Ethernet switch chip support"
|
|
select FIXED_PHY
|
|
help
|
|
This enables support for a fake mock-up switch chip which
|
|
exercises the DSA APIs.
|
|
|
|
source "drivers/net/dsa/hirschmann/Kconfig"
|
|
|
|
config NET_DSA_LANTIQ_GSWIP
|
|
tristate "Lantiq / Intel GSWIP"
|
|
depends on HAS_IOMEM
|
|
select NET_DSA_TAG_GSWIP
|
|
help
|
|
This enables support for the Lantiq / Intel GSWIP 2.1 found in
|
|
the xrx200 / VR9 SoC.
|
|
|
|
config NET_DSA_MT7530
|
|
tristate "MediaTek MT753x and MT7621 Ethernet switch support"
|
|
select NET_DSA_TAG_MTK
|
|
help
|
|
This enables support for the MediaTek MT7530, MT7531, and MT7621
|
|
Ethernet switch chips.
|
|
|
|
config NET_DSA_MV88E6060
|
|
tristate "Marvell 88E6060 ethernet switch chip support"
|
|
select NET_DSA_TAG_TRAILER
|
|
help
|
|
This enables support for the Marvell 88E6060 ethernet switch
|
|
chip.
|
|
|
|
source "drivers/net/dsa/microchip/Kconfig"
|
|
|
|
source "drivers/net/dsa/mv88e6xxx/Kconfig"
|
|
|
|
source "drivers/net/dsa/ocelot/Kconfig"
|
|
|
|
source "drivers/net/dsa/qca/Kconfig"
|
|
|
|
source "drivers/net/dsa/sja1105/Kconfig"
|
|
|
|
source "drivers/net/dsa/xrs700x/Kconfig"
|
|
|
|
config NET_DSA_QCA8K
|
|
tristate "Qualcomm Atheros QCA8K Ethernet switch family support"
|
|
select NET_DSA_TAG_QCA
|
|
select REGMAP
|
|
help
|
|
This enables support for the Qualcomm Atheros QCA8K Ethernet
|
|
switch chips.
|
|
|
|
config NET_DSA_REALTEK_SMI
|
|
tristate "Realtek SMI Ethernet switch family support"
|
|
select NET_DSA_TAG_RTL4_A
|
|
select NET_DSA_TAG_RTL8_4
|
|
select FIXED_PHY
|
|
select IRQ_DOMAIN
|
|
select REALTEK_PHY
|
|
select REGMAP
|
|
help
|
|
This enables support for the Realtek SMI-based switch
|
|
chips, currently only RTL8366RB.
|
|
|
|
config NET_DSA_SMSC_LAN9303
|
|
tristate
|
|
select NET_DSA_TAG_LAN9303
|
|
select REGMAP
|
|
help
|
|
This enables support for the SMSC/Microchip LAN9303 3 port ethernet
|
|
switch chips.
|
|
|
|
config NET_DSA_SMSC_LAN9303_I2C
|
|
tristate "SMSC/Microchip LAN9303 3-ports 10/100 ethernet switch in I2C managed mode"
|
|
depends on I2C
|
|
select NET_DSA_SMSC_LAN9303
|
|
select REGMAP_I2C
|
|
help
|
|
Enable access functions if the SMSC/Microchip LAN9303 is configured
|
|
for I2C managed mode.
|
|
|
|
config NET_DSA_SMSC_LAN9303_MDIO
|
|
tristate "SMSC/Microchip LAN9303 3-ports 10/100 ethernet switch in MDIO managed mode"
|
|
select NET_DSA_SMSC_LAN9303
|
|
help
|
|
Enable access functions if the SMSC/Microchip LAN9303 is configured
|
|
for MDIO managed mode.
|
|
|
|
config NET_DSA_VITESSE_VSC73XX
|
|
tristate
|
|
select FIXED_PHY
|
|
select VITESSE_PHY
|
|
select GPIOLIB
|
|
help
|
|
This enables support for the Vitesse VSC7385, VSC7388,
|
|
VSC7395 and VSC7398 SparX integrated ethernet switches.
|
|
|
|
config NET_DSA_VITESSE_VSC73XX_SPI
|
|
tristate "Vitesse VSC7385/7388/7395/7398 SPI mode support"
|
|
depends on SPI
|
|
select NET_DSA_VITESSE_VSC73XX
|
|
help
|
|
This enables support for the Vitesse VSC7385, VSC7388, VSC7395
|
|
and VSC7398 SparX integrated ethernet switches in SPI managed mode.
|
|
|
|
config NET_DSA_VITESSE_VSC73XX_PLATFORM
|
|
tristate "Vitesse VSC7385/7388/7395/7398 Platform mode support"
|
|
depends on HAS_IOMEM
|
|
select NET_DSA_VITESSE_VSC73XX
|
|
help
|
|
This enables support for the Vitesse VSC7385, VSC7388, VSC7395
|
|
and VSC7398 SparX integrated ethernet switches, connected over
|
|
a CPU-attached address bus and work in memory-mapped I/O mode.
|
|
endmenu
|