X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/4149596e58910e5bb7fbfc8843e96256eb19f822..b2e1bfb056bca17d81fdcbf020d9948a88d17304:/package/broadcom-diag/src/diag.c diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index 766a906da..00a72e907 100644 --- a/package/broadcom-diag/src/diag.c +++ b/package/broadcom-diag/src/diag.c @@ -110,6 +110,7 @@ enum { /* Netgear */ WGT634U, + WNR834BV1, WNR834BV2, /* Trendware */ @@ -138,6 +139,9 @@ enum { /* Microsoft */ MN700, + + /* Edimax */ + PS1208MFG, }; static void __init bcm4780_init(void) { @@ -755,8 +759,19 @@ static struct platform_t __initdata platforms[] = { { .name = "power", .gpio = 1 << 3, .polarity = NORMAL }, }, }, + /* Netgear */ + [WNR834BV1] = { + .name = "Netgear WNR834B V1", + .buttons = { /* TODO: add reset button and confirm LEDs - GPIO from dd-wrt */ }, + .leds = { + { .name = "power", .gpio = 1 << 4, .polarity = REVERSE }, + { .name = "diag", .gpio = 1 << 5, .polarity = REVERSE }, + { .name = "wlan", .gpio = 1 << 6, .polarity = REVERSE }, + }, + }, + /* Netgear */ [WNR834BV2] = { - .name = "Netgear WNR834B V2", + .name = "Netgear WNR834B V2", .buttons = { { .name = "reset", .gpio = 1 << 6 }, }, @@ -782,8 +797,7 @@ static struct platform_t __initdata platforms[] = { [STI_NAS] = { .name = "SimpleTech SimpleShare NAS", .buttons = { - { .name = "reset", .gpio = 1 << 7 }, // on back, hardwired, always resets device regardless OS state - { .name = "power", .gpio = 1 << 0 }, // on back + { .name = "reset", .gpio = 1 << 0 }, // Power button on back, named reset to enable failsafe. }, .leds = { { .name = "diag", .gpio = 1 << 1, .polarity = REVERSE }, // actual name ready @@ -896,6 +910,17 @@ static struct platform_t __initdata platforms[] = { { .name = "power", .gpio = 1 << 6, .polarity = NORMAL }, }, }, + /* Edimax */ + [PS1208MFG] = { + .name = "Edimax PS-1208MFG", + .buttons = { + { .name = "reset", .gpio = 1 << 4 }, + }, + .leds = { + { .name = "status", .gpio = 1 << 1, .polarity = NORMAL }, + { .name = "wlan", .gpio = 1 << 0, .polarity = NORMAL }, + }, + }, }; static struct platform_t __init *platform_detect(void) @@ -1047,10 +1072,11 @@ static struct platform_t __init *platform_detect(void) return &platforms[WDNetCenter]; } - if ((!strcmp(boardnum, "08") || !strcmp(boardnum, "01")) && - !strcmp(boardtype,"0x0472") && !strcmp(getvar("cardbus"), "1")) { /* Netgear WNR834B V1 and V2*/ - /* TODO: Check for version. Default platform is V2 for now. */ - return &platforms[WNR834BV2]; + 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 */ @@ -1122,9 +1148,13 @@ static struct platform_t __init *platform_detect(void) if (startswith(boardnum, "04FN")) /* SimpleTech SimpleShare */ return &platforms[STI_NAS]; - if (!strcmp(getvar("boardnum"), "10") && !strcmp(getvar("boardrev"), "0x13")) /* D-Link DWL-3150 */ + if (!strcmp(boardnum, "10") && !strcmp(getvar("boardrev"), "0x13")) /* D-Link DWL-3150 */ return &platforms[DWL3150]; + if (!strcmp(boardnum, "01") && !strcmp(boardtype, "0x048e") && /* Edimax PS1208MFG */ + !strcmp(getvar("status_gpio"), "1")) /* gpio based detection */ + return &platforms[PS1208MFG]; + /* not found */ return NULL; }