130 lines
3.5 KiB
Diff
130 lines
3.5 KiB
Diff
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 openwrt 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
|
|
@@ -61,6 +61,80 @@ config SFP
|
|
depends on HWMON || HWMON=n
|
|
select MDIO_I2C
|
|
|
|
+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 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 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 AMD_PHY
|
|
--- a/drivers/net/phy/Makefile
|
|
+++ b/drivers/net/phy/Makefile
|
|
@@ -24,6 +24,19 @@ 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_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_NETWORK_PHY_TIMESTAMPING) += mii_timestamper.o
|
|
|
|
obj-$(CONFIG_SFP) += sfp.o
|
|
--- a/include/linux/platform_data/b53.h
|
|
+++ b/include/linux/platform_data/b53.h
|
|
@@ -29,6 +29,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;
|