Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05bd97fc authored by Linus Walleij's avatar Linus Walleij Committed by David S. Miller
Browse files

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: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 975ae7c6
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -76,4 +76,15 @@ config NET_DSA_SMSC_LAN9303_MDIO
	  Enable access functions if the SMSC/Microchip LAN9303 is configured
	  for MDIO managed mode.

config NET_DSA_VITESSE_VSC73XX
	tristate "Vitesse VSC7385/7388/7395/7398 support"
	depends on OF && SPI
	depends on NET_DSA
	select FIXED_PHY
	select VITESSE_PHY
	select GPIOLIB
	---help---
	  This enables support for the Vitesse VSC7385, VSC7388,
	  VSC7395 and VSC7398 SparX integrated ethernet switches.

endmenu
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ obj-$(CONFIG_NET_DSA_QCA8K) += qca8k.o
obj-$(CONFIG_NET_DSA_SMSC_LAN9303) += lan9303-core.o
obj-$(CONFIG_NET_DSA_SMSC_LAN9303_I2C) += lan9303_i2c.o
obj-$(CONFIG_NET_DSA_SMSC_LAN9303_MDIO) += lan9303_mdio.o
obj-$(CONFIG_NET_DSA_VITESSE_VSC73XX) += vitesse-vsc73xx.o
obj-y				+= b53/
obj-y				+= microchip/
obj-y				+= mv88e6xxx/
+1364 −0

File added.

Preview size limit exceeded, changes collapsed.