WHR2_A54G54,
WLA2_G54L,
WZR_RS_G54,
+ WZR_RS_G54HP,
BUFFALO_UNKNOWN,
BUFFALO_UNKNOWN_4710,
/* Belkin */
BELKIN_UNKNOWN,
+
+ /* Trendware */
+ TEW411BRPP,
};
static struct platform_t __initdata platforms[] = {
.name = "Buffalo WZR-RS-G54",
.buttons = {
{ .name = "ses", .gpio = 1 << 0 },
- { .name = "reset", .gpio = 1 << 7 },
+ { .name = "reset", .gpio = 1 << 4 },
},
.leds = {
- { .name = "diag", .gpio = 1 << 1, .polarity = REVERSE },
+ { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE },
+ { .name = "ses", .gpio = 1 << 6, .polarity = REVERSE },
+ { .name = "vpn", .gpio = 1 << 1, .polarity = REVERSE },
+ },
+ },
+ [WZR_RS_G54HP] = {
+ .name = "Buffalo WZR-RS-G54HP",
+ .buttons = {
+ { .name = "ses", .gpio = 1 << 0 },
+ { .name = "reset", .gpio = 1 << 4 },
+ },
+ .leds = {
+ { .name = "diag", .gpio = 1 << 7, .polarity = REVERSE },
+ { .name = "ses", .gpio = 1 << 6, .polarity = REVERSE },
+ { .name = "vpn", .gpio = 1 << 1, .polarity = REVERSE },
},
},
[BUFFALO_UNKNOWN] = {
{ .name = "connected", .gpio = 1 << 0, .polarity = NORMAL },
},
},
+ /* Trendware */
+ [TEW411BRPP] = {
+ .name = "Trendware TEW411BRP+",
+ .buttons = {
+ { /* No usable buttons */ },
+ },
+ .leds = {
+ { .name = "power", .gpio = 1 << 7, .polarity = NORMAL },
+ { .name = "wlan", .gpio = 1 << 1, .polarity = NORMAL },
+ { .name = "bridge", .gpio = 1 << 6, .polarity = NORMAL },
+ },
+ },
};
static struct platform_t __init *platform_detect(void)
return &platforms[WHR2_A54G54];
if (!strcmp(buf, "30083"))
return &platforms[WZR_RS_G54];
+ if (!strcmp(buf, "30103"))
+ return &platforms[WZR_RS_G54HP];
}
if (buf || !strcmp(boardnum, "00")) {/* probably buffalo */
return &platforms[WR850GV2V3];
}
+ if (!strcmp(boardnum, "44")) { /* Trendware TEW-411BRP+ */
+ return &platforms[TEW411BRPP];
+ }
+
/* not found */
return NULL;
}
changed = platform.button_polarity ^ in;
platform.button_polarity = in;
+ changed &= ~gpio_outen(0, 0);
+
for (b = platform.buttons; b->name; b++) {
struct event_t *event;