From e229b1b849c01e73aa570cc77c52c63474380d29 Mon Sep 17 00:00:00 2001
From: Andy Boyett <agb@openwrt.org>
Date: Mon, 31 Mar 2008 08:04:27 +0000
Subject: Add support for the ASUS WL-520gU

SVN-Revision: 10692
---
 package/broadcom-diag/Makefile   |  8 ++++----
 package/broadcom-diag/src/diag.c | 19 +++++++++++++++++++
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/package/broadcom-diag/Makefile b/package/broadcom-diag/Makefile
index 73401fc..0158779 100644
--- a/package/broadcom-diag/Makefile
+++ b/package/broadcom-diag/Makefile
@@ -1,5 +1,5 @@
-# 
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2008 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=broadcom-diag
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -38,5 +38,5 @@ define Build/Compile
 		EXTRA_CFLAGS="$(BUILDFLAGS)" \
 		modules
 endef
-	
+
 $(eval $(call KernelPackage,diag))
diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c
index b842ed6..3f92997 100644
--- a/package/broadcom-diag/src/diag.c
+++ b/package/broadcom-diag/src/diag.c
@@ -68,7 +68,9 @@ enum {
 	WL500G,
 	WL500GD,
 	WL500GP,
+	WL500GPV2,
 	WL500W,
+	WL520GU,
 	ASUS_4702,
 	WL700GE,
 
@@ -292,6 +294,17 @@ static struct platform_t __initdata platforms[] = {
 			{ .name = "power",	.gpio = 1 << 5, .polarity = REVERSE },
 		},
 	},
+	[WL520GU] = {
+		.name		= "ASUS WL-520gU",
+		.buttons	= {
+			{ .name = "reset",	.gpio = 1 << 2 },
+			{ .name = "ses",	.gpio = 1 << 3 },
+		},
+		.leds		= {
+			{ .name = "power",	.gpio = 1 << 0, .polarity = REVERSE },
+			{ .name = "wlan",	.gpio = 1 << 1, .polarity = REVERSE },
+		},
+	},
 	[ASUS_4702] = {
 		.name		= "ASUS (unknown, BCM4702)",
 		.buttons	= {
@@ -659,6 +672,12 @@ static struct platform_t __init *platform_detect(void)
 			return &platforms[WL700GE];
 	}
 
+	/* Based on "hardware_version" */
+	if (buf = nvram_get("hardware_version")) {
+		if (startswith(buf,"WL520GU-")) /* WL520GU-* */
+			return &platforms[WL520GU];
+	}
+
 	/* Based on "ModelId" */
 	if (buf = nvram_get("ModelId")) {
 		if (!strcmp(buf, "WR850GP"))
-- 
cgit v1.1