From 9aa1ed8c463ebf36a3c3530a29ed18caf9d97534 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 15 Sep 2013 17:00:45 +0000 Subject: [PATCH] brcm47xx: add detection code for Huawei E970 This is based on a patch by Mathias Adam. Signed-off-by: Mathias Adam Signed-off-by: Hauke Mehrtens git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38001 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/kernel/broadcom-diag/src/diag.c | 15 +++++++++++++++ .../260-MIPS-BCM47XX-add-board-detection.patch | 7 +++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/package/kernel/broadcom-diag/src/diag.c b/package/kernel/broadcom-diag/src/diag.c index 3f58718ec9..c0ef6ac567 100644 --- a/package/kernel/broadcom-diag/src/diag.c +++ b/package/kernel/broadcom-diag/src/diag.c @@ -181,6 +181,9 @@ enum { /* Edimax */ PS1208MFG, + + /* Huawei */ + HUAWEI_E970, }; static void __init bcm4780_init(void) { @@ -1159,6 +1162,16 @@ static struct platform_t __initdata platforms[] = { { .name = "wlan", .gpio = 1 << 0, .polarity = NORMAL }, }, }, + /* Huawei */ + [HUAWEI_E970] = { + .name = "Huawei E970", + .buttons = { + { .name = "reset", .gpio = 1 << 6 }, + }, + .leds = { + { .name = "wlan", .gpio = 1 << 0, .polarity = NORMAL }, + }, + }, }; static struct platform_t __init *platform_detect_legacy(void) @@ -1362,6 +1375,8 @@ static struct platform_t __init *platform_detect(void) return &platforms[DIR130]; case BCM47XX_BOARD_DLINK_DIR330: return &platforms[DIR330]; + case BCM47XX_BOARD_HUAWEI_E970: + return &platforms[HUAWEI_E970]; case BCM47XX_BOARD_LINKSYS_E1000V1: return &platforms[E1000V1]; case BCM47XX_BOARD_LINKSYS_E1000V21: 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 aa63f45357..b172797bfc 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,285 @@ +@@ -0,0 +1,286 @@ +#include +#include +#include @@ -164,6 +164,7 @@ +/* boardtype, boardnum, boardrev */ +static const struct bcm47xx_board_type_list3 bcm47xx_board_list_board[] = { + {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, ++ {{BCM47XX_BOARD_HUAWEI_E970, "Huawei E970"}, "0x048e", "0x5347", "0x11"}, + { {0}, 0}, +}; + @@ -296,7 +297,7 @@ +EXPORT_SYMBOL(bcm47xx_board_get_name); --- /dev/null +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -0,0 +1,102 @@ +@@ -0,0 +1,104 @@ +#ifndef __BCM47XX_BOARD_H +#define __BCM47XX_BOARD_H + @@ -346,6 +347,8 @@ + BCM47XX_BOARD_DLINK_DIR130, + BCM47XX_BOARD_DLINK_DIR330, + ++ BCM47XX_BOARD_HUAWEI_E970, ++ + BCM47XX_BOARD_LINKSYS_E1000V1, + BCM47XX_BOARD_LINKSYS_E1000V2, + BCM47XX_BOARD_LINKSYS_E1000V21,