diff options
-rw-r--r-- | package/broadcom-diag/src/diag.c | 42 | ||||
-rw-r--r-- | package/broadcom-diag/src/diag.h | 2 |
2 files changed, 43 insertions, 1 deletions
diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index 9cfc1d98c..bbc0bfada 100644 --- a/package/broadcom-diag/src/diag.c +++ b/package/broadcom-diag/src/diag.c @@ -61,6 +61,8 @@ enum { WRTSL54GS, WRT54G3G, WRT350N, + WRT600N, + WRT600NV11, /* ASUS */ WLHDD, @@ -240,6 +242,38 @@ static struct platform_t __initdata platforms[] = { }, .platform_init = bcm57xx_init, }, + [WRT600N] = { + .name = "Linksys WRT600N", + .buttons = { + { .name = "reset", .gpio = 1 << 6 }, + { .name = "ses", .gpio = 1 << 7 }, + }, + .leds = { + { .name = "power", .gpio = 1 << 2, .polarity = REVERSE }, // Power LED + { .name = "usb", .gpio = 1 << 3, .polarity = REVERSE }, // USB LED + { .name = "wl0_ses_amber", .gpio = 1 << 8, .polarity = REVERSE }, // 2.4Ghz LED Amber + { .name = "wl0_ses_green", .gpio = 1 << 9, .polarity = REVERSE }, // 2.4Ghz LED Green + { .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", + .buttons = { + { .name = "reset", .gpio = 1 << 6 }, + { .name = "ses", .gpio = 1 << 7 }, + }, + .leds = { + { .name = "power", .gpio = 1 << 2, .polarity = REVERSE }, // Power LED + { .name = "usb", .gpio = 1 << 3, .polarity = REVERSE }, // USB LED + { .name = "wl0_ses_amber", .gpio = 1 << 8, .polarity = REVERSE }, // 2.4Ghz LED Amber + { .name = "wl0_ses_green", .gpio = 1 << 9, .polarity = REVERSE }, // 2.4Ghz LED Green + { .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, + }, /* Asus */ [WLHDD] = { .name = "ASUS WL-HDD", @@ -746,6 +780,14 @@ static struct platform_t __init *platform_detect(void) boardnum = getvar("boardnum"); boardtype = getvar("boardtype"); + if (!strcmp(boardnum, "20070615")) { /* Linksys WRT600N v1/V1.1 */ + if (!strcmp(boardtype, "0x478") && !strcmp(getvar("cardbus"), "0") && !strcmp(getvar("switch_type"),"BCM5395")) + return &platforms[WRT600NV11]; + + if (!strcmp(boardtype, "0x478") && !strcmp(getvar("cardbus"), "0")) + return &platforms[WRT600N]; + } + if (startswith(getvar("pmon_ver"), "CFE")) { /* CFE based - newer hardware */ if (!strcmp(boardnum, "42")) { /* Linksys */ diff --git a/package/broadcom-diag/src/diag.h b/package/broadcom-diag/src/diag.h index 5f46d9dd8..52e84fa4b 100644 --- a/package/broadcom-diag/src/diag.h +++ b/package/broadcom-diag/src/diag.h @@ -24,7 +24,7 @@ #include <linux/irq.h> #define MODULE_NAME "diag" -#define MAX_GPIO 8 +#define MAX_GPIO 16 #define FLASH_TIME HZ/6 enum polarity_t { |