mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			131 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			131 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/8327 switches"
 | |
| +	select SWCONFIG
 | |
| +	select ETHERNET_PACKET_MANGLE
 | |
| +
 | |
| +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
 | |
| +
 | |
| +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,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)	+= ar8xxx.o
 | |
| +ar8xxx-y			+= ar8216.o
 | |
| +ar8xxx-y			+= 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;
 |