aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2013-09-13 19:24:08 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2013-09-13 19:24:08 +0000
commitb73b915c549cadd8717c986447676240b553563c (patch)
tree8129fcf1a7d3c8bfbf47052cd9c7c5ca71222ce3 /package/kernel
parent0aa1f0be4324fe9fa3b6cc9d69344fc91b24e75c (diff)
downloadupstream-b73b915c549cadd8717c986447676240b553563c.tar.gz
upstream-b73b915c549cadd8717c986447676240b553563c.tar.bz2
upstream-b73b915c549cadd8717c986447676240b553563c.zip
brcm47xx: board detection, GPIO for Linksys E1000 V2.1
This patch adds board detection for the Linksys E1000 V2.1 router, as well as GPIO support for same. This fixes bug #14135. Currently, wired networking isn't working on the router, and I haven't tried the wireless, but with this patch, OpenWRT successfully boots, and all the LEDs and buttons work properly. Signed-off-by: Zachary Catlin <zcatlin@indiana.edu> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 37977
Diffstat (limited to 'package/kernel')
-rw-r--r--package/kernel/broadcom-diag/src/diag.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/package/kernel/broadcom-diag/src/diag.c b/package/kernel/broadcom-diag/src/diag.c
index f3f70504de..3f58718ec9 100644
--- a/package/kernel/broadcom-diag/src/diag.c
+++ b/package/kernel/broadcom-diag/src/diag.c
@@ -89,6 +89,7 @@ enum {
WRT610N,
WRT610NV2,
E1000V1,
+ E1000V21,
E3000V1,
E3200V1,
E4200V1,
@@ -471,6 +472,19 @@ static struct platform_t __initdata platforms[] = {
{ .name = "ses_orange", .gpio = 1 << 2, .polarity = REVERSE }, /* nvram get gpio2=wps_status_led */
},
},
+ [E1000V21] = {
+ .name = "Linksys E1000 V2.1",
+ .buttons = {
+ { .name = "reset", .gpio = 1 << 10 }, /* nvram get reset_gpio=10 */
+ { .name = "wps", .gpio = 1 << 9 }, /* nvram get gpio9=wps_button */
+ },
+ .leds = {
+ { .name = "power", .gpio = 1 << 6, .polarity = REVERSE },
+ { .name = "wlan", .gpio = 1 << 5, .polarity = NORMAL },
+ { .name = "ses_blue", .gpio = 1 << 8, .polarity = NORMAL }, /* nvram get gpio8=wps_led */
+ { .name = "ses_orange", .gpio = 1 << 7, .polarity = NORMAL }, /* nvram get gpio7=wps_status_led */
+ },
+ },
[E3000V1] = {
.name = "Linksys E3000 V1",
.buttons = {
@@ -1350,6 +1364,8 @@ static struct platform_t __init *platform_detect(void)
return &platforms[DIR330];
case BCM47XX_BOARD_LINKSYS_E1000V1:
return &platforms[E1000V1];
+ case BCM47XX_BOARD_LINKSYS_E1000V21:
+ return &platforms[E1000V21];
case BCM47XX_BOARD_LINKSYS_E3000V1:
return &platforms[E3000V1];
case BCM47XX_BOARD_LINKSYS_E3200V1: