diff options
-rw-r--r-- | package/kernel/broadcom-diag/src/diag.c | 743 |
1 files changed, 2 insertions, 741 deletions
diff --git a/package/kernel/broadcom-diag/src/diag.c b/package/kernel/broadcom-diag/src/diag.c index e39f5b4143..81fb649bfb 100644 --- a/package/kernel/broadcom-diag/src/diag.c +++ b/package/kernel/broadcom-diag/src/diag.c @@ -75,55 +75,18 @@ enum { WAP54GV3, WRT54GV1, WRT54G, - WRTSL54GS, WRT54G3G, - WRT54G3GV2_VF, - WRT150NV1, - WRT150NV11, - WRT160NV1, - WRT160NV3, - WRT300NV11, - WRT310NV1, WRT350N, WRT600N, WRT600NV11, - WRT610N, - WRT610NV2, - E1000V1, - E1000V21, - E2000V1, - E3000V1, - E3200V1, - E4200V1, /* ASUS */ - WLHDD, - WL300G, - WL320GE, - WL330GE, WL500G, - WL500GD, - WL500GP, - WL500GPV2, - WL500W, - WL520GC, - WL520GU, ASUS_4702, - WL700GE, - RTN12, - RTN16, - RTN66U, /* Buffalo */ WBR2_G54, - WHR_G54S, - WHR_HP_G54, - WHR_G125, - WHR2_A54G54, WLA2_G54L, - WZR_G300N, - WZR_RS_G54, - WZR_RS_G54HP, BUFFALO_UNKNOWN_4710, /* Siemens */ @@ -134,23 +97,14 @@ enum { USR5461, /* Dell */ - TM2300, TM2300V2, /* Motorola */ - WE800G, WR850GV1, - WR850GV2V3, - WR850GP, - - /* Belkin */ - BELKIN_F7D4301, /* Netgear */ WGT634U, WNR834BV1, - WNR834BV2, - WNDR3400V1, WNDR3700V3, /* Trendware */ @@ -160,9 +114,7 @@ enum { STI_NAS, /* D-Link */ - DIR130, DIR320, - DIR330, DWL3150, /* Sitecom */ @@ -184,7 +136,6 @@ enum { PS1208MFG, /* Huawei */ - HUAWEI_E970, }; static void __init bcm4780_init(void) { @@ -216,15 +167,6 @@ static void __init NetCenter_init(void) { bcm4780_init(); } -static void __init bcm57xx_init(void) { - int pin = 1 << 2; - - /* FIXME: switch comes up, but port mappings/vlans not right */ - bcm47xx_gpio_outen(pin, pin); - bcm47xx_gpio_control(pin, 0); - bcm47xx_gpio_out(pin, pin); -} - static struct platform_t __initdata platforms[] = { /* Linksys */ [WAP54GV1] = { @@ -283,19 +225,6 @@ static struct platform_t __initdata platforms[] = { { .name = "wlan", .gpio = 1 << 0, .polarity = REVERSE }, }, }, - [WRTSL54GS] = { - .name = "Linksys WRTSL54GS", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "ses", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "dmz", .gpio = 1 << 0, .polarity = REVERSE }, - { .name = "ses_white", .gpio = 1 << 5, .polarity = REVERSE }, - { .name = "ses_orange", .gpio = 1 << 7, .polarity = REVERSE }, - }, - }, [WRT54G3G] = { .name = "Linksys WRT54G3G", .buttons = { @@ -310,91 +239,6 @@ static struct platform_t __initdata platforms[] = { { .name = "3g_blink", .gpio = 1 << 5, .polarity = NORMAL }, }, }, - [WRT54G3GV2_VF] = { - .name = "Linksys WRT54G3GV2-VF", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "3g", .gpio = 1 << 5 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "3g_green", .gpio = 1 << 2, .polarity = NORMAL }, - { .name = "3g_blue", .gpio = 1 << 3, .polarity = NORMAL }, - }, - }, - [WRT150NV1] = { - .name = "Linksys WRT150N V1", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "ses", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "ses_green", .gpio = 1 << 5, .polarity = REVERSE }, - { .name = "ses_amber", .gpio = 1 << 3, .polarity = REVERSE }, - }, - }, - [WRT150NV11] = { - .name = "Linksys WRT150N V1.1", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "ses", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "ses_green", .gpio = 1 << 5, .polarity = REVERSE }, - { .name = "ses_amber", .gpio = 1 << 3, .polarity = REVERSE }, - }, - }, - [WRT160NV1] = { - .name = "Linksys WRT160N v1.x", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "ses", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "ses_blue", .gpio = 1 << 5, .polarity = REVERSE }, - { .name = "ses_orange", .gpio = 1 << 3, .polarity = REVERSE }, - }, - }, - [WRT160NV3] = { - .name = "Linksys WRT160N V3", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "ses", .gpio = 1 << 5 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "ses_blue", .gpio = 1 << 4, .polarity = REVERSE }, - { .name = "ses_orange", .gpio = 1 << 2, .polarity = REVERSE }, - }, - }, - [WRT300NV11] = { - .name = "Linksys WRT300N V1.1", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, // "Reset" on back panel - { .name = "ses", .gpio = 1 << 4 }, // "Reserved" on top panel - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, // "Power" - { .name = "ses_amber", .gpio = 1 << 3, .polarity = REVERSE }, // "Security" Amber - { .name = "ses_green", .gpio = 1 << 5, .polarity = REVERSE }, // "Security" Green - }, - .platform_init = bcm57xx_init, - }, - [WRT310NV1] = { - .name = "Linksys WRT310N V1", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, // "Reset" on back panel - { .name = "ses", .gpio = 1 << 8 }, // "Reserved" on top panel - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, // Power LED - { .name = "ses_amber", .gpio = 1 << 3, .polarity = REVERSE }, // "Security" Amber - { .name = "ses_blue", .gpio = 1 << 9, .polarity = REVERSE }, // "Security" Blue - }, - }, [WRT350N] = { .name = "Linksys WRT350N", .buttons = { @@ -408,7 +252,6 @@ static struct platform_t __initdata platforms[] = { { .name = "usb_blink", .gpio = 1 << 10, .polarity = REVERSE }, { .name = "usb", .gpio = 1 << 11, .polarity = REVERSE }, }, - .platform_init = bcm57xx_init, }, [WRT600N] = { .name = "Linksys WRT600N", @@ -424,7 +267,6 @@ static struct platform_t __initdata platforms[] = { { .name = "wl1_ses_amber", .gpio = 1 << 10, .polarity = REVERSE }, // 5.6Ghz LED Amber { .name = "wl1_ses_green", .gpio = 1 << 11, .polarity = REVERSE }, // 5.6Ghz LED Green }, - .platform_init = bcm57xx_init, }, [WRT600NV11] = { .name = "Linksys WRT600N V1.1", @@ -440,156 +282,8 @@ static struct platform_t __initdata platforms[] = { { .name = "wl1_ses_amber", .gpio = 1 << 10, .polarity = REVERSE }, // 5.6Ghz LED Amber { .name = "wl1_ses_green", .gpio = 1 << 11, .polarity = REVERSE }, // 5.6Ghz LED Green }, - .platform_init = bcm57xx_init, - }, - [WRT610N] = { - .name = "Linksys WRT610N", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "ses", .gpio = 1 << 8 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, // Power LED - { .name = "usb", .gpio = 1 << 0, .polarity = REVERSE }, // USB LED - { .name = "ses_amber", .gpio = 1 << 3, .polarity = REVERSE }, // WiFi protected setup LED amber - { .name = "ses_blue", .gpio = 1 << 9, .polarity = REVERSE }, // WiFi protected setup LED blue - }, - }, - [WRT610NV2] = { - .name = "Linksys WRT610N V2", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "ses", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 5, .polarity = NORMAL }, // Power LED - { .name = "usb", .gpio = 1 << 7, .polarity = NORMAL }, // USB LED - { .name = "ses_amber", .gpio = 1 << 0, .polarity = REVERSE }, // WiFi protected setup LED amber - { .name = "ses_blue", .gpio = 1 << 3, .polarity = REVERSE }, // WiFi protected setup LED blue - { .name = "wlan", .gpio = 1 << 1, .polarity = NORMAL }, // Wireless LED - }, - }, - /* same hardware as WRT160NV3 and Cisco Valet M10V1, but different board detection, combine? */ - [E1000V1] = { - .name = "Linksys E1000 V1", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "wps", .gpio = 1 << 5 }, /* nvram get gpio5=wps_button */ - }, - .leds = { - /** turns on leds for all ethernet ports (wan too) - * this also disconnects some, or maybe all, ethernet ports - * 1: leds work normally - * 0: all lit all the time */ - /* nvram get gpio3=robo_reset */ - { .name = "wlan", .gpio = 1 << 0, .polarity = NORMAL }, - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "ses_blue", .gpio = 1 << 4, .polarity = REVERSE }, /* nvram get gpio4=wps_led */ - { .name = "ses_orange", .gpio = 1 << 2, .polarity = REVERSE }, /* nvram get gpio2=wps_status_led */ - }, - }, - [E1000V21] = { - .name = "Linksys E1000 V2.1", - .buttons = { - { .name = "reset", .gpio = 1 << 10 }, /* nvram get reset_gpio=10 */ - { .name = "wps", .gpio = 1 << 9 }, /* nvram get gpio9=wps_button */ - }, - .leds = { - { .name = "power", .gpio = 1 << 6, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 5, .polarity = NORMAL }, - { .name = "ses_blue", .gpio = 1 << 8, .polarity = NORMAL }, /* nvram get gpio8=wps_led */ - { .name = "ses_orange", .gpio = 1 << 7, .polarity = NORMAL }, /* nvram get gpio7=wps_status_led */ - }, - }, - [E2000V1] = { - .name = "Linksys E2000 V1", - .buttons = { - { .name = "reset", .gpio = 1 << 8 }, - { .name = "ses", .gpio = 1 << 5 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 2, .polarity = NORMAL }, - { .name = "ses_amber", .gpio = 1 << 4, .polarity = REVERSE }, - { .name = "ses_blue", .gpio = 1 << 3, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 1, .polarity = NORMAL }, - }, - }, - [E3000V1] = { - .name = "Linksys E3000 V1", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "ses", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 5, .polarity = NORMAL }, // Power LED - { .name = "usb", .gpio = 1 << 7, .polarity = NORMAL }, // USB LED - { .name = "ses_amber", .gpio = 1 << 0, .polarity = REVERSE }, // WiFi protected setup LED amber - { .name = "ses_blue", .gpio = 1 << 3, .polarity = REVERSE }, // WiFi protected setup LED blue - { .name = "wlan", .gpio = 1 << 1, .polarity = NORMAL }, // Wireless LED - }, - }, - [E3200V1] = { - .name = "Linksys E3200 V1", - .buttons = { - /* { .name = "switch", .gpio = 1 << 4 },*/ /* nvram get gpio4=robo_reset */ - { .name = "reset", .gpio = 1 << 5 }, /* nvram get reset_gpio=5 */ - { .name = "wps", .gpio = 1 << 8 }, /* nvram get gpio8=wps_button */ - /* { .name = "wombo", .gpio = 1 << 23 },*/ /* nvram get gpio23=wombo_reset - wireless on motherboard */ - }, - .leds = { - { .name = "power", .gpio = 1 << 3, .polarity = REVERSE }, /* Power LED */ - }, - }, - [E4200V1] = { - .name = "Linksys E4200 V1", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "wps", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 5, .polarity = REVERSE }, - }, }, /* Asus */ - [WLHDD] = { - .name = "ASUS WL-HDD", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, - { .name = "usb", .gpio = 1 << 2, .polarity = REVERSE }, - }, - }, - [WL300G] = { - .name = "ASUS WL-300g", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, - }, - }, - [WL320GE] = { - .name = "ASUS WL-320gE/WL-320gP", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - }, - .leds = { - { .name = "wlan", .gpio = 1 << 0, .polarity = REVERSE }, - { .name = "power", .gpio = 1 << 2, .polarity = REVERSE }, - { .name = "link", .gpio = 1 << 11, .polarity = REVERSE }, - }, - }, - [WL330GE] = { - .name = "ASUS WL-330gE", - .buttons = { - { .name = "reset", .gpio = 1 << 2 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, - }, - }, [WL500G] = { .name = "ASUS WL-500g", .buttons = { @@ -599,68 +293,6 @@ static struct platform_t __initdata platforms[] = { { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, }, }, - [WL500GD] = { - .name = "ASUS WL-500g Deluxe", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, - }, - }, - [WL500GP] = { - .name = "ASUS WL-500g Premium", - .buttons = { - { .name = "reset", .gpio = 1 << 0 }, - { .name = "ses", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = REVERSE }, - }, - }, - [WL500GPV2] = { - .name = "ASUS WL-500g Premium V2", - .buttons = { - { .name = "reset", .gpio = 1 << 2 }, - { .name = "ses", .gpio = 1 << 3 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 1, .polarity = REVERSE }, - }, - }, - [WL500W] = { - .name = "ASUS WL-500W", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "ses", .gpio = 1 << 7 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 5, .polarity = REVERSE }, - }, - }, - [WL520GC] = { - .name = "ASUS WL-520GC", - .buttons = { - { .name = "reset", .gpio = 1 << 2 }, - { .name = "ses", .gpio = 1 << 3 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 1, .polarity = REVERSE }, - }, - }, - [WL520GU] = { - .name = "ASUS WL-520gU", - .buttons = { - { .name = "reset", .gpio = 1 << 2 }, - { .name = "ses", .gpio = 1 << 3 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 1, .polarity = REVERSE }, - }, - }, [ASUS_4702] = { .name = "ASUS (unknown, BCM4702)", .buttons = { @@ -670,80 +302,7 @@ static struct platform_t __initdata platforms[] = { { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, }, }, - [WL700GE] = { - .name = "ASUS WL-700gE", - .buttons = { - { .name = "reset", .gpio = 1 << 7 }, // on back, hardwired, always resets device regardless OS state - { .name = "ses", .gpio = 1 << 4 }, // on back, actual name ezsetup - { .name = "power", .gpio = 1 << 0 }, // on front - { .name = "copy", .gpio = 1 << 6 }, // on front - }, - .leds = { -#if 0 - // GPIO that controls power led also enables/disables some essential functions - // - power to HDD - // - switch leds - { .name = "power", .gpio = 1 << 3, .polarity = NORMAL }, // actual name power -#endif - { .name = "diag", .gpio = 1 << 1, .polarity = REVERSE }, // actual name ready - }, - .platform_init = bcm4780_init, - }, - [RTN12] = { - .name = "ASUS RT-N12", - .buttons = { - { .name = "wps", .gpio = 1 << 0 }, - { .name = "reset", .gpio = 1 << 1 }, - // this is the router/repeater/ap switch - { .name = "sw1", .gpio = 1 << 4 }, - { .name = "sw2", .gpio = 1 << 5 }, - { .name = "sw3", .gpio = 1 << 6 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 2, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 7, .polarity = NORMAL }, - // gpio3 forces WAN and LAN1-4 all on - //{ .name = "eth", .gpio = 1 << 3, .polarity = REVERSE }, - }, - }, - [RTN16] = { - .name = "ASUS RT-N16", - .buttons = { - { .name = "reset", .gpio = 1 << 8 }, - { .name = "ses", .gpio = 1 << 6 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 7, .polarity = NORMAL }, - }, - }, - [RTN66U] = { - .name = "ASUS RT-N66U", - .buttons = { - { .name = "reset", .gpio = 1 << 9 }, - { .name = "wps", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 12, .polarity = REVERSE }, - { .name = "usb", .gpio = 1 << 15, .polarity = REVERSE }, - }, - }, /* Buffalo */ - [WHR_G54S] = { - .name = "Buffalo WHR-G54S", - .buttons = { - { .name = "reset", .gpio = 1 << 4 }, - { .name = "bridge", .gpio = 1 << 5 }, - { .name = "ses", .gpio = 1 << 0 }, - }, - .leds = { - { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE }, - { .name = "internal", .gpio = 1 << 3, .polarity = REVERSE }, - { .name = "ses", .gpio = 1 << 6, .polarity = REVERSE }, - { .name = "bridge", .gpio = 1 << 1, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 2, .polarity = REVERSE }, - }, - }, [WBR2_G54] = { .name = "Buffalo WBR2-G54", /* FIXME: verify */ @@ -754,45 +313,6 @@ static struct platform_t __initdata platforms[] = { { .name = "diag", .gpio = 1 << 1, .polarity = REVERSE }, }, }, - [WHR_HP_G54] = { - .name = "Buffalo WHR-HP-G54", - .buttons = { - { .name = "reset", .gpio = 1 << 4 }, - { .name = "bridge", .gpio = 1 << 5 }, - { .name = "ses", .gpio = 1 << 0 }, - }, - .leds = { - { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE }, - { .name = "internal", .gpio = 1 << 3, .polarity = REVERSE }, - { .name = "bridge", .gpio = 1 << 1, .polarity = REVERSE }, - { .name = "ses", .gpio = 1 << 6, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 2, .polarity = REVERSE }, - }, - }, - [WHR_G125] = { - .name = "Buffalo WHR-G125", - .buttons = { - { .name = "reset", .gpio = 1 << 4 }, - { .name = "bridge", .gpio = 1 << 5 }, - { .name = "ses", .gpio = 1 << 0 }, - }, - .leds = { - { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE }, - { .name = "internal", .gpio = 1 << 3, .polarity = REVERSE }, - { .name = "bridge", .gpio = 1 << 1, .polarity = REVERSE }, - { .name = "ses", .gpio = 1 << 6, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 2, .polarity = REVERSE }, - }, - }, - [WHR2_A54G54] = { - .name = "Buffalo WHR2-A54G54", - .buttons = { - { .name = "reset", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE }, - }, - }, [WLA2_G54L] = { .name = "Buffalo WLA2-G54L", /* FIXME: verify */ @@ -803,41 +323,6 @@ static struct platform_t __initdata platforms[] = { { .name = "diag", .gpio = 1 << 1, .polarity = REVERSE }, }, }, - [WZR_G300N] = { - .name = "Buffalo WZR-G300N", - .buttons = { - { .name = "reset", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE }, - { .name = "bridge", .gpio = 1 << 1, .polarity = REVERSE }, - { .name = "ses", .gpio = 1 << 6, .polarity = REVERSE }, - }, - }, - [WZR_RS_G54] = { - .name = "Buffalo WZR-RS-G54", - .buttons = { - { .name = "ses", .gpio = 1 << 0 }, - { .name = "reset", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE }, - { .name = "ses", .gpio = 1 << 6, .polarity = REVERSE }, - { .name = "vpn", .gpio = 1 << 1, .polarity = REVERSE }, - }, - }, - [WZR_RS_G54HP] = { - .name = "Buffalo WZR-RS-G54HP", - .buttons = { - { .name = "ses", .gpio = 1 << 0 }, - { .name = "reset", .gpio = 1 << 4 }, - }, - .leds = { - { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE }, - { .name = "ses", .gpio = 1 << 6, .polarity = REVERSE }, - { .name = "vpn", .gpio = 1 << 1, .polarity = REVERSE }, - }, - }, [BUFFALO_UNKNOWN_4710] = { .name = "Buffalo (unknown, BCM4710)", .buttons = { @@ -882,16 +367,6 @@ static struct platform_t __initdata platforms[] = { }, }, /* Dell */ - [TM2300] = { - .name = "Dell TrueMobile 2300", - .buttons = { - { .name = "reset", .gpio = 1 << 0 }, - }, - .leds = { - { .name = "wlan", .gpio = 1 << 6, .polarity = REVERSE }, - { .name = "power", .gpio = 1 << 7, .polarity = REVERSE }, - }, - }, [TM2300V2] = { .name = "Dell TrueMobile 2300 v2", .buttons = { @@ -903,17 +378,6 @@ static struct platform_t __initdata platforms[] = { }, }, /* Motorola */ - [WE800G] = { - .name = "Motorola WE800G", - .buttons = { - { .name = "reset", .gpio = 1 << 0 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 4, .polarity = NORMAL }, - { .name = "diag", .gpio = 1 << 2, .polarity = REVERSE }, - { .name = "wlan_amber", .gpio = 1 << 1, .polarity = NORMAL }, - }, - }, [WR850GV1] = { .name = "Motorola WR850G V1", .buttons = { @@ -927,47 +391,7 @@ static struct platform_t __initdata platforms[] = { { .name = "wlan_green", .gpio = 1 << 7, .polarity = REVERSE }, }, }, - [WR850GV2V3] = { - .name = "Motorola WR850G V2/V3", - .buttons = { - { .name = "reset", .gpio = 1 << 5 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "wlan", .gpio = 1 << 0, .polarity = REVERSE }, - { .name = "wan", .gpio = 1 << 6, .polarity = INPUT }, - { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE }, - }, - }, - [WR850GP] = { - .name = "Motorola WR850GP", - .buttons = { - { .name = "reset", .gpio = 1 << 5 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "wlan", .gpio = 1 << 0, .polarity = REVERSE }, - { .name = "dmz", .gpio = 1 << 6, .polarity = REVERSE }, - { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE }, - }, - }, - /* Belkin */ - [BELKIN_F7D4301] = { - .name = "Belkin PlayMax F7D4301", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "wps", .gpio = 1 << 8 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 10, .polarity = REVERSE }, - { .name = "warn", .gpio = 1 << 11, .polarity = REVERSE }, - { .name = "wps", .gpio = 1 << 12, .polarity = REVERSE }, - { .name = "wlan", .gpio = 1 << 13, .polarity = REVERSE }, - { .name = "usb0", .gpio = 1 << 14, .polarity = REVERSE }, - { .name = "usb1", .gpio = 1 << 15, .polarity = REVERSE }, - }, - }, /* Netgear */ [WGT634U] = { .name = "Netgear WGT634U", @@ -989,33 +413,6 @@ static struct platform_t __initdata platforms[] = { }, }, /* Netgear */ - [WNR834BV2] = { - .name = "Netgear WNR834B V2", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 2, .polarity = NORMAL }, - { .name = "diag", .gpio = 1 << 3, .polarity = NORMAL }, - { .name = "connected", .gpio = 1 << 7, .polarity = NORMAL }, - }, - }, - [WNDR3400V1] = { - .name = "Netgear WNDR3400 V1", - .buttons = { - /* nvram get gpio5=robo_reset */ - { .name = "reset", .gpio = 1 << 4 }, - { .name = "wps", .gpio = 1 << 6 }, - { .name = "wlan", .gpio = 1 << 8 }, - }, - .leds = { - { .name = "wlan", .gpio = 0 << 0, .polarity = NORMAL }, - { .name = "connected", .gpio = 1 << 0, .polarity = NORMAL }, - { .name = "power", .gpio = 1 << 3, .polarity = NORMAL }, - { .name = "diag", .gpio = 1 << 7, .polarity = NORMAL }, - { .name = "usb", .gpio = 1 << 2, .polarity = REVERSE }, - }, - }, [WNDR3700V3] = { .name = "Netgear WNDR3700 V3", .buttons = { @@ -1062,17 +459,6 @@ static struct platform_t __initdata platforms[] = { .platform_init = bcm4780_init, }, /* D-Link */ - [DIR130] = { - .name = "D-Link DIR-130", - .buttons = { - { .name = "reset", .gpio = 1 << 3}, - { .name = "reserved", .gpio = 1 << 7}, - }, - .leds = { - { .name = "diag", .gpio = 1 << 0}, - { .name = "blue", .gpio = 1 << 6}, - }, - }, [DIR320] = { .name = "D-Link DIR-320", .buttons = { @@ -1087,18 +473,6 @@ static struct platform_t __initdata platforms[] = { { .name = "usb", .gpio = 1 << 5, .polarity = NORMAL }, }, }, - [DIR330] = { - .name = "D-Link DIR-330", - .buttons = { - { .name = "reset", .gpio = 1 << 3}, - { .name = "reserved", .gpio = 1 << 7}, - }, - .leds = { - { .name = "diag", .gpio = 1 << 0}, - { .name = "usb", .gpio = 1 << 4}, - { .name = "blue", .gpio = 1 << 6}, - }, - }, [DWL3150] = { .name = "D-Link DWL-3150", .buttons = { @@ -1179,15 +553,6 @@ static struct platform_t __initdata platforms[] = { }, }, /* Huawei */ - [HUAWEI_E970] = { - .name = "Huawei E970", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - }, - .leds = { - { .name = "wlan", .gpio = 1 << 0, .polarity = NORMAL }, - }, - }, }; static struct platform_t __init *platform_detect_legacy(void) @@ -1252,8 +617,6 @@ static struct platform_t __init *platform_detect_legacy(void) if (!strcmp(boardtype,"0x0472") && !strcmp(getvar("cardbus"), "1")) { /* Netgear WNR834B V1 and V2*/ if (!strcmp(boardnum, "08") || !strcmp(boardnum, "8")) return &platforms[WNR834BV1]; - if (!strcmp(boardnum, "01") || !strcmp(boardnum, "1")) - return &platforms[WNR834BV2]; } } else { /* PMON based - old stuff */ @@ -1300,13 +663,6 @@ static struct platform_t __init *platform_detect_legacy(void) return &platforms[BUFFALO_UNKNOWN_4710]; } - if (startswith(getvar("CFEver"), "MotoWRv2") || - startswith(getvar("CFEver"), "MotoWRv3") || - !strcmp(getvar("MOTO_BOARD_TYPE"), "WR_FEM1")) { - - return &platforms[WR850GV2V3]; - } - if (!strcmp(boardnum, "44") && !strcmp(getvar("boardflags"),"0x0388")) { /* Trendware TEW-411BRP+ */ return &platforms[TEW411BRPP]; } @@ -1333,108 +689,14 @@ static struct platform_t __init *platform_detect(void) board = bcm47xx_board_get(); board_name = bcm47xx_board_get_name(); - if (board != BCM47XX_BOARD_UNKNOWN && board != BCM47XX_BOARD_NO) - printk(MODULE_NAME ": kernel found a \"%s\"\n", board_name); switch(board) { - case BCM47XX_BOARD_ASUS_RTN12: - return &platforms[RTN12]; - case BCM47XX_BOARD_ASUS_RTN16: - return &platforms[RTN16]; - case BCM47XX_BOARD_ASUS_RTN66U: - return &platforms[RTN66U]; - case BCM47XX_BOARD_ASUS_WL300G: - return &platforms[WL300G]; - case BCM47XX_BOARD_ASUS_WL320GE: - return &platforms[WL320GE]; - case BCM47XX_BOARD_ASUS_WL330GE: - return &platforms[WL330GE]; - case BCM47XX_BOARD_ASUS_WL500GD: - return &platforms[WL500GD]; - case BCM47XX_BOARD_ASUS_WL500GPV1: - return &platforms[WL500GP]; - case BCM47XX_BOARD_ASUS_WL500GPV2: - return &platforms[WL500GPV2]; - case BCM47XX_BOARD_ASUS_WL500W: - return &platforms[WL500W]; - case BCM47XX_BOARD_ASUS_WL520GC: - return &platforms[WL520GC]; - case BCM47XX_BOARD_ASUS_WL520GU: - return &platforms[WL520GU]; - case BCM47XX_BOARD_ASUS_WL700GE: - return &platforms[WL700GE]; - case BCM47XX_BOARD_ASUS_WLHDD: - return &platforms[WLHDD]; - case BCM47XX_BOARD_BELKIN_F7D4301: - return &platforms[BELKIN_F7D4301]; case BCM47XX_BOARD_BUFFALO_WBR2_G54: return &platforms[WBR2_G54]; - case BCM47XX_BOARD_BUFFALO_WHR2_A54G54: - return &platforms[WHR2_A54G54]; - case BCM47XX_BOARD_BUFFALO_WHR_G125: - return &platforms[WHR_G125]; - case BCM47XX_BOARD_BUFFALO_WHR_G54S: - return &platforms[WHR_G54S]; - case BCM47XX_BOARD_BUFFALO_WHR_HP_G54: - return &platforms[WHR_HP_G54]; case BCM47XX_BOARD_BUFFALO_WLA2_G54L: return &platforms[WLA2_G54L]; - case BCM47XX_BOARD_BUFFALO_WZR_G300N: - return &platforms[WZR_G300N]; - case BCM47XX_BOARD_BUFFALO_WZR_RS_G54: - return &platforms[WZR_RS_G54]; - case BCM47XX_BOARD_BUFFALO_WZR_RS_G54HP: - return &platforms[WZR_RS_G54HP]; - case BCM47XX_BOARD_DELL_TM2300: - return &platforms[TM2300]; - case BCM47XX_BOARD_DLINK_DIR130: - return &platforms[DIR130]; - case BCM47XX_BOARD_DLINK_DIR330: - return &platforms[DIR330]; - case BCM47XX_BOARD_HUAWEI_E970: - return &platforms[HUAWEI_E970]; - case BCM47XX_BOARD_LINKSYS_E1000V1: - return &platforms[E1000V1]; - case BCM47XX_BOARD_LINKSYS_E1000V21: - return &platforms[E1000V21]; - case BCM47XX_BOARD_LINKSYS_E2000V1: - return &platforms[E2000V1]; - case BCM47XX_BOARD_LINKSYS_E3000V1: - return &platforms[E3000V1]; - case BCM47XX_BOARD_LINKSYS_E3200V1: - return &platforms[E3200V1]; - case BCM47XX_BOARD_LINKSYS_E4200V1: - return &platforms[E4200V1]; - case BCM47XX_BOARD_LINKSYS_WRT150NV1: - return &platforms[WRT150NV1]; - case BCM47XX_BOARD_LINKSYS_WRT150NV11: - return &platforms[WRT150NV11]; - case BCM47XX_BOARD_LINKSYS_WRT160NV1: - return &platforms[WRT160NV1]; - case BCM47XX_BOARD_LINKSYS_WRT160NV3: - return &platforms[WRT160NV3]; - case BCM47XX_BOARD_LINKSYS_WRT300NV11: - return &platforms[WRT300NV11]; - case BCM47XX_BOARD_LINKSYS_WRT310NV1: - return &platforms[WRT310NV1]; case BCM47XX_BOARD_LINKSYS_WRT54GSV1: return &platforms[WRT54G]; - case BCM47XX_BOARD_LINKSYS_WRT54G3GV2: - return &platforms[WRT54G3GV2_VF]; - case BCM47XX_BOARD_LINKSYS_WRT610NV1: - return &platforms[WRT610N]; - case BCM47XX_BOARD_LINKSYS_WRT610NV2: - return &platforms[WRT610NV2]; - case BCM47XX_BOARD_LINKSYS_WRTSL54GS: - return &platforms[WRTSL54GS]; - case BCM47XX_BOARD_MOTOROLA_WE800G: - return &platforms[WE800G]; - case BCM47XX_BOARD_MOTOROLA_WR850GP: - return &platforms[WR850GP]; - case BCM47XX_BOARD_MOTOROLA_WR850GV2V3: - return &platforms[WR850GV2V3]; - case BCM47XX_BOARD_NETGEAR_WNDR3400V1: - return &platforms[WNDR3400V1]; case BCM47XX_BOARD_NETGEAR_WNDR3700V3: return &platforms[WNDR3700V3]; case BCM47XX_BOARD_UNKNOWN: @@ -1443,9 +705,8 @@ static struct platform_t __init *platform_detect(void) printk(MODULE_NAME ": please open a ticket at https://dev.openwrt.org and attach the complete nvram\n"); return platform_detect_legacy(); default: - printk(MODULE_NAME ": board was detected as \"%s\", but not gpio configuration available\n", board_name); - printk(MODULE_NAME ": now trying legacy detect\n"); - return platform_detect_legacy(); + printk(MODULE_NAME ": board was detected as \"%s\", and kernel should handle it\n", board_name); + return NULL; } } |