[package] fix path to the orinoco pcmcia driver, thanks hauke
[openwrt.git] / package / broadcom-diag / src / diag.c
index fefd036..7df009e 100644 (file)
@@ -138,6 +138,12 @@ enum {
 
        /* Askey */
        RT210W,
+
+       /* OvisLink */
+       WL1600GL,
+
+       /* Microsoft */
+       MN700,
 };
 
 static void __init bcm4780_init(void) {
@@ -852,6 +858,29 @@ static struct platform_t __initdata platforms[] = {
                        { .name = "power",      .gpio = 1 << 5, .polarity = REVERSE },
                },
        },
+       [WL1600GL] = {
+               .name           = "OvisLink WL-1600GL",
+               .buttons        = {
+                       { .name = "reset",      .gpio = 1 << 3 },
+                       { .name = "ses",        .gpio = 1 << 4 },
+               },
+               .leds           = {
+                       { .name = "power",      .gpio = 1 << 5, .polarity = REVERSE },
+                       { .name = "wps",        .gpio = 1 << 2, .polarity = REVERSE },
+                       { .name = "wlan",       .gpio = 1 << 1, .polarity = REVERSE },
+                       { .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)
@@ -966,6 +995,10 @@ static struct platform_t __init *platform_detect(void)
                if (!strcmp(boardnum, "1024") && !strcmp(boardtype, "0x0446"))
                        return &platforms[WAP54GV2];
 
+               if (!strcmp(boardnum, "8") && !strcmp(boardtype, "0x048e"))
+                       return &platforms[WL1600GL];
+
+
                if (!strcmp(boardnum, "44") || !strcmp(boardnum, "44\r")) {
                        if (!strcmp(boardtype,"0x0101") || !strcmp(boardtype, "0x0101\r"))
                                return &platforms[TM2300V2]; /* Dell TrueMobile 2300 v2 */
@@ -1007,8 +1040,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.023295 seconds and 4 git commands to generate.