diff options
author | Jonas Gorski <jogo@openwrt.org> | 2014-08-11 11:37:14 +0000 |
---|---|---|
committer | Jonas Gorski <jogo@openwrt.org> | 2014-08-11 11:37:14 +0000 |
commit | 52b0935efe803609153bf0c040efbe7578695aff (patch) | |
tree | 1ddeb39ead6304d5ffe7629f62b75f71d0285e48 /target/linux/brcm63xx/patches-3.14 | |
parent | 0aa242fe20960cd313fcea8408679adbcf6bdcfd (diff) | |
download | mtk-20170518-52b0935efe803609153bf0c040efbe7578695aff.zip mtk-20170518-52b0935efe803609153bf0c040efbe7578695aff.tar.gz mtk-20170518-52b0935efe803609153bf0c040efbe7578695aff.tar.bz2 |
brcm63xx: use dtb board detection for HW556
This requires individual images for each board version for now.
Linux partition was shrunk to ensure writing thewrong image won't
erase wifi calibration data.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 42126
Diffstat (limited to 'target/linux/brcm63xx/patches-3.14')
17 files changed, 29 insertions, 71 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( diff --git a/target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch b/target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch index 77350e2..5a60a6a 100644 --- a/target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch +++ b/target/linux/brcm63xx/patches-3.14/535-board_rta770w.patch @@ -61,7 +61,7 @@ #endif /* CONFIG_BCM63XX_CPU_6345 */ /* -@@ -3895,6 +3949,7 @@ static const struct board_info __initcon +@@ -3898,6 +3952,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6345 &board_96345gw2, &board_rta770bw, diff --git a/target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch b/target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch index cd23a2f..98de734 100644 --- a/target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch +++ b/target/linux/brcm63xx/patches-3.14/536-board_fast2704.patch @@ -135,7 +135,7 @@ Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com> #endif /* CONFIG_BCM63XX_CPU_6328 */ /* -@@ -3939,6 +4055,7 @@ static const struct board_info __initcon +@@ -3942,6 +4058,7 @@ static const struct board_info __initcon &board_963281TAN, &board_A4001N1, &board_dsl_274xb_f1, diff --git a/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch b/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch index 70def81..172cc6f 100644 --- a/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch +++ b/target/linux/brcm63xx/patches-3.14/537-board_fast2504n.patch @@ -6,7 +6,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org> --- --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -3894,6 +3894,96 @@ static struct board_info __initdata boar +@@ -3897,6 +3897,96 @@ static struct board_info __initdata boar .devs = nb6_devices, .num_devs = ARRAY_SIZE(nb6_devices), }; @@ -103,7 +103,7 @@ Signed-off-by: Max Staudt <openwrt.max@enpas.org> #endif /* CONFIG_BCM63XX_CPU_6362 */ /* -@@ -4115,6 +4205,7 @@ static const struct board_info __initcon +@@ -4118,6 +4208,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6362 &board_nb6, diff --git a/target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch b/target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch index de927de..2fe1ceb 100644 --- a/target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch +++ b/target/linux/brcm63xx/patches-3.14/555-board_96318ref.patch @@ -94,7 +94,7 @@ * known 6328 boards */ #ifdef CONFIG_BCM63XX_CPU_6328 -@@ -4369,6 +4456,9 @@ static const struct board_info __initcon +@@ -4372,6 +4459,9 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_3368 &board_cvg834g, #endif diff --git a/target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch b/target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch index 0bd0742..94823f2 100644 --- a/target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch +++ b/target/linux/brcm63xx/patches-3.14/556-board_96318ref_p300.patch @@ -95,7 +95,7 @@ #endif /* CONFIG_BCM63XX_CPU_6318 */ /* -@@ -4458,6 +4546,7 @@ static const struct board_info __initcon +@@ -4461,6 +4549,7 @@ static const struct board_info __initcon #endif #ifdef CONFIG_BCM63XX_CPU_6318 &board_96318ref, diff --git a/target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch b/target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch index 278c4dc..e7a2f82 100644 --- a/target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch +++ b/target/linux/brcm63xx/patches-3.14/557-board_bcm963269bhr.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -4538,6 +4538,75 @@ static struct board_info __initdata boar +@@ -4541,6 +4541,75 @@ static struct board_info __initdata boar #endif /* CONFIG_BCM63XX_CPU_6368 */ /* @@ -76,7 +76,7 @@ * all boards */ static const struct board_info __initconst *bcm963xx_boards[] = { -@@ -4622,6 +4691,9 @@ static const struct board_info __initcon +@@ -4625,6 +4694,9 @@ static const struct board_info __initcon &board_96368mvwg, &board_96368mvngr, #endif diff --git a/target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch b/target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch index 9e6f320..c52212a 100644 --- a/target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch +++ b/target/linux/brcm63xx/patches-3.14/558-board_AR1004G.patch @@ -61,7 +61,7 @@ Signed-off-by: Adrian Feliks <mexit@o2.pl> /* BT Voyager 2110 */ static struct board_info __initdata board_V2110 = { -@@ -4658,6 +4704,7 @@ static const struct board_info __initcon +@@ -4661,6 +4707,7 @@ static const struct board_info __initcon &board_96348A_122, &board_CPVA502plus, &board_96348W3, diff --git a/target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch b/target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch index 66f6eb6..272ee5a 100644 --- a/target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch +++ b/target/linux/brcm63xx/patches-3.14/559-board_vw6339gu.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -4650,6 +4650,108 @@ static struct board_info __initdata boar +@@ -4653,6 +4653,108 @@ static struct board_info __initdata boar }, }, }; @@ -109,7 +109,7 @@ #endif /* CONFIG_BCM63XX_CPU_63268 */ /* -@@ -4740,6 +4842,7 @@ static const struct board_info __initcon +@@ -4743,6 +4845,7 @@ static const struct board_info __initcon #endif #ifdef CONFIG_BCM63XX_CPU_63268 &board_963269bhr, diff --git a/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch b/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch index e1ca646..65c8add 100644 --- a/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch +++ b/target/linux/brcm63xx/patches-3.14/560-board_963268gu_p300.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -4587,6 +4587,131 @@ static struct board_info __initdata boar +@@ -4590,6 +4590,131 @@ static struct board_info __initdata boar * known 63268/63269 boards */ #ifdef CONFIG_BCM63XX_CPU_63268 @@ -132,7 +132,7 @@ static struct board_info __initdata board_963269bhr = { .name = "963269BHR", .expected_cpu_id = 0x63268, -@@ -4841,6 +4966,7 @@ static const struct board_info __initcon +@@ -4844,6 +4969,7 @@ static const struct board_info __initcon &board_96368mvngr, #endif #ifdef CONFIG_BCM63XX_CPU_63268 diff --git a/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch b/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch index f5cc1ad..87c0069 100644 --- a/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch +++ b/target/linux/brcm63xx/patches-3.14/561-board_WAP-5813n.patch @@ -8,7 +8,7 @@ #include <linux/platform_device.h> #include <linux/spi/spi.h> #include <linux/spi/spi_gpio.h> -@@ -4581,6 +4582,117 @@ static struct board_info __initdata boar +@@ -4584,6 +4585,117 @@ static struct board_info __initdata boar .has_ohci0 = 1, .has_ehci0 = 1, }; @@ -126,7 +126,7 @@ #endif /* CONFIG_BCM63XX_CPU_6368 */ /* -@@ -4964,6 +5076,7 @@ static const struct board_info __initcon +@@ -4967,6 +5079,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6368 &board_96368mvwg, &board_96368mvngr, diff --git a/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch b/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch index c072d0b..2799f22 100644 --- a/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch +++ b/target/linux/brcm63xx/patches-3.14/562-board_VR-3025u.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -4583,6 +4583,116 @@ static struct board_info __initdata boar +@@ -4586,6 +4586,116 @@ static struct board_info __initdata boar .has_ehci0 = 1, }; @@ -117,7 +117,7 @@ static struct b53_platform_data WAP5813n_b53_pdata = { .alias = "eth0", }; -@@ -5076,6 +5186,7 @@ static const struct board_info __initcon +@@ -5079,6 +5189,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6368 &board_96368mvwg, &board_96368mvngr, diff --git a/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch b/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch index 5cdcc12..286ae62 100644 --- a/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch +++ b/target/linux/brcm63xx/patches-3.14/563-board_VR-3025un.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -4693,6 +4693,116 @@ static struct board_info __initdata boar +@@ -4696,6 +4696,116 @@ static struct board_info __initdata boar }, }; @@ -117,7 +117,7 @@ static struct b53_platform_data WAP5813n_b53_pdata = { .alias = "eth0", }; -@@ -5187,6 +5297,7 @@ static const struct board_info __initcon +@@ -5190,6 +5300,7 @@ static const struct board_info __initcon &board_96368mvwg, &board_96368mvngr, &board_VR3025u, diff --git a/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch b/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch index 652c2b2..9b770cf 100644 --- a/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch +++ b/target/linux/brcm63xx/patches-3.14/564-board_P870HW-51a_v2.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -4592,6 +4592,96 @@ static struct sprom_fixup __initdata vr3 +@@ -4595,6 +4595,96 @@ static struct sprom_fixup __initdata vr3 { .offset = 115, .value = 0xfad9 }, }; @@ -97,7 +97,7 @@ static struct board_info __initdata board_VR3025u = { .name = "96368M-1541N", .expected_cpu_id = 0x6368, -@@ -5296,6 +5386,7 @@ static const struct board_info __initcon +@@ -5299,6 +5389,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6368 &board_96368mvwg, &board_96368mvngr, diff --git a/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch b/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch index 1e02663..e035f39 100644 --- a/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch +++ b/target/linux/brcm63xx/patches-3.14/565-board_hw520.patch @@ -57,7 +57,7 @@ static struct board_info __initdata board_HW553 = { .name = "HW553", .expected_cpu_id = 0x6358, -@@ -5369,6 +5419,7 @@ static const struct board_info __initcon +@@ -5372,6 +5422,7 @@ static const struct board_info __initcon &board_nb4_fxc_r1, &board_nb4_fxc_r2, &board_ct6373_1, diff --git a/target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch b/target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch index d7eb88b..3369b52 100644 --- a/target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch +++ b/target/linux/brcm63xx/patches-3.14/566-board_A4001N.patch @@ -96,7 +96,7 @@ static struct board_info __initdata board_A4001N1 = { .name = "963281T_TEF", .expected_cpu_id = 0x6328, -@@ -5367,6 +5456,7 @@ static const struct board_info __initcon +@@ -5370,6 +5459,7 @@ static const struct board_info __initcon &board_AR5381u, &board_AR5387un, &board_963281TAN, diff --git a/target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch b/target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch index a72edbc..13fa11d 100644 --- a/target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch +++ b/target/linux/brcm63xx/patches-3.14/567-board_dsl-2751b_e1.patch @@ -142,7 +142,7 @@ #endif /* CONFIG_BCM63XX_CPU_6318 */ /* -@@ -5450,6 +5585,7 @@ static const struct board_info __initcon +@@ -5453,6 +5588,7 @@ static const struct board_info __initcon #ifdef CONFIG_BCM63XX_CPU_6318 &board_96318ref, &board_96318ref_p300, |