libelf: get rid of CRLF encoding in the makefile (thx, danimo)
[openwrt.git] / package / broadcom-diag / src / diag.c
index 8f29624..38f51cb 100644 (file)
@@ -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) &&
This page took 0.029373 seconds and 4 git commands to generate.