From 9fce41951eaa0fa2115c90acd9ea303c7966e20d Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Mon, 11 Dec 2006 21:46:31 +0000 Subject: [PATCH] Add Trendware TEW-411BRplus (#1038) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5764 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/broadcom-diag/src/diag.c | 19 +++++++++++++++++++ package/switch/src/switch-adm.c | 11 ++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index b0def22e46..bb25d57581 100644 --- a/package/broadcom-diag/src/diag.c +++ b/package/broadcom-diag/src/diag.c @@ -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; } diff --git a/package/switch/src/switch-adm.c b/package/switch/src/switch-adm.c index 083b6ebc47..beaf9ca787 100644 --- a/package/switch/src/switch-adm.c +++ b/package/switch/src/switch-adm.c @@ -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);