aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/broadcom-diag/src/diag.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c
index 8f296248be..7df009e7c0 100644
--- a/package/broadcom-diag/src/diag.c
+++ b/package/broadcom-diag/src/diag.c
@@ -141,6 +141,9 @@ enum {
/* OvisLink */
WL1600GL,
+
+ /* Microsoft */
+ MN700,
};
static void __init bcm4780_init(void) {
@@ -868,6 +871,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)
@@ -1027,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) &&