Skip to content

Commit 05bd97f

Browse files
linuswdavem330
authored andcommitted
net: dsa: Add Vitesse VSC73xx DSA router driver
This adds a DSA driver for: Vitesse VSC7385 SparX-G5 5-port Integrated Gigabit Ethernet Switch Vitesse VSC7388 SparX-G8 8-port Integrated Gigabit Ethernet Switch Vitesse VSC7395 SparX-G5e 5+1-port Integrated Gigabit Ethernet Switch Vitesse VSC7398 SparX-G8e 8-port Integrated Gigabit Ethernet Switch These switches have a built-in 8051 CPU and can download and execute firmware in this CPU. They can also be configured to use an external CPU handling the switch in a memory-mapped manner by connecting to that external CPU's memory bus. This driver (currently) only takes control of the switch chip over SPI and configures it to route packages around when connected to a CPU port. The chip has embedded PHYs and VLAN support so we model it using DSA as a best fit so we can easily add VLAN support and maybe later also exploit the internal frame header to get more direct control over the switch. The four built-in GPIO lines are exposed using a standard GPIO chip. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 975ae7c commit 05bd97f

File tree

3 files changed

+1376
-0
lines changed

3 files changed

+1376
-0
lines changed

drivers/net/dsa/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,15 @@ config NET_DSA_SMSC_LAN9303_MDIO
7676
Enable access functions if the SMSC/Microchip LAN9303 is configured
7777
for MDIO managed mode.
7878

79+
config NET_DSA_VITESSE_VSC73XX
80+
tristate "Vitesse VSC7385/7388/7395/7398 support"
81+
depends on OF && SPI
82+
depends on NET_DSA
83+
select FIXED_PHY
84+
select VITESSE_PHY
85+
select GPIOLIB
86+
---help---
87+
This enables support for the Vitesse VSC7385, VSC7388,
88+
VSC7395 and VSC7398 SparX integrated ethernet switches.
89+
7990
endmenu

drivers/net/dsa/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ obj-$(CONFIG_NET_DSA_QCA8K) += qca8k.o
1111
obj-$(CONFIG_NET_DSA_SMSC_LAN9303) += lan9303-core.o
1212
obj-$(CONFIG_NET_DSA_SMSC_LAN9303_I2C) += lan9303_i2c.o
1313
obj-$(CONFIG_NET_DSA_SMSC_LAN9303_MDIO) += lan9303_mdio.o
14+
obj-$(CONFIG_NET_DSA_VITESSE_VSC73XX) += vitesse-vsc73xx.o
1415
obj-y += b53/
1516
obj-y += microchip/
1617
obj-y += mv88e6xxx/

0 commit comments

Comments
 (0)