generic: add driver for the RTL8367R/M switches

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29678 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Gabor Juhos 2012-01-07 19:36:31 +00:00
parent 7005c737ab
commit dcb14852cf
8 changed files with 1955 additions and 0 deletions

View File

@ -2076,6 +2076,7 @@ CONFIG_RTC_LIB=y
# CONFIG_RTL8192SU is not set # CONFIG_RTL8192SU is not set
# CONFIG_RTL8192U is not set # CONFIG_RTL8192U is not set
# CONFIG_RTL8306_PHY is not set # CONFIG_RTL8306_PHY is not set
# CONFIG_RTL8367_PHY is not set
# CONFIG_RTL8366RB_PHY is not set # CONFIG_RTL8366RB_PHY is not set
# CONFIG_RTL8366S_PHY is not set # CONFIG_RTL8366S_PHY is not set
# CONFIG_RTL8366S_PHY_DEBUG_FS is not set # CONFIG_RTL8366S_PHY_DEBUG_FS is not set

View File

@ -2065,6 +2065,7 @@ CONFIG_RTC_LIB=y
# CONFIG_RTL8192E is not set # CONFIG_RTL8192E is not set
# CONFIG_RTL8192U is not set # CONFIG_RTL8192U is not set
# CONFIG_RTL8306_PHY is not set # CONFIG_RTL8306_PHY is not set
# CONFIG_RTL8367_PHY is not set
# CONFIG_RTL8366RB_PHY is not set # CONFIG_RTL8366RB_PHY is not set
# CONFIG_RTL8366S_PHY is not set # CONFIG_RTL8366S_PHY is not set
# CONFIG_RTL8366S_PHY_DEBUG_FS is not set # CONFIG_RTL8366S_PHY_DEBUG_FS is not set

View File

@ -2081,6 +2081,7 @@ CONFIG_RTC_LIB=y
# CONFIG_RTL8192E is not set # CONFIG_RTL8192E is not set
# CONFIG_RTL8192U is not set # CONFIG_RTL8192U is not set
# CONFIG_RTL8306_PHY is not set # CONFIG_RTL8306_PHY is not set
# CONFIG_RTL8367_PHY is not set
# CONFIG_RTL8366RB_PHY is not set # CONFIG_RTL8366RB_PHY is not set
# CONFIG_RTL8366S_PHY is not set # CONFIG_RTL8366S_PHY is not set
# CONFIG_RTL8366S_PHY_DEBUG_FS is not set # CONFIG_RTL8366S_PHY_DEBUG_FS is not set

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,58 @@
/*
* Platform data definition for the Realtek RTL8367 ethernet switch driver
*
* Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#ifndef _RTL8367_H
#define _RTL8367_H
#define RTL8367_DRIVER_NAME "rtl8367"
enum rtl8367_port_speed {
RTL8367_PORT_SPEED_10 = 0,
RTL8367_PORT_SPEED_100,
RTL8367_PORT_SPEED_1000,
};
struct rtl8367_port_ability {
int force_mode;
int nway;
int txpause;
int rxpause;
int link;
int duplex;
enum rtl8367_port_speed speed;
};
enum rtl8367_extif_mode {
RTL8367_EXTIF_MODE_DISABLED = 0,
RTL8367_EXTIF_MODE_RGMII,
RTL8367_EXTIF_MODE_MII_MAC,
RTL8367_EXTIF_MODE_MII_PHY,
RTL8367_EXTIF_MODE_TMII_MAC,
RTL8367_EXTIF_MODE_TMII_PHY,
RTL8367_EXTIF_MODE_GMII,
RTL8367_EXTIF_MODE_RGMII_33V,
};
struct rtl8367_extif_config {
unsigned int txdelay;
unsigned int rxdelay;
enum rtl8367_extif_mode mode;
struct rtl8367_port_ability ability;
};
struct rtl8367_platform_data {
unsigned gpio_sda;
unsigned gpio_sck;
struct rtl8367_extif_config *extif0_cfg;
struct rtl8367_extif_config *extif1_cfg;
};
#endif /* _RTL8367_H */

View File

@ -0,0 +1,23 @@
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -175,6 +175,10 @@ 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 RTL8366S_PHY_DEBUG_FS
bool "RTL8366 switch driver DEBUG_FS support"
depends on RTL8366S_PHY || RTL8366RB_PHY
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -23,6 +23,7 @@ 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_LSI_ET1011C_PHY) += et1011c.o
obj-$(CONFIG_FIXED_PHY) += fixed.o
obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o

View File

@ -0,0 +1,23 @@
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -179,6 +179,10 @@ 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 RTL8366S_PHY_DEBUG_FS
bool "RTL8366 switch driver DEBUG_FS support"
depends on RTL8366S_PHY || RTL8366RB_PHY
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -23,6 +23,7 @@ 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_LSI_ET1011C_PHY) += et1011c.o
obj-$(CONFIG_FIXED_PHY) += fixed.o
obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o

View File

@ -0,0 +1,23 @@
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -179,6 +179,10 @@ 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 RTL8366S_PHY_DEBUG_FS
bool "RTL8366 switch driver DEBUG_FS support"
depends on RTL8366S_PHY || RTL8366RB_PHY
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
@@ -23,6 +23,7 @@ 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_LSI_ET1011C_PHY) += et1011c.o
obj-$(CONFIG_FIXED_PHY) += fixed.o
obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o