mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
0b2c1d8b9a
ath25 requires a 88E6060 driver to support boards such as Fonera 2.0g (FON2202). The swconfig based mvswitch driver has not yet been ported to the 5.10 kernel as the only user is the ath25 target while all other targets have been switched to the upstream DSA implementation. Switching ath25 to the DSA implementation is a complex task, since we need either per-board platform data or DTS support. ath25 lacks both of them and builds only a single generic image. So we need to keep the swconfig driver implementation to easly and quickly port ath25 to the 5.10 kernel. Since porting the mvswitch driver to 5.10 as a generic driver is not an option, and since the ath25 is its only user, make mvswitch a target specific driver to be able to port it to the 5.10 kernel as part of the kernel version update of the target. This will allow us quickly migrate to the next kernel version and not delay the next firmware release. Suggested-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
131 lines
3.6 KiB
Diff
131 lines
3.6 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
|
|
@@ -250,6 +250,81 @@ config LED_TRIGGER_PHY
|
|
for any speed known to the PHY.
|
|
|
|
|
|
+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 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,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_MDIO_ASPEED) += mdio-aspeed.o
|
|
obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o
|
|
obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.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;
|