Add Trendware TEW-411BRplus (#1038)
authorFlorian Fainelli <florian@openwrt.org>
Mon, 11 Dec 2006 21:46:31 +0000 (21:46 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Mon, 11 Dec 2006 21:46:31 +0000 (21:46 +0000)
SVN-Revision: 5764

package/broadcom-diag/src/diag.c
package/switch/src/switch-adm.c

index b0def22..bb25d57 100644 (file)
@@ -91,6 +91,9 @@ enum {
 
        /* Belkin */
        BELKIN_UNKNOWN,
+
+       /* Trendware */
+       TEW411BRPP,
 };
 
 static struct platform_t __initdata platforms[] = {
@@ -416,6 +419,18 @@ static struct platform_t __initdata platforms[] = {
                        { .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)
@@ -509,6 +524,10 @@ static struct platform_t __init *platform_detect(void)
                return &platforms[WR850GV2V3];
        }
 
+       if (!strcmp(boardnum, "44")) {  /* Trendware TEW-411BRP+ */
+               return &platforms[TEW411BRPP];
+       }
+
        /* not found */
        return NULL;
 }
index 083b6eb..beaf9ca 100644 (file)
@@ -498,8 +498,17 @@ static int detect_adm(void)
 
 #if defined(BCMGPIO2) || defined(BCMGPIO)
        int boardflags = atoi(nvram_get("boardflags"));
+        int boardnum = atoi(nvram_get("boardnum"));
 
-       if ((boardflags & 0x80) || force) {
+        if (boardnum == 44) {   /* Trendware TEW-411BRP+ */
+                ret = 1;
+
+                eecs = getgpiopin("adm_eecs", 2);
+                eesk = getgpiopin("adm_eesk", 3);
+                eedi = getgpiopin("adm_eedi", 4);
+                eerc = getgpiopin("adm_rc", 5);
+
+       } else if ((boardflags & 0x80) || force) {
                ret = 1;
 
                eecs = getgpiopin("adm_eecs", 2);