summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/broadcom-diag/src/diag.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c
index ca08e46fd8..89af0f7fc0 100644
--- a/package/broadcom-diag/src/diag.c
+++ b/package/broadcom-diag/src/diag.c
@@ -64,6 +64,7 @@ enum {
WRT350N,
WRT600N,
WRT600NV11,
+ WRT610N,
/* ASUS */
WLHDD,
@@ -301,6 +302,19 @@ static struct platform_t __initdata platforms[] = {
},
.platform_init = bcm57xx_init,
},
+ [WRT610N] = {
+ .name = "Linksys WRT610N",
+ .buttons = {
+ { .name = "reset", .gpio = 1 << 6 },
+ { .name = "ses", .gpio = 1 << 8 },
+ },
+ .leds = {
+ { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, // Power LED
+ { .name = "usb", .gpio = 1 << 0, .polarity = REVERSE }, // USB LED
+ { .name = "ses_amber", .gpio = 1 << 3, .polarity = REVERSE }, // WiFi protected setup LED amber
+ { .name = "ses_blue", .gpio = 1 << 9, .polarity = REVERSE }, // WiFi protected setup LED blue
+ },
+ },
/* Asus */
[WLHDD] = {
.name = "ASUS WL-HDD",
@@ -798,6 +812,12 @@ static struct platform_t __init *platform_detect(void)
return &platforms[DIR330];
}
+ /* Based on "wsc_modelname */
+ if ((buf = nvram_get("wsc_modelname"))) {
+ if (!strcmp(buf, "WRT610N"))
+ return &platforms[WRT610N];
+ }
+
/* Based on "model_no" */
if ((buf = nvram_get("model_no"))) {
if (startswith(buf,"WL700")) /* WL700* */