mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 14:13:16 +00:00
5a2eb8082f
Add PHY driver for Airoha EN8811H PHY and package it as kernel module. The PHY needs to load firmware from rootfs, so there is no point in having the driver built-into the kernel. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
132 lines
3.5 KiB
Diff
132 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
|
|
@@ -67,6 +67,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 AIR_EN8811H_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;
|