summaryrefslogtreecommitdiff
path: root/package/broadcom-diag/src/diag.c
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2013-01-03 02:07:11 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2013-01-03 02:07:11 +0000
commitac383f95a515c4092f7fafe91046b8443beceaef (patch)
treea6578f1e7a793a007407fa78f44dfa26616ffc7e /package/broadcom-diag/src/diag.c
parent4443997fd847e3893a62403e2f2e7d36c10f8450 (diff)
downloadmtk-20170518-ac383f95a515c4092f7fafe91046b8443beceaef.zip
mtk-20170518-ac383f95a515c4092f7fafe91046b8443beceaef.tar.gz
mtk-20170518-ac383f95a515c4092f7fafe91046b8443beceaef.tar.bz2
broadcom-diag: add diag support for Linksys E1000 V1
This adds diag leds/buttons support for Linksys E1000 V1. It worked on my router, however it may need some tweaking by people more familiar with openwrt and c to make it fit for commiting. Thank you hhm for this patch. SVN-Revision: 34996
Diffstat (limited to 'package/broadcom-diag/src/diag.c')
-rw-r--r--package/broadcom-diag/src/diag.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c
index 7e0ff02..997fbe8 100644
--- a/package/broadcom-diag/src/diag.c
+++ b/package/broadcom-diag/src/diag.c
@@ -63,6 +63,7 @@ enum {
WRT600NV11,
WRT610N,
WRT610NV2,
+ E1000V1,
E3000V1,
/* ASUS */
@@ -421,6 +422,25 @@ static struct platform_t __initdata platforms[] = {
{ .name = "wlan", .gpio = 1 << 1, .polarity = NORMAL }, // Wireless LED
},
},
+ /* same hardware as WRT160NV3 and Cisco Valet M10V1, but different board detection, combine? */
+ [E1000V1] = {
+ .name = "Linksys E1000 V1",
+ .buttons = {
+ { .name = "reset", .gpio = 1 << 6 },
+ { .name = "wps", .gpio = 1 << 5 }, /* nvram get gpio5=wps_button */
+ },
+ .leds = {
+ /** turns on leds for all ethernet ports (wan too)
+ * this also disconnects some, or maybe all, ethernet ports
+ * 1: leds work normally
+ * 0: all lit all the time */
+ /* nvram get gpio3=robo_reset */
+ { .name = "wlan", .gpio = 1 << 0, .polarity = NORMAL },
+ { .name = "power", .gpio = 1 << 1, .polarity = NORMAL },
+ { .name = "ses_blue", .gpio = 1 << 4, .polarity = REVERSE }, /* nvram get gpio4=wps_led */
+ { .name = "ses_orange", .gpio = 1 << 2, .polarity = REVERSE }, /* nvram get gpio2=wps_status_led */
+ },
+ },
[E3000V1] = {
.name = "Linksys E3000 V1",
.buttons = {
@@ -1156,6 +1176,13 @@ static struct platform_t __init *platform_detect(void)
}
}
+ if (!strcmp(boardtype, "0x04cd")) {
+ if (!strcmp(getvar("boot_hw_model"), "E100")) {
+ if (!strcmp(getvar("boot_hw_ver"), "1.0"))
+ return &platforms[E1000V1];
+ }
+ }
+
/* default to WRT54G */
return &platforms[WRT54G];
}