Procházet zdrojové kódy

Added identification of WRT610N and its button/led definitions.

Signed-off-by: Tomas Kopal <[email protected]>

SVN-Revision: 17434
Felix Fietkau před 16 roky
rodič
revize
8c7c2d9116
1 změnil soubory, kde provedl 20 přidání a 0 odebrání
  1. 20 0
      package/broadcom-diag/src/diag.c

+ 20 - 0
package/broadcom-diag/src/diag.c

@@ -64,6 +64,7 @@ enum {
 	WRT350N,
 	WRT600N,
 	WRT600NV11,
+	WRT610N,
 
 	/* ASUS */
 	WLHDD,
@@ -301,6 +302,19 @@ static struct platform_t __initdata platforms[] = {
 		},
 		.platform_init = bcm57xx_init,
 	},
+	[WRT610N] = {
+		.name           = "Linksys WRT610N",
+		.buttons        = {
+			{ .name = "reset",      .gpio = 1 << 6 },
+			{ .name = "ses",        .gpio = 1 << 8 },
+		},
+		.leds           = {
+			{ .name = "power",      .gpio = 1 << 1,  .polarity = NORMAL }, // Power LED
+			{ .name = "usb",        .gpio = 1 << 0,  .polarity = REVERSE }, // USB LED
+			{ .name = "ses_amber",  .gpio = 1 << 3,  .polarity = REVERSE }, // WiFi protected setup LED amber
+			{ .name = "ses_blue",   .gpio = 1 << 9,  .polarity = REVERSE }, // WiFi protected setup LED blue
+		},
+	},
 	/* Asus */
 	[WLHDD] = {
 		.name		= "ASUS WL-HDD",
@@ -798,6 +812,12 @@ static struct platform_t __init *platform_detect(void)
 			return &platforms[DIR330];
 	}
 
+	/* Based on "wsc_modelname */
+	if ((buf = nvram_get("wsc_modelname"))) {
+		if (!strcmp(buf, "WRT610N"))
+			return &platforms[WRT610N];
+	}
+
 	/* Based on "model_no" */
 	if ((buf = nvram_get("model_no"))) {
 		if (startswith(buf,"WL700")) /* WL700* */