X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/c2e9789198880e5de157dd5dbeaf64b9e0340d23..4c5547e91455b2a04140df868bfeb6c7c031e261:/package/broadcom-diag/src/diag.c?ds=sidebyside diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index ef586baae..e672982dc 100644 --- a/package/broadcom-diag/src/diag.c +++ b/package/broadcom-diag/src/diag.c @@ -74,6 +74,7 @@ enum { WBR2_G54, WHR_G54S, WHR_HP_G54, + WHR_G125, WHR2_A54G54, WLA2_G54L, WZR_G300N, @@ -114,6 +115,9 @@ enum { DIR130, DIR330, DWL3150, + + /* Sitecom */ + WL105B, }; static void __init bcm4780_init(void) { @@ -130,6 +134,14 @@ static void __init bcm4780_init(void) { schedule_timeout(HZ * 5); } +static void __init bcm57xx_init(void) { + int pin = 1 << 2; + + gpio_outen(pin, pin); + gpio_control(pin, 0); + gpio_out(pin, pin); +} + static struct platform_t __initdata platforms[] = { /* Linksys */ [WAP54GV1] = { @@ -137,7 +149,7 @@ static struct platform_t __initdata platforms[] = { .buttons = { { .name = "reset", .gpio = 1 << 0 }, }, - .leds = { + .leds = { { .name = "diag", .gpio = 1 << 3 }, { .name = "wlan", .gpio = 1 << 4 }, }, @@ -213,8 +225,12 @@ static struct platform_t __initdata platforms[] = { }, .leds = { { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, - { .name = "ses", .gpio = 1 << 3, .polarity = REVERSE }, + { .name = "ses_amber", .gpio = 1 << 3, .polarity = REVERSE }, + { .name = "ses_green", .gpio = 1 << 9, .polarity = REVERSE }, + { .name = "usb_blink", .gpio = 1 << 10, .polarity = REVERSE }, + { .name = "usb", .gpio = 1 << 11, .polarity = REVERSE }, }, + .platform_init = bcm57xx_init, }, /* Asus */ [WLHDD] = { @@ -343,6 +359,21 @@ static struct platform_t __initdata platforms[] = { { .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 = { @@ -590,6 +621,17 @@ static struct platform_t __initdata platforms[] = { { .name = "status", .gpio = 1 << 1}, }, }, + /* Double check */ + [WL105B] = { + .name = "Sitecom WL-105b", + .buttons = { + { .name = "reset", .gpio = 1 << 10}, + }, + .leds = { + { .name = "wlan", .gpio = 1 << 4}, + { .name = "power", .gpio = 1 << 3}, + }, + }, }; static struct platform_t __init *platform_detect(void) @@ -634,6 +676,8 @@ static struct platform_t __init *platform_detect(void) return &platforms[WLA2_G54L]; if (!strcmp(buf, "30189")) return &platforms[WHR_HP_G54]; + if (!strcmp(buf, "32093")) + return &platforms[WHR_G125]; if (!strcmp(buf, "30182")) return &platforms[WHR_G54S]; if (!strcmp(buf, "290441dd")) @@ -700,6 +744,9 @@ static struct platform_t __init *platform_detect(void) (simple_strtoul(getvar("et1phyaddr"), NULL, 0) == 10)) return &platforms[WL300G]; } + /* Sitecom WL-105b */ + if (!strncmp(boardnum, "2", 1) && simple_strtoul(getvar("GemtekPmonVer"), NULL, 0) == 1) + return &platforms[WL105B]; /* unknown asus stuff, probably bcm4702 */ if (!strncmp(boardnum, "asusX", 5)) @@ -713,13 +760,14 @@ static struct platform_t __init *platform_detect(void) return &platforms[BUFFALO_UNKNOWN]; } - if (!strcmp(getvar("CFEver"), "MotoWRv203") || + if (!strncmp(getvar("CFEver"), "MotoWRv2", 8) || + !strncmp(getvar("CFEver"), "MotoWRv3", 8) || !strcmp(getvar("MOTO_BOARD_TYPE"), "WR_FEM1")) { return &platforms[WR850GV2V3]; } - if (!strcmp(boardnum, "44")) { /* Trendware TEW-411BRP+ */ + if (!strcmp(boardnum, "44") && !strcmp(getvar("boardflags"),"0x0388")) { /* Trendware TEW-411BRP+ */ return &platforms[TEW411BRPP]; }