123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- From 36e516290611e613aa92996cb4339561452695b4 Mon Sep 17 00:00:00 2001
- From: Felix Fietkau <nbd@nbd.name>
- Date: Fri, 7 Jul 2017 17:24:23 +0200
- Subject: net: swconfig: adds librecmc switch layer
- Signed-off-by: Felix Fietkau <nbd@nbd.name>
- ---
- drivers/net/phy/Kconfig | 83 +++++++++++++++++++++++++++++++++++++++++++++++
- drivers/net/phy/Makefile | 15 +++++++++
- include/uapi/linux/Kbuild | 1 +
- 3 files changed, 99 insertions(+)
- --- a/drivers/net/phy/Kconfig
- +++ b/drivers/net/phy/Kconfig
- @@ -199,6 +199,89 @@ config LED_TRIGGER_PHY
- <Speed in megabits>Mbps or <Speed in gigabits>Gbps
-
-
- +comment "Switch configuration API + drivers"
- +
- +config SWCONFIG
- + tristate "Switch configuration API"
- + ---help---
- + Switch configuration API using netlink. This allows
- + you to configure the VLAN features of certain switches.
- +
- +config SWCONFIG_LEDS
- + bool "Switch LED trigger support"
- + depends on (SWCONFIG && LEDS_TRIGGERS)
- +
- +config ADM6996_PHY
- + tristate "Driver for ADM6996 switches"
- + select SWCONFIG
- + ---help---
- + Currently supports the ADM6996FC and ADM6996M switches.
- + Support for FC is very limited.
- +
- +config AR8216_PHY
- + tristate "Driver for Atheros AR8216 switches"
- + select ETHERNET_PACKET_MANGLE
- + select SWCONFIG
- +
- +config AR8216_PHY_LEDS
- + bool "Atheros AR8216 switch LED support"
- + depends on (AR8216_PHY && LEDS_CLASS)
- +
- +source "drivers/net/phy/b53/Kconfig"
- +
- +config IP17XX_PHY
- + tristate "Driver for IC+ IP17xx switches"
- + select SWCONFIG
- +
- +config MVSWITCH_PHY
- + tristate "Driver for Marvell 88E6060 switches"
- + select ETHERNET_PACKET_MANGLE
- +
- +config MVSW61XX_PHY
- + tristate "Driver for Marvell 88E6171/6172 switches"
- + select SWCONFIG
- +
- +config PSB6970_PHY
- + tristate "Lantiq XWAY Tantos (PSB6970) Ethernet switch"
- + select SWCONFIG
- + select ETHERNET_PACKET_MANGLE
- +
- +config RTL8306_PHY
- + tristate "Driver for Realtek RTL8306S switches"
- + select SWCONFIG
- +
- +config RTL8366_SMI
- + tristate "Driver for the RTL8366 SMI interface"
- + depends on GPIOLIB
- + ---help---
- + This module implements the SMI interface protocol which is used
- + by some RTL8366 ethernet switch devices via the generic GPIO API.
- +
- +if RTL8366_SMI
- +
- +config RTL8366_SMI_DEBUG_FS
- + bool "RTL8366 SMI interface debugfs support"
- + depends on DEBUG_FS
- + default n
- +
- +config RTL8366S_PHY
- + tristate "Driver for the Realtek RTL8366S switch"
- + select SWCONFIG
- +
- +config RTL8366RB_PHY
- + tristate "Driver for the Realtek RTL8366RB switch"
- + select SWCONFIG
- +
- +config RTL8367_PHY
- + tristate "Driver for the Realtek RTL8367R/M switches"
- + select SWCONFIG
- +
- +config RTL8367B_PHY
- + tristate "Driver fot the Realtek RTL8367R-VB switch"
- + select SWCONFIG
- +
- +endif # RTL8366_SMI
- +
- comment "MII PHY device drivers"
-
- config SFP
- --- a/drivers/net/phy/Makefile
- +++ b/drivers/net/phy/Makefile
- @@ -22,6 +22,21 @@ libphy-$(CONFIG_LED_TRIGGER_PHY) += phy_
- obj-$(CONFIG_PHYLINK) += phylink.o
- obj-$(CONFIG_PHYLIB) += libphy.o
-
- +obj-$(CONFIG_SWCONFIG) += swconfig.o
- +obj-$(CONFIG_ADM6996_PHY) += adm6996.o
- +obj-$(CONFIG_AR8216_PHY) += ar8216.o ar8327.o
- +obj-$(CONFIG_SWCONFIG_B53) += b53/
- +obj-$(CONFIG_IP17XX_PHY) += ip17xx.o
- +obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o
- +obj-$(CONFIG_MVSW61XX_PHY) += mvsw61xx.o
- +obj-$(CONFIG_PSB6970_PHY) += psb6970.o
- +obj-$(CONFIG_RTL8306_PHY) += rtl8306.o
- +obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi.o
- +obj-$(CONFIG_RTL8366S_PHY) += rtl8366s.o
- +obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb.o
- +obj-$(CONFIG_RTL8367_PHY) += rtl8367.o
- +obj-$(CONFIG_RTL8367B_PHY) += rtl8367b.o
- +
- obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o
- obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o
- obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
- --- a/include/linux/platform_data/b53.h
- +++ b/include/linux/platform_data/b53.h
- @@ -25,6 +25,9 @@ struct b53_platform_data {
- u32 chip_id;
- u16 enabled_ports;
-
- + /* allow to specify an ethX alias */
- + const char *alias;
- +
- /* only used by MMAP'd driver */
- unsigned big_endian:1;
- void __iomem *regs;
|