From c4f83e0b0c1c6b4267965b0e9fda10efbbae19c3 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Mon, 7 Jul 2008 14:17:02 +0000 Subject: [PATCH] Add support for WRT600N and WRT600N v1.1 (#3535) SVN-Revision: 11740 --- package/broadcom-diag/src/diag.c | 42 ++++++++++++++++++++++++++++++++ package/broadcom-diag/src/diag.h | 2 +- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index 9cfc1d98c81..bbc0bfadac2 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 5f46d9dd8c9..52e84fa4bce 100644 --- a/package/broadcom-diag/src/diag.h +++ b/package/broadcom-diag/src/diag.h @@ -24,7 +24,7 @@ #include #define MODULE_NAME "diag" -#define MAX_GPIO 8 +#define MAX_GPIO 16 #define FLASH_TIME HZ/6 enum polarity_t {