From e93c516f4c3ad2664d58040f3e6d871ab14a50d7 Mon Sep 17 00:00:00 2001 From: hauke Date: Sun, 4 Aug 2013 12:36:13 +0000 Subject: [PATCH] brcm47xx: change board detection for some Asus devices This closes #13316 Signed-off-by: Hauke Mehrtens git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37680 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/kernel/broadcom-diag/src/diag.c | 28 ++++++++-------------- .../260-MIPS-BCM47XX-add-board-detection.patch | 14 +++++++++-- .../260-MIPS-BCM47XX-add-board-detection.patch | 14 +++++++++-- 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/package/kernel/broadcom-diag/src/diag.c b/package/kernel/broadcom-diag/src/diag.c index 1fad586c52..fedcb01b72 100644 --- a/package/kernel/broadcom-diag/src/diag.c +++ b/package/kernel/broadcom-diag/src/diag.c @@ -1201,15 +1201,6 @@ static struct platform_t __init *platform_detect_legacy(void) return &platforms[TM2300V2]; /* Dell TrueMobile 2300 v2 */ } - if (!strcmp(boardnum, "45")) { /* ASUS */ - if (!strcmp(boardtype,"0x0472")) - return &platforms[WL500W]; - else if (!strcmp(boardtype,"0x467")) - return &platforms[WL320GE]; - else - return &platforms[WL500GD]; - } - if (!strcmp(boardnum, "10496")) return &platforms[USR5461]; @@ -1249,15 +1240,6 @@ static struct platform_t __init *platform_detect_legacy(void) 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) && - (simple_strtoul(getvar("et1phyaddr"), NULL, 0) == 1)) - return &platforms[WLHDD]; - if ((simple_strtoul(getvar("et0phyaddr"), NULL, 0) == 0) && - (simple_strtoul(getvar("et1phyaddr"), NULL, 0) == 10)) - return &platforms[WL300G]; - } /* Sitecom WL-105b */ if (startswith(boardnum, "2") && simple_strtoul(getvar("GemtekPmonVer"), NULL, 0) == 1) return &platforms[WL105B]; @@ -1329,18 +1311,28 @@ static struct platform_t __init *platform_detect(void) return &platforms[RTN16]; case BCM47XX_BOARD_ASUS_RTN66U: return &platforms[RTN66U]; + case BCM47XX_BOARD_ASUS_WL300G: + return &platforms[WL300G]; + case BCM47XX_BOARD_ASUS_WL320GE: + return &platforms[WL320GE]; case BCM47XX_BOARD_ASUS_WL330GE: return &platforms[WL330GE]; + case BCM47XX_BOARD_ASUS_WL500GD: + return &platforms[WL500GD]; case BCM47XX_BOARD_ASUS_WL500GPV1: return &platforms[WL500GP]; case BCM47XX_BOARD_ASUS_WL500GPV2: return &platforms[WL500GPV2]; + case BCM47XX_BOARD_ASUS_WL500W: + return &platforms[WL500W]; case BCM47XX_BOARD_ASUS_WL520GC: return &platforms[WL520GC]; case BCM47XX_BOARD_ASUS_WL520GU: return &platforms[WL520GU]; case BCM47XX_BOARD_ASUS_WL700GE: return &platforms[WL700GE]; + case BCM47XX_BOARD_ASUS_WLHDD: + return &platforms[WLHDD]; case BCM47XX_BOARD_BELKIN_F7D4301: return &platforms[BELKIN_F7D4301]; case BCM47XX_BOARD_BUFFALO_WBR2_G54: diff --git a/target/linux/brcm47xx/patches-3.10/260-MIPS-BCM47XX-add-board-detection.patch b/target/linux/brcm47xx/patches-3.10/260-MIPS-BCM47XX-add-board-detection.patch index ebc179ab1a..50306c1293 100644 --- a/target/linux/brcm47xx/patches-3.10/260-MIPS-BCM47XX-add-board-detection.patch +++ b/target/linux/brcm47xx/patches-3.10/260-MIPS-BCM47XX-add-board-detection.patch @@ -8,7 +8,7 @@ obj-$(CONFIG_BCM47XX_SSB) += wgt634u.o --- /dev/null +++ b/arch/mips/bcm47xx/board.c -@@ -0,0 +1,235 @@ +@@ -0,0 +1,240 @@ +#include +#include +#include @@ -45,9 +45,12 @@ + +static const struct bcm47xx_board_type_list bcm47xx_board_list_hardware_version[] = { + {{BCM47XX_BOARD_ASUS_RTN16, "Asus RT-N16"}, "RT-N16-",}, ++ {{BCM47XX_BOARD_ASUS_WL320GE, "Asus WL320GE"}, "WL320G-",}, + {{BCM47XX_BOARD_ASUS_WL330GE, "Asus WL330GE"}, "WL330GE-",}, ++ {{BCM47XX_BOARD_ASUS_WL500GD, "Asus WL500GD"}, "WL500gd-",}, + {{BCM47XX_BOARD_ASUS_WL500GPV1, "Asus WL500GP V1"}, "WL500gp-",}, + {{BCM47XX_BOARD_ASUS_WL500GPV2, "Asus WL500GP V2"}, "WL500GPV2-",}, ++ {{BCM47XX_BOARD_ASUS_WL500W, "Asus WL500W"}, "WL500gW-",}, + {{BCM47XX_BOARD_ASUS_WL520GC, "Asus WL520GC"}, "WL520GC-",}, + {{BCM47XX_BOARD_ASUS_WL520GU, "Asus WL520GU"}, "WL520GU-",}, + {{BCM47XX_BOARD_BELKIN_F7D4301, "Belkin F7D4301"}, "F7D4301",}, @@ -67,6 +70,8 @@ + {{BCM47XX_BOARD_ASUS_RTN16, "Asus RT-N16"}, "RT-N16",}, + {{BCM47XX_BOARD_ASUS_RTN53, "Asus RT-N53"}, "RT-N53",}, + {{BCM47XX_BOARD_ASUS_RTN66U, "Asus RT-N66U"}, "RT-N66U",}, ++ {{BCM47XX_BOARD_ASUS_WL300G, "Asus WL300G"}, "WL300g",}, ++ {{BCM47XX_BOARD_ASUS_WLHDD, "Asus WLHDD"}, "WLHDD",}, + { {0}, 0}, +}; + @@ -246,7 +251,7 @@ +EXPORT_SYMBOL(bcm47xx_board_get_name); --- /dev/null +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -0,0 +1,92 @@ +@@ -0,0 +1,97 @@ +#ifndef __BCM47XX_BOARD_H +#define __BCM47XX_BOARD_H + @@ -263,12 +268,17 @@ + BCM47XX_BOARD_ASUS_RTN16, + BCM47XX_BOARD_ASUS_RTN53, + BCM47XX_BOARD_ASUS_RTN66U, ++ BCM47XX_BOARD_ASUS_WL300G, ++ BCM47XX_BOARD_ASUS_WL320GE, + BCM47XX_BOARD_ASUS_WL330GE, ++ BCM47XX_BOARD_ASUS_WL500GD, + BCM47XX_BOARD_ASUS_WL500GPV1, + BCM47XX_BOARD_ASUS_WL500GPV2, ++ BCM47XX_BOARD_ASUS_WL500W, + BCM47XX_BOARD_ASUS_WL520GC, + BCM47XX_BOARD_ASUS_WL520GU, + BCM47XX_BOARD_ASUS_WL700GE, ++ BCM47XX_BOARD_ASUS_WLHDD, + + BCM47XX_BOARD_BELKIN_F7D4301, + diff --git a/target/linux/brcm47xx/patches-3.8/260-MIPS-BCM47XX-add-board-detection.patch b/target/linux/brcm47xx/patches-3.8/260-MIPS-BCM47XX-add-board-detection.patch index 74cd182b72..682daf3dde 100644 --- a/target/linux/brcm47xx/patches-3.8/260-MIPS-BCM47XX-add-board-detection.patch +++ b/target/linux/brcm47xx/patches-3.8/260-MIPS-BCM47XX-add-board-detection.patch @@ -8,7 +8,7 @@ obj-$(CONFIG_BCM47XX_SSB) += wgt634u.o --- /dev/null +++ b/arch/mips/bcm47xx/board.c -@@ -0,0 +1,235 @@ +@@ -0,0 +1,240 @@ +#include +#include +#include @@ -45,9 +45,12 @@ + +static const struct bcm47xx_board_type_list bcm47xx_board_list_hardware_version[] = { + {{BCM47XX_BOARD_ASUS_RTN16, "Asus RT-N16"}, "RT-N16-",}, ++ {{BCM47XX_BOARD_ASUS_WL320GE, "Asus WL320GE"}, "WL320G-",}, + {{BCM47XX_BOARD_ASUS_WL330GE, "Asus WL330GE"}, "WL330GE-",}, ++ {{BCM47XX_BOARD_ASUS_WL500GD, "Asus WL500GD"}, "WL500gd-",}, + {{BCM47XX_BOARD_ASUS_WL500GPV1, "Asus WL500GP V1"}, "WL500gp-",}, + {{BCM47XX_BOARD_ASUS_WL500GPV2, "Asus WL500GP V2"}, "WL500GPV2-",}, ++ {{BCM47XX_BOARD_ASUS_WL500W, "Asus WL500W"}, "WL500gW-",}, + {{BCM47XX_BOARD_ASUS_WL520GC, "Asus WL520GC"}, "WL520GC-",}, + {{BCM47XX_BOARD_ASUS_WL520GU, "Asus WL520GU"}, "WL520GU-",}, + {{BCM47XX_BOARD_BELKIN_F7D4301, "Belkin F7D4301"}, "F7D4301",}, @@ -67,6 +70,8 @@ + {{BCM47XX_BOARD_ASUS_RTN16, "Asus RT-N16"}, "RT-N16",}, + {{BCM47XX_BOARD_ASUS_RTN53, "Asus RT-N53"}, "RT-N53",}, + {{BCM47XX_BOARD_ASUS_RTN66U, "Asus RT-N66U"}, "RT-N66U",}, ++ {{BCM47XX_BOARD_ASUS_WL300G, "Asus WL300G"}, "WL300g",}, ++ {{BCM47XX_BOARD_ASUS_WLHDD, "Asus WLHDD"}, "WLHDD",}, + { {0}, 0}, +}; + @@ -246,7 +251,7 @@ +EXPORT_SYMBOL(bcm47xx_board_get_name); --- /dev/null +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -0,0 +1,92 @@ +@@ -0,0 +1,97 @@ +#ifndef __BCM47XX_BOARD_H +#define __BCM47XX_BOARD_H + @@ -263,12 +268,17 @@ + BCM47XX_BOARD_ASUS_RTN16, + BCM47XX_BOARD_ASUS_RTN53, + BCM47XX_BOARD_ASUS_RTN66U, ++ BCM47XX_BOARD_ASUS_WL300G, ++ BCM47XX_BOARD_ASUS_WL320GE, + BCM47XX_BOARD_ASUS_WL330GE, ++ BCM47XX_BOARD_ASUS_WL500GD, + BCM47XX_BOARD_ASUS_WL500GPV1, + BCM47XX_BOARD_ASUS_WL500GPV2, ++ BCM47XX_BOARD_ASUS_WL500W, + BCM47XX_BOARD_ASUS_WL520GC, + BCM47XX_BOARD_ASUS_WL520GU, + BCM47XX_BOARD_ASUS_WL700GE, ++ BCM47XX_BOARD_ASUS_WLHDD, + + BCM47XX_BOARD_BELKIN_F7D4301, + -- 2.11.0