Add support for WRT600N and WRT600N v1.1 (#3535)

SVN-Revision: 11740
This commit is contained in:
Florian Fainelli 2008-07-07 14:17:02 +00:00
parent 216556954e
commit c4f83e0b0c
2 changed files with 43 additions and 1 deletions

View file

@ -61,6 +61,8 @@ enum {
WRTSL54GS, WRTSL54GS,
WRT54G3G, WRT54G3G,
WRT350N, WRT350N,
WRT600N,
WRT600NV11,
/* ASUS */ /* ASUS */
WLHDD, WLHDD,
@ -240,6 +242,38 @@ static struct platform_t __initdata platforms[] = {
}, },
.platform_init = bcm57xx_init, .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 */ /* Asus */
[WLHDD] = { [WLHDD] = {
.name = "ASUS WL-HDD", .name = "ASUS WL-HDD",
@ -746,6 +780,14 @@ static struct platform_t __init *platform_detect(void)
boardnum = getvar("boardnum"); boardnum = getvar("boardnum");
boardtype = getvar("boardtype"); 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")) { if (startswith(getvar("pmon_ver"), "CFE")) {
/* CFE based - newer hardware */ /* CFE based - newer hardware */
if (!strcmp(boardnum, "42")) { /* Linksys */ if (!strcmp(boardnum, "42")) { /* Linksys */

View file

@ -24,7 +24,7 @@
#include <linux/irq.h> #include <linux/irq.h>
#define MODULE_NAME "diag" #define MODULE_NAME "diag"
#define MAX_GPIO 8 #define MAX_GPIO 16
#define FLASH_TIME HZ/6 #define FLASH_TIME HZ/6
enum polarity_t { enum polarity_t {