X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/c3794557a9a87c84faa6e18d6e596822be029b06..b91699ff88302f0178565b09fbb78ec7ca982a5f:/package/broadcom-diag/src/diag.c diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index 8f296248b..38f51cb65 100644 --- a/package/broadcom-diag/src/diag.c +++ b/package/broadcom-diag/src/diag.c @@ -60,6 +60,7 @@ enum { WRT54G, WRTSL54GS, WRT54G3G, + WRT54G3GV2_VF, WRT160N, WRT300NV11, WRT350N, @@ -141,6 +142,9 @@ enum { /* OvisLink */ WL1600GL, + + /* Microsoft */ + MN700, }; static void __init bcm4780_init(void) { @@ -268,6 +272,18 @@ static struct platform_t __initdata platforms[] = { { .name = "3g_blink", .gpio = 1 << 5, .polarity = NORMAL }, }, }, + [WRT54G3GV2_VF] = { + .name = "Linksys WRT54G3GV2-VF", + .buttons = { + { .name = "reset", .gpio = 1 << 6 }, + { .name = "3g", .gpio = 1 << 4 }, + }, + .leds = { + { .name = "power", .gpio = 1 << 1, .polarity = NORMAL }, + { .name = "3g_green", .gpio = 1 << 2, .polarity = NORMAL }, + { .name = "3g_blue", .gpio = 1 << 3, .polarity = NORMAL }, + }, + }, [WRT160N] = { .name = "Linksys WRT160N", .buttons = { @@ -361,7 +377,7 @@ static struct platform_t __initdata platforms[] = { }, .leds = { { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, - { .name = "usb", .gpio = 1 << 2, .polarity = NORMAL }, + { .name = "usb", .gpio = 1 << 2, .polarity = REVERSE }, }, }, [WL300G] = { @@ -868,6 +884,16 @@ static struct platform_t __initdata platforms[] = { { .name = "connected", .gpio = 1 << 0, .polarity = REVERSE }, }, }, + /* Microsoft */ + [MN700] = { + .name = "Microsoft MN-700", + .buttons = { + { .name = "reset", .gpio = 1 << 7 }, + }, + .leds = { + { .name = "power", .gpio = 1 << 6, .polarity = NORMAL }, + }, + }, }; static struct platform_t __init *platform_detect(void) @@ -970,6 +996,9 @@ static struct platform_t __init *platform_detect(void) if (!strcmp(boardtype, "0x0101") && !strcmp(getvar("boot_ver"), "v3.6")) return &platforms[WRT54G3G]; + if (!strcmp(boardtype, "0x042f") && !strcmp(getvar("model_name"), "WRT54G3GV2-VF")) + return &platforms[WRT54G3GV2_VF]; + if (!strcmp(getvar("et1phyaddr"),"5") && !strcmp(getvar("et1mdcport"), "1")) return &platforms[WRTSL54GS]; @@ -1027,8 +1056,13 @@ static struct platform_t __init *platform_detect(void) if (simple_strtoul(boardnum, NULL, 0) == 2) return &platforms[WAP54GV1]; } - if (startswith(getvar("hardware_version"), "WL500-")) - return &platforms[WL500G]; + /* MN-700 has also hardware_version 'WL500-...', so use boardnum */ + if (startswith(getvar("hardware_version"), "WL500-")) { + if (!strcmp(getvar("boardnum"), "mn700")) + return &platforms[MN700]; + else + return &platforms[WL500G]; + } if (startswith(getvar("hardware_version"), "WL300-")) { /* Either WL-300g or WL-HDD, do more extensive checks */ if ((simple_strtoul(getvar("et0phyaddr"), NULL, 0) == 0) &&