WBR2_G54,
WHR_G54S,
WHR_HP_G54,
+ WHR_G125,
WHR2_A54G54,
WLA2_G54L,
WZR_G300N,
DIR130,
DIR330,
DWL3150,
+
+ /* Sitecom */
+ WL105B,
};
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] = {
.buttons = {
{ .name = "reset", .gpio = 1 << 0 },
},
- .leds = {
+ .leds = {
{ .name = "diag", .gpio = 1 << 3 },
{ .name = "wlan", .gpio = 1 << 4 },
},
},
.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] = {
{ .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 = {
{ .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)
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"))
(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))
return &platforms[WR850GV2V3];
}
- if (!strcmp(boardnum, "44")) { /* Trendware TEW-411BRP+ */
+ if (!strcmp(boardnum, "44") && !strcmp(getvar("boardflags"),"0x0388")) { /* Trendware TEW-411BRP+ */
return &platforms[TEW411BRPP];
}