switch: add support for BCM53125
SVN-Revision: 35586
This commit is contained in:
parent
446414f367
commit
17c18e23ab
1 changed files with 14 additions and 3 deletions
|
@ -63,6 +63,7 @@
|
||||||
#define ROBO_DEVICE_ID_5397 0x97
|
#define ROBO_DEVICE_ID_5397 0x97
|
||||||
#define ROBO_DEVICE_ID_5398 0x98
|
#define ROBO_DEVICE_ID_5398 0x98
|
||||||
#define ROBO_DEVICE_ID_53115 0x3115
|
#define ROBO_DEVICE_ID_53115 0x3115
|
||||||
|
#define ROBO_DEVICE_ID_53125 0x3125
|
||||||
|
|
||||||
/* Private et.o ioctls */
|
/* Private et.o ioctls */
|
||||||
#define SIOCGETCPHYRD (SIOCDEVPRIVATE + 9)
|
#define SIOCGETCPHYRD (SIOCDEVPRIVATE + 9)
|
||||||
|
@ -248,6 +249,13 @@ static int robo_switch_enable(void)
|
||||||
robo_write16(ROBO_CTRL_PAGE, ROBO_IM_PORT_CTRL, 0);
|
robo_write16(ROBO_CTRL_PAGE, ROBO_IM_PORT_CTRL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (robo.devid == ROBO_DEVICE_ID_53125) {
|
||||||
|
/* Make IM port status link by default */
|
||||||
|
val = robo_read16(ROBO_CTRL_PAGE, ROBO_PORT_OVERRIDE_CTRL) | 0xb1;
|
||||||
|
robo_write16(ROBO_CTRL_PAGE, ROBO_PORT_OVERRIDE_CTRL, val);
|
||||||
|
// TODO: init EEE feature
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_BCM47XX
|
#ifdef CONFIG_BCM47XX
|
||||||
/* WAN port LED, except for Netgear WGT634U */
|
/* WAN port LED, except for Netgear WGT634U */
|
||||||
if (bcm47xx_nvram_getenv("nvram_type", buf, sizeof(buf)) >= 0) {
|
if (bcm47xx_nvram_getenv("nvram_type", buf, sizeof(buf)) >= 0) {
|
||||||
|
@ -486,7 +494,8 @@ static int handle_vlan_port_read_new(switch_driver *d, char *buf, int nr)
|
||||||
int j;
|
int j;
|
||||||
|
|
||||||
if ((robo.devid == ROBO_DEVICE_ID_5395) ||
|
if ((robo.devid == ROBO_DEVICE_ID_5395) ||
|
||||||
(robo.devid == ROBO_DEVICE_ID_53115)) {
|
(robo.devid == ROBO_DEVICE_ID_53115) ||
|
||||||
|
(robo.devid == ROBO_DEVICE_ID_53125)) {
|
||||||
vtbl_access = ROBO_VTBL_ACCESS_5395;
|
vtbl_access = ROBO_VTBL_ACCESS_5395;
|
||||||
vtbl_index = ROBO_VTBL_INDX_5395;
|
vtbl_index = ROBO_VTBL_INDX_5395;
|
||||||
vtbl_entry = ROBO_VTBL_ENTRY_5395;
|
vtbl_entry = ROBO_VTBL_ENTRY_5395;
|
||||||
|
@ -557,7 +566,8 @@ static void handle_vlan_port_write_new(switch_driver *d, switch_vlan_config *c,
|
||||||
|
|
||||||
/* write config now */
|
/* write config now */
|
||||||
if ((robo.devid == ROBO_DEVICE_ID_5395) ||
|
if ((robo.devid == ROBO_DEVICE_ID_5395) ||
|
||||||
(robo.devid == ROBO_DEVICE_ID_53115)) {
|
(robo.devid == ROBO_DEVICE_ID_53115) ||
|
||||||
|
(robo.devid == ROBO_DEVICE_ID_53125)) {
|
||||||
vtbl_access = ROBO_VTBL_ACCESS_5395;
|
vtbl_access = ROBO_VTBL_ACCESS_5395;
|
||||||
vtbl_index = ROBO_VTBL_INDX_5395;
|
vtbl_index = ROBO_VTBL_INDX_5395;
|
||||||
vtbl_entry = ROBO_VTBL_ENTRY_5395;
|
vtbl_entry = ROBO_VTBL_ENTRY_5395;
|
||||||
|
@ -741,7 +751,8 @@ static void handle_reset_new(switch_driver *d, char *buf, int nr)
|
||||||
__u8 vtbl_entry, vtbl_index, vtbl_access;
|
__u8 vtbl_entry, vtbl_index, vtbl_access;
|
||||||
|
|
||||||
if ((robo.devid == ROBO_DEVICE_ID_5395) ||
|
if ((robo.devid == ROBO_DEVICE_ID_5395) ||
|
||||||
(robo.devid == ROBO_DEVICE_ID_53115)) {
|
(robo.devid == ROBO_DEVICE_ID_53115) ||
|
||||||
|
(robo.devid == ROBO_DEVICE_ID_53125)) {
|
||||||
vtbl_access = ROBO_VTBL_ACCESS_5395;
|
vtbl_access = ROBO_VTBL_ACCESS_5395;
|
||||||
vtbl_index = ROBO_VTBL_INDX_5395;
|
vtbl_index = ROBO_VTBL_INDX_5395;
|
||||||
vtbl_entry = ROBO_VTBL_ENTRY_5395;
|
vtbl_entry = ROBO_VTBL_ENTRY_5395;
|
||||||
|
|
Loading…
Reference in a new issue