summaryrefslogtreecommitdiff
path: root/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm63xx/patches-3.14/534-board_hw556.patch')
-rw-r--r--target/linux/brcm63xx/patches-3.14/534-board_hw556.patch52
1 files changed, 5 insertions, 47 deletions
diff --git a/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch b/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
index 0f303ca..4f1e90c 100644
--- a/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
+++ b/target/linux/brcm63xx/patches-3.14/534-board_hw556.patch
@@ -8,7 +8,7 @@
#include <linux/platform_device.h>
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
-@@ -3006,6 +3007,492 @@ static struct board_info __initdata boar
+@@ -3006,6 +3007,495 @@ static struct board_info __initdata boar
},
};
@@ -104,6 +104,7 @@
+};
+static struct board_info __initdata board_HW556_A = {
+ .name = "HW556_A",
++ .of_board_id = "huawei,hg556a-a",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
@@ -231,6 +232,7 @@
+};
+static struct board_info __initdata board_HW556_B = {
+ .name = "HW556_B",
++ .of_board_id = "huawei,hg556a-b",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
@@ -365,6 +367,7 @@
+};
+static struct board_info __initdata board_HW556_C = {
+ .name = "HW556_C",
++ .of_board_id = "huawei,hg556a-c",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
@@ -501,7 +504,7 @@
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3446,6 +3933,10 @@ static const struct board_info __initcon
+@@ -3446,6 +3936,10 @@ static const struct board_info __initcon
&board_nb4_fxc_r2,
&board_ct6373_1,
&board_HW553,
@@ -512,51 +515,6 @@
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -3465,13 +3956,37 @@ static void __init boardid_fixup(u8 *boo
- struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
- char *board_name = (char *)bcm63xx_nvram_get_name();
-
-- if (BCMCPU_IS_6358() && (!strcmp(board_name, "96358VW"))) {
-- u8 *p = boot_addr + NB4_PID_OFFSET;
--
-- /* Extract nb4 PID */
-- if (!memcmp(p, "NB4-", 4)) {
-- memcpy(board_name, p, sizeof("NB4-XXX-rX"));
-- return;
-+ if (BCMCPU_IS_6358()) {
-+ if (!strcmp(board_name, "96358VW")) {
-+ u8 *p = boot_addr + NB4_PID_OFFSET;
-+
-+ /* Extract nb4 PID */
-+ if (!memcmp(p, "NB4-", 4)) {
-+ memcpy(board_name, p, sizeof("NB4-XXX-rX"));
-+ return;
-+ }
-+ } else if (!strcmp(board_name, "HW556")) {
-+ /*
-+ * HW556 has different wlan caldatas depending on
-+ * hardware version.
-+ * Detect hardware version and change board id
-+ */
-+ u8 cal_data_ath9k[4] = { 0xa5, 0x5a, 0, 0 };
-+ u8 cal_data_rt3062[4] = { 0x62, 0x30, 1, 0 };
-+
-+ if (!memcmp(boot_addr + 0xeffe00,
-+ &cal_data_rt3062, 4)) {
-+ /* Ralink 0xeffe00 */
-+ memcpy(board_name, "HW556_A", 7);
-+ } else if (!memcmp(boot_addr + 0xf7e000,
-+ &cal_data_ath9k, 4)) {
-+ /* Atheros 0xf7e000 */
-+ memcpy(board_name, "HW556_B", 7);
-+ } else if (!memcmp(boot_addr + 0xefe000,
-+ &cal_data_ath9k, 4)) {
-+ /* Atheros 0xefe000 */
-+ memcpy(board_name, "HW556_C", 7);
-+ }
- }
- }
-
--- a/drivers/mtd/bcm63xxpart.c
+++ b/drivers/mtd/bcm63xxpart.c
@@ -224,6 +224,11 @@ static int bcm63xx_parse_cfe_partitions(