brcm47xx: add detection code for Huawei E970

This is based on a patch by Mathias Adam.

Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 38001
This commit is contained in:
Hauke Mehrtens 2013-09-15 17:00:45 +00:00
parent 554772a665
commit 86405f2c4c
2 changed files with 20 additions and 2 deletions

View file

@ -181,6 +181,9 @@ enum {
/* Edimax */ /* Edimax */
PS1208MFG, PS1208MFG,
/* Huawei */
HUAWEI_E970,
}; };
static void __init bcm4780_init(void) { static void __init bcm4780_init(void) {
@ -1159,6 +1162,16 @@ static struct platform_t __initdata platforms[] = {
{ .name = "wlan", .gpio = 1 << 0, .polarity = NORMAL }, { .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) static struct platform_t __init *platform_detect_legacy(void)
@ -1362,6 +1375,8 @@ static struct platform_t __init *platform_detect(void)
return &platforms[DIR130]; return &platforms[DIR130];
case BCM47XX_BOARD_DLINK_DIR330: case BCM47XX_BOARD_DLINK_DIR330:
return &platforms[DIR330]; return &platforms[DIR330];
case BCM47XX_BOARD_HUAWEI_E970:
return &platforms[HUAWEI_E970];
case BCM47XX_BOARD_LINKSYS_E1000V1: case BCM47XX_BOARD_LINKSYS_E1000V1:
return &platforms[E1000V1]; return &platforms[E1000V1];
case BCM47XX_BOARD_LINKSYS_E1000V21: case BCM47XX_BOARD_LINKSYS_E1000V21:

View file

@ -8,7 +8,7 @@
obj-$(CONFIG_BCM47XX_SSB) += wgt634u.o obj-$(CONFIG_BCM47XX_SSB) += wgt634u.o
--- /dev/null --- /dev/null
+++ b/arch/mips/bcm47xx/board.c +++ b/arch/mips/bcm47xx/board.c
@@ -0,0 +1,285 @@ @@ -0,0 +1,286 @@
+#include <linux/export.h> +#include <linux/export.h>
+#include <linux/string.h> +#include <linux/string.h>
+#include <bcm47xx_board.h> +#include <bcm47xx_board.h>
@ -164,6 +164,7 @@
+/* boardtype, boardnum, boardrev */ +/* boardtype, boardnum, boardrev */
+static const struct bcm47xx_board_type_list3 bcm47xx_board_list_board[] = { +static const struct bcm47xx_board_type_list3 bcm47xx_board_list_board[] = {
+ {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, + {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"},
+ {{BCM47XX_BOARD_HUAWEI_E970, "Huawei E970"}, "0x048e", "0x5347", "0x11"},
+ { {0}, 0}, + { {0}, 0},
+}; +};
+ +
@ -296,7 +297,7 @@
+EXPORT_SYMBOL(bcm47xx_board_get_name); +EXPORT_SYMBOL(bcm47xx_board_get_name);
--- /dev/null --- /dev/null
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
@@ -0,0 +1,102 @@ @@ -0,0 +1,104 @@
+#ifndef __BCM47XX_BOARD_H +#ifndef __BCM47XX_BOARD_H
+#define __BCM47XX_BOARD_H +#define __BCM47XX_BOARD_H
+ +
@ -346,6 +347,8 @@
+ BCM47XX_BOARD_DLINK_DIR130, + BCM47XX_BOARD_DLINK_DIR130,
+ BCM47XX_BOARD_DLINK_DIR330, + BCM47XX_BOARD_DLINK_DIR330,
+ +
+ BCM47XX_BOARD_HUAWEI_E970,
+
+ BCM47XX_BOARD_LINKSYS_E1000V1, + BCM47XX_BOARD_LINKSYS_E1000V1,
+ BCM47XX_BOARD_LINKSYS_E1000V2, + BCM47XX_BOARD_LINKSYS_E1000V2,
+ BCM47XX_BOARD_LINKSYS_E1000V21, + BCM47XX_BOARD_LINKSYS_E1000V21,