--- /dev/null
+From 25bf2b5836c892f091651d8a3384c9c57ce1b400 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Thu, 26 Jun 2014 12:51:00 +0200
+Subject: [PATCH 46/48] MIPS: BCM63XX: add support for matching the board_info
+ by dtb
+
+Allow using the passed dtb's compatible property to match board_info
+structs instead of nvram's boardname field, which is not unique anyway.
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 15 +++++++++++++++
+ arch/mips/bcm63xx/boards/board_common.c | 18 ++++++++++++++++++
+ arch/mips/bcm63xx/boards/board_common.h | 3 +++
+ 3 files changed, 36 insertions(+)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -735,6 +735,10 @@ static const struct board_info __initcon
+ #endif
+ };
+
++static struct of_device_id const bcm963xx_boards_dt[] = {
++ { },
++};
++
+ /*
+ * early init callback, read nvram data from flash and checksum it
+ */
+@@ -746,6 +750,7 @@ void __init board_bcm963xx_init(void)
+ char *board_name = NULL;
+ u32 val;
+ struct bcm_hcs *hcs;
++ const struct of_device_id *board_match;
+
+ /* read base address of boot chip select (0)
+ * 6328/6362 do not have MPI but boot from a fixed address
+@@ -785,6 +790,16 @@ void __init board_bcm963xx_init(void)
+ } else {
+ board_name = bcm63xx_nvram_get_name();
+ }
++
++ /* find board by compat */
++ board_match = bcm63xx_match_board(bcm963xx_boards_dt);
++ if (board_match) {
++ board_early_setup(board_match->data,
++ bcm63xx_nvram_get_mac_address);
++
++ return;
++ }
++
+ /* find board by name */
+ for (i = 0; i < ARRAY_SIZE(bcm963xx_boards); i++) {
+ if (strncmp(board_name, bcm963xx_boards[i]->name, 16))
+--- a/arch/mips/bcm63xx/boards/board_common.c
++++ b/arch/mips/bcm63xx/boards/board_common.c
+@@ -281,3 +281,21 @@ int __init board_register_devices(void)
+
+ return 0;
+ }
++
++const struct of_device_id * __init bcm63xx_match_board(const struct of_device_id *m)
++{
++ const struct of_device_id *match;
++ unsigned long dt_root;
++
++ if (!IS_ENABLED(CONFIG_OF) || !initial_boot_params)
++ return NULL;
++
++ dt_root = of_get_flat_dt_root();
++
++ for (match = m; match->compatible[0]; match++) {
++ if (of_flat_dt_is_compatible(dt_root, match->compatible))
++ return match;
++ }
++
++ return NULL;
++}
+--- a/arch/mips/bcm63xx/boards/board_common.h
++++ b/arch/mips/bcm63xx/boards/board_common.h
+@@ -1,11 +1,14 @@
+ #ifndef __BOARD_COMMON_H
+ #define __BOARD_COMMON_H
+
++#include <linux/of.h>
+ #include <board_bcm963xx.h>
+
+ void board_early_setup(const struct board_info *board,
+ int (*get_mac_address)(u8 mac[ETH_ALEN]));
+
++const struct of_device_id *bcm63xx_match_board(const struct of_device_id *);
++
+ #if defined(CONFIG_BOARD_BCM963XX)
+ void board_bcm963xx_init(void);
+ #else
+++ /dev/null
-From e8c11c43a9eb8171d150850c498bc75205681ab8 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Thu, 26 Jun 2014 12:49:33 +0200
-Subject: [PATCH 46/48] MIPS: BCM63XX: expand board_info with an of compatible
- string
-
-It will be used for matching board_info structs to a passed dtb until
-bcm63xx is fully converted.
-
-Signed-off-by: Jonas Gorski <jogo@openwrt.org>
----
- arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -21,6 +21,7 @@
- */
- struct board_info {
- u8 name[16];
-+ u8 of_board_id[32];
- unsigned int expected_cpu_id;
-
- /* enabled feature/device */
+++ /dev/null
-From b9bc4eb19007fd35b57a10c4dfd442dd518ee345 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Thu, 26 Jun 2014 12:51:00 +0200
-Subject: [PATCH 47/48] MIPS: BCM63XX: add support for matching the board_info
- by dtb
-
-Allow using the passed dtb's compatible property to match board_info
-structs instead of nvram's boardname field, which is not unique anyway.
-
-Signed-off-by: Jonas Gorski <jogo@openwrt.org>
----
- arch/mips/bcm63xx/boards/board_bcm963xx.c | 4 ++--
- arch/mips/bcm63xx/boards/board_common.c | 13 +++++++++++++
- arch/mips/bcm63xx/boards/board_common.h | 3 +++
- 3 files changed, 18 insertions(+), 2 deletions(-)
-
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -785,9 +785,9 @@ void __init board_bcm963xx_init(void)
- } else {
- board_name = bcm63xx_nvram_get_name();
- }
-- /* find board by name */
-+ /* find board by name/compat */
- for (i = 0; i < ARRAY_SIZE(bcm963xx_boards); i++) {
-- if (strncmp(board_name, bcm963xx_boards[i]->name, 16))
-+ if (!board_is_compatible(bcm963xx_boards[i], board_name))
- continue;
- /* copy, board desc array is marked initdata */
- board_early_setup(bcm963xx_boards[i],
---- a/arch/mips/bcm63xx/boards/board_common.c
-+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -281,3 +281,16 @@ int __init board_register_devices(void)
-
- return 0;
- }
-+
-+int __init board_is_compatible(const struct board_info *board,
-+ const char *board_name)
-+{
-+#ifdef CONFIG_OF
-+ if (initial_boot_params) {
-+ unsigned long dt_root = of_get_flat_dt_root();
-+
-+ return of_flat_dt_is_compatible(dt_root, board->of_board_id);
-+ }
-+#endif
-+ return !strncmp(board_name, board->name, 16);
-+}
---- a/arch/mips/bcm63xx/boards/board_common.h
-+++ b/arch/mips/bcm63xx/boards/board_common.h
-@@ -6,6 +6,9 @@
- void board_early_setup(const struct board_info *board,
- int (*get_mac_address)(u8 mac[ETH_ALEN]));
-
-+int board_is_compatible(const struct board_info *board,
-+ const char *board_name);
-+
- #if defined(CONFIG_BOARD_BCM963XX)
- void board_bcm963xx_init(void);
- #else
--- /dev/null
+From e71eea9953c774dfadb754258824fb1888c279f4 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jogo@openwrt.org>
+Date: Fri, 21 Nov 2014 16:54:06 +0100
+Subject: [PATCH 47/48] MIPS: BCM63XX: populate the compatible to board_info
+ list
+
+Populate the compatible to board_info list to allow dtbs to be used
+for known boards.
+
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 35 +++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -736,6 +736,41 @@ static const struct board_info __initcon
+ };
+
+ static struct of_device_id const bcm963xx_boards_dt[] = {
++#ifdef CONFIG_OF
++#ifdef CONFIG_BCM63XX_CPU_3368
++ { .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
++#endif
++#ifdef CONFIG_BCM63XX_CPU_6328
++ { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
++#endif
++#ifdef CONFIG_BCM63XX_CPU_6338
++ { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
++ { .compatible = "brcm,bcm96338w", .data = &board_96338w, },
++#endif
++#ifdef CONFIG_BCM63XX_CPU_6345
++ { .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
++#endif
++#ifdef CONFIG_BCM63XX_CPU_6348
++ { .compatible = "brcm,bcm96348r", .data = &board_96348r, },
++ { .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
++ { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
++ { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
++ { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
++ { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
++#endif
++#ifdef CONFIG_BCM63XX_CPU_6358
++ { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
++ { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
++ { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
++ { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
++ { .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
++#endif
++#ifdef CONFIG_BCM63XX_CPU_6368
++#endif
++#ifdef CONFIG_BCM63XX_CPU_63268
++ { .compatible = "brcm,bcm963268bu_p300", .data = &board_963268bu_p300, },
++#endif
++#endif /* CONFIG_OF */
+ { },
+ };
+
+++ /dev/null
-From 020faee6d3cef9b3cdda257a255c4007a4b38720 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jogo@openwrt.org>
-Date: Tue, 8 Jul 2014 16:17:32 +0200
-Subject: [PATCH 48/48] MIPS: BCM63XX: add of_board_ids for all supported boards
-
----
- arch/mips/bcm63xx/boards/board_bcm963xx.c | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -37,6 +37,7 @@
- #ifdef CONFIG_BCM63XX_CPU_3368
- static struct board_info __initdata board_cvg834g = {
- .name = "CVG834G_E15R3921",
-+ .of_board_id = "netgear,cvg834g",
- .expected_cpu_id = 0x3368,
-
- .has_uart0 = 1,
-@@ -69,6 +70,7 @@ static struct board_info __initdata boar
- #ifdef CONFIG_BCM63XX_CPU_6328
- static struct board_info __initdata board_96328avng = {
- .name = "96328avng",
-+ .of_board_id = "brcm,bcm96328avng",
- .expected_cpu_id = 0x6328,
-
- .has_uart0 = 1,
-@@ -118,6 +120,7 @@ static struct board_info __initdata boar
- #ifdef CONFIG_BCM63XX_CPU_6338
- static struct board_info __initdata board_96338gw = {
- .name = "96338GW",
-+ .of_board_id = "brcm,bcm96338gw",
- .expected_cpu_id = 0x6338,
-
- .has_uart0 = 1,
-@@ -161,6 +164,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_96338w = {
- .name = "96338W",
-+ .of_board_id = "brcm,bcm96338w",
- .expected_cpu_id = 0x6338,
-
- .has_uart0 = 1,
-@@ -207,6 +211,7 @@ static struct board_info __initdata boar
- #ifdef CONFIG_BCM63XX_CPU_6345
- static struct board_info __initdata board_96345gw2 = {
- .name = "96345GW2",
-+ .of_board_id = "brcm,bcm96345gw2",
- .expected_cpu_id = 0x6345,
-
- .has_uart0 = 1,
-@@ -219,6 +224,7 @@ static struct board_info __initdata boar
- #ifdef CONFIG_BCM63XX_CPU_6348
- static struct board_info __initdata board_96348r = {
- .name = "96348R",
-+ .of_board_id = "brcm,bcm96348r",
- .expected_cpu_id = 0x6348,
-
- .has_uart0 = 1,
-@@ -264,6 +270,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_96348gw_10 = {
- .name = "96348GW-10",
-+ .of_board_id = "brcm,bcm96348gw-10",
- .expected_cpu_id = 0x6348,
-
- .has_uart0 = 1,
-@@ -325,6 +332,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_96348gw_11 = {
- .name = "96348GW-11",
-+ .of_board_id = "brcm,bcm96348gw-11",
- .expected_cpu_id = 0x6348,
-
- .has_uart0 = 1,
-@@ -390,6 +398,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_96348gw = {
- .name = "96348GW",
-+ .of_board_id = "brcm,bcm96348gw",
- .expected_cpu_id = 0x6348,
-
- .has_uart0 = 1,
-@@ -459,6 +468,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_FAST2404 = {
- .name = "F@ST2404",
-+ .of_board_id = "sagem,f@st2404",
- .expected_cpu_id = 0x6348,
-
- .has_uart0 = 1,
-@@ -484,6 +494,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_rta1025w_16 = {
- .name = "RTA1025W_16",
-+ .of_board_id = "dynalink,rta1025w",
- .expected_cpu_id = 0x6348,
-
- .has_enet0 = 1,
-@@ -504,6 +515,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_DV201AMR = {
- .name = "DV201AMR",
-+ .of_board_id = "davolink,dv-201amr",
- .expected_cpu_id = 0x6348,
-
- .has_uart0 = 1,
-@@ -525,6 +537,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_96348gw_a = {
- .name = "96348GW-A",
-+ .of_board_id = "brcm,bcm96348gw-a",
- .expected_cpu_id = 0x6348,
-
- .has_uart0 = 1,
-@@ -552,6 +565,7 @@ static struct board_info __initdata boar
- #ifdef CONFIG_BCM63XX_CPU_6358
- static struct board_info __initdata board_96358vw = {
- .name = "96358VW",
-+ .of_board_id = "brcm,bcm96358vw",
- .expected_cpu_id = 0x6358,
-
- .has_uart0 = 1,
-@@ -605,6 +619,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_96358vw2 = {
- .name = "96358VW2",
-+ .of_board_id = "brcm,bcm96358vw2",
- .expected_cpu_id = 0x6358,
-
- .has_uart0 = 1,
-@@ -655,6 +670,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_AGPFS0 = {
- .name = "AGPF-S0",
-+ .of_board_id = "pirelli,agpf-s0",
- .expected_cpu_id = 0x6358,
-
- .has_uart0 = 1,
-@@ -678,6 +694,7 @@ static struct board_info __initdata boar
-
- static struct board_info __initdata board_DWVS0 = {
- .name = "DWV-S0",
-+ .of_board_id = "pirelli,a226g",
- .expected_cpu_id = 0x6358,
-
- .has_enet0 = 1,
/*
* board definition
*/
-@@ -37,6 +43,10 @@ struct board_info {
+@@ -36,6 +42,10 @@ struct board_info {
unsigned int has_uart0:1;
unsigned int has_uart1:1;
unsigned int use_fallback_sprom:1;
};
/*
-@@ -48,7 +53,7 @@ struct board_info {
+@@ -47,7 +52,7 @@ struct board_info {
unsigned int has_caldata:2;
/* wifi calibration data config */
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -62,7 +62,7 @@ static struct board_info __initdata boar
+@@ -61,7 +61,7 @@ static struct board_info __initdata boar
.ephy_reset_gpio = 36,
.ephy_reset_gpio_flags = GPIOF_INIT_HIGH,
};
/*
* known 6328 boards
-@@ -112,7 +112,7 @@ static struct board_info __initdata boar
+@@ -110,7 +110,7 @@ static struct board_info __initdata boar
},
},
};
/*
* known 6338 boards
-@@ -203,7 +203,7 @@ static struct board_info __initdata boar
+@@ -199,7 +199,7 @@ static struct board_info __initdata boar
},
},
};
/*
* known 6345 boards
-@@ -216,7 +216,7 @@ static struct board_info __initdata boar
+@@ -211,7 +211,7 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
/*
* known 6348 boards
-@@ -557,7 +557,7 @@ static struct board_info __initdata boar
+@@ -544,7 +544,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
/*
* known 6358 boards
-@@ -714,7 +714,7 @@ static struct board_info __initdata boar
+@@ -697,7 +697,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -557,6 +557,56 @@ static struct board_info __initdata boar
+@@ -544,6 +544,56 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -742,6 +792,7 @@ static const struct board_info __initcon
+@@ -725,6 +775,7 @@ static const struct board_info __initcon
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
/*
* known 3368 boards
*/
-@@ -764,6 +776,270 @@ static struct board_info __initdata boar
+@@ -747,6 +759,268 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
+
+static struct board_info __initdata board_nb4_ser_r0 = {
+ .name = "NB4-SER-r0",
-+ .of_board_id = "sfr,nb4-ser-r0",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
+
+static struct board_info __initdata board_nb4_fxc_r1 = {
+ .name = "NB4-FXC-r1",
-+ .of_board_id = "sfr,nb4-fxc-r1",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -800,6 +1076,8 @@ static const struct board_info __initcon
+@@ -783,6 +1057,8 @@ static const struct board_info __initcon
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
#endif
};
+@@ -815,6 +1091,8 @@ static struct of_device_id const bcm963x
+ { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
+ { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
+ { .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
++ { .compatible = "sfr,nb4-ser-r0", .data = &board_nb4_ser_r0, },
++ { .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ #endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -215,6 +215,40 @@ static struct board_info __initdata boar
+@@ -211,6 +211,40 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -1055,6 +1089,7 @@ static const struct board_info __initcon
+@@ -1036,6 +1070,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -764,6 +764,98 @@ static struct board_info __initdata boar
+@@ -749,6 +749,98 @@ static struct board_info __initdata boar
},
};
+
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
- .of_board_id = "pirelli,agpf-s0",
-@@ -1110,6 +1202,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6358,
+@@ -1091,6 +1183,7 @@ static const struct board_info __initcon
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -903,6 +903,62 @@ static struct board_info __initdata boar
+@@ -886,6 +886,61 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
+/* D-Link DSL-274xB revison C2/C3 */
+static struct board_info __initdata board_dsl_274xb_rev_c = {
+ .name = "AW4139",
-+ .of_board_id = "d-link,dsl-274xb-c2",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
struct spi_gpio_platform_data nb4_spi_gpio_data = {
.sck = NB4_SPI_GPIO_CLK,
.mosi = NB4_SPI_GPIO_MOSI,
-@@ -1204,6 +1260,7 @@ static const struct board_info __initcon
+@@ -1185,6 +1240,7 @@ static const struct board_info __initcon
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
+@@ -1216,6 +1272,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_6358
+ { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
+ { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
++ { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
+ { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
+ { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
+ { .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -653,6 +653,85 @@ static struct board_info __initdata boar
+@@ -640,6 +640,84 @@ static struct board_info __initdata boar
},
},
};
+
+static struct board_info __initdata board_spw500v = {
+ .name = "SPW500V",
-+ .of_board_id = "t-com,spw500v",
+ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1252,6 +1331,7 @@ static const struct board_info __initcon
+@@ -1232,6 +1310,7 @@ static const struct board_info __initcon
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
+@@ -1268,6 +1347,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
+ { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+ { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
++ { .compatible = "t-com,spw500v", .data = &board_spw500v, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
+ { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -512,6 +512,114 @@ static struct board_info __initdata boar
+@@ -503,6 +503,112 @@ static struct board_info __initdata boar
},
};
+static struct board_info __initdata board_gw6200 = {
+ .name = "GW6200",
-+ .of_board_id = "tecom,gw6200",
+ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
+
+static struct board_info __initdata board_gw6000 = {
+ .name = "GW6000",
-+ .of_board_id = "tecom,gw6000",
+ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
+
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
- .of_board_id = "sagem,f@st2404",
-@@ -1324,6 +1432,8 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6348,
+@@ -1303,6 +1409,8 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
+@@ -1348,6 +1456,8 @@ static struct of_device_id const bcm963x
+ { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+ { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
+ { .compatible = "t-com,spw500v", .data = &board_spw500v, },
++ { .compatible = "tecom,gw6000", .data = &board_gw6000, },
++ { .compatible = "tecom,gw6200", .data = &board_gw6200, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6358
+ { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -840,6 +840,78 @@ static struct board_info __initdata boar
+@@ -824,6 +824,78 @@ static struct board_info __initdata boar
.num_board_fixups = ARRAY_SIZE(spw500v_fixups),
},
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1442,6 +1514,7 @@ static const struct board_info __initcon
+@@ -1419,6 +1491,7 @@ static const struct board_info __initcon
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1481,6 +1481,84 @@ static struct board_info __initdata boar
+@@ -1458,6 +1458,83 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
+
+static struct board_info __initdata board_HW553 = {
+ .name = "HW553",
-+ .of_board_id = "huawei,hg553",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1526,6 +1604,7 @@ static const struct board_info __initcon
+@@ -1503,6 +1580,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
};
+@@ -1536,6 +1614,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
+ { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
+ { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
++ { .compatible = "huawei,hg553", .data = &board_HW553, },
+ { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
+ { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
+ { .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -249,6 +249,45 @@ static struct board_info __initdata boar
+@@ -245,6 +245,45 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -1575,6 +1614,7 @@ static const struct board_info __initcon
+@@ -1551,6 +1590,7 @@ static const struct board_info __initcon
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1598,6 +1598,72 @@ static struct board_info __initdata boar
+@@ -1574,6 +1574,72 @@ static struct board_info __initdata boar
.pci_dev = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1645,6 +1711,7 @@ static const struct board_info __initcon
+@@ -1621,6 +1687,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_HW553,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -951,6 +951,65 @@ static struct board_info __initdata boar
+@@ -935,6 +935,65 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1699,6 +1758,7 @@ static const struct board_info __initcon
+@@ -1675,6 +1734,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1737,6 +1797,22 @@ void __init board_bcm963xx_init(void)
+@@ -1760,6 +1820,22 @@ void __init board_bcm963xx_init(void)
val &= MPI_CSBASE_BASE_MASK;
}
boot_addr = (u8 *)KSEG1ADDR(val);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -481,6 +481,64 @@ static struct board_info __initdata boar
+@@ -473,6 +473,64 @@ static struct board_info __initdata boar
},
};
+
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
- .of_board_id = "brcm,bcm96348gw",
-@@ -1759,6 +1817,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6348,
+@@ -1735,6 +1793,7 @@ static const struct board_info __initcon
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -539,6 +539,59 @@ static struct board_info __initdata boar
+@@ -531,6 +531,58 @@ static struct board_info __initdata boar
};
+static struct board_info __initdata board_ct536_ct5621 = {
+ .name = "CT536_CT5621",
-+ .of_board_id = "comtrend,ct-536+",
+ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
+
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
- .of_board_id = "brcm,bcm96348gw",
-@@ -1818,6 +1871,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6348,
+@@ -1794,6 +1846,7 @@ static const struct board_info __initcon
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
+@@ -1830,6 +1883,8 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
+ { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
+ { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
++ { .compatible = "comtrend,ct-536+", .data = &board_ct536_ct5621, },
++ { .compatible = "comtrend,ct-5621", .data = &board_ct536_ct5621, },
+ { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+ { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
+ { .compatible = "t-com,spw500v", .data = &board_spw500v, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1353,6 +1353,8 @@ static struct board_info __initdata boar
- .of_board_id = "pirelli,a226g",
+@@ -1332,6 +1332,8 @@ static struct board_info __initdata boar
+ .name = "DWV-S0",
.expected_cpu_id = 0x6358,
+ .has_uart0 = 1,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -1369,6 +1371,7 @@ static struct board_info __initdata boar
+@@ -1348,6 +1350,7 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -592,6 +592,77 @@ static struct board_info __initdata boar
+@@ -583,6 +583,76 @@ static struct board_info __initdata boar
},
};
+static struct board_info __initdata board_96348A_122 = {
+ .name = "96348A-122",
-+ .of_board_id = "comtrend,ct-5365",
+ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
+
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
- .of_board_id = "brcm,bcm96348gw",
-@@ -1875,6 +1946,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6348,
+@@ -1850,6 +1920,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
+@@ -1887,6 +1958,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
+ { .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
+ { .compatible = "comtrend,ct-536+", .data = &board_ct536_ct5621, },
++ { .compatible = "comtrend,ct-5365", .data = &board_96348A_122, },
+ { .compatible = "comtrend,ct-5621", .data = &board_ct536_ct5621, },
+ { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+ { .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -872,6 +872,7 @@ static struct board_info __initdata boar
- .of_board_id = "dynalink,rta1025w",
+@@ -857,6 +857,7 @@ static struct board_info __initdata boar
+ .name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
+ .has_uart0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -538,6 +538,40 @@ static struct board_info __initdata boar
+@@ -530,6 +530,40 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_ct536_ct5621 = {
.name = "CT536_CT5621",
-@@ -1948,6 +1982,7 @@ static const struct board_info __initcon
+@@ -1922,6 +1956,7 @@ static const struct board_info __initcon
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1946,6 +1946,86 @@ static struct board_info __initdata boar
+@@ -1920,6 +1920,85 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
+#ifdef CONFIG_BCM63XX_CPU_6368
+static struct board_info __initdata board_96368mvwg = {
+ .name = "96368MVWG",
-+ .of_board_id = "brcm,bcm96368mvwg",
+ .expected_cpu_id = 0x6368,
+
+ .has_uart0 = 1,
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1997,6 +2077,10 @@ static const struct board_info __initcon
+@@ -1971,6 +2050,10 @@ static const struct board_info __initcon
&board_HW553,
&board_spw303v,
#endif
+#endif
};
- /*
+ static struct of_device_id const bcm963xx_boards_dt[] = {
+@@ -2014,6 +2097,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
++ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ { .compatible = "brcm,bcm963268bu_p300", .data = &board_963268bu_p300, },
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -88,12 +88,25 @@ void __init board_early_setup(const stru
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2023,6 +2023,73 @@ static struct board_info __initdata boar
+@@ -1996,6 +1996,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
+
+static struct board_info __initdata board_96368mvngr = {
+ .name = "96368MVNgr",
-+ .of_board_id = "brcm,bcm96368mvngr",
+ .expected_cpu_id = 0x6368,
+
+ .has_uart0 = 1,
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -2080,6 +2147,7 @@ static const struct board_info __initcon
+@@ -2053,6 +2119,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
#endif
};
+@@ -2097,6 +2164,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
++ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -95,13 +95,45 @@ static struct board_info __initdata boar
+@@ -93,13 +93,45 @@ static struct board_info __initdata boar
.port_no = 0,
},
.name = "96328avng::power",
.gpio = 4,
.active_low = 1,
-@@ -118,7 +150,7 @@ static struct board_info __initdata boar
+@@ -116,7 +148,7 @@ static struct board_info __initdata boar
.active_low = 1,
},
{
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -156,6 +156,77 @@ static struct board_info __initdata boar
+@@ -154,6 +154,76 @@ static struct board_info __initdata boar
},
},
};
+
+static struct board_info __initdata board_963281TAN = {
+ .name = "963281TAN",
-+ .of_board_id = "brcm,bcm963281TAN",
+ .expected_cpu_id = 0x6328,
+
+ .has_uart0 = 1,
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2133,6 +2204,7 @@ static const struct board_info __initcon
+@@ -2105,6 +2175,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
+@@ -2161,6 +2232,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
++ { .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
+ { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -227,6 +227,111 @@ static struct board_info __initdata boar
+@@ -224,6 +224,111 @@ static struct board_info __initdata boar
},
};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2205,6 +2310,7 @@ static const struct board_info __initcon
+@@ -2176,6 +2281,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1176,6 +1176,59 @@ static struct board_info __initdata boar
+@@ -1158,6 +1158,59 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
static struct board_info __initdata board_96348_D4PW = {
.name = "D-4P-W",
.expected_cpu_id = 0x6348,
-@@ -2340,6 +2393,7 @@ static const struct board_info __initcon
+@@ -2311,6 +2364,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
/*
* known 3368 boards
*/
-@@ -2061,6 +2067,125 @@ static struct board_info __initdata boar
+@@ -2035,6 +2041,124 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
+
+static struct board_info __initdata board_ct6373_1 = {
+ .name = "CT6373-1",
-+ .of_board_id = "comtrend,ct-6373",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
+
static struct board_info __initdata board_HW553 = {
.name = "HW553",
- .of_board_id = "huawei,hg553",
-@@ -2405,6 +2530,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6358,
+@@ -2376,6 +2500,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_HW553,
&board_spw303v,
#endif
+@@ -2419,6 +2544,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_6358
+ { .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
+ { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
++ { .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
+ { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
+ { .compatible = "huawei,hg553", .data = &board_HW553, },
+ { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2329,6 +2329,74 @@ static struct board_info __initdata boar
+@@ -2301,6 +2301,73 @@ static struct board_info __initdata boar
},
}
};
+/* D-Link DVA-G3810BN/TL */
+static struct board_info __initdata board_DVAG3810BN = {
+ .name = "DVAG3810BN",
-+ .of_board_id = "d-link,dva-g3810bn/tl",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -2533,6 +2601,7 @@ static const struct board_info __initcon
+@@ -2503,6 +2570,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
+@@ -2546,6 +2614,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
+ { .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
+ { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
++ { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
+ { .compatible = "huawei,hg553", .data = &board_HW553, },
+ { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
+ { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
#define CT6373_PID_OFFSET 0xff80
#define CT6373_74X164_GPIO_BASE 64
-@@ -2399,6 +2402,105 @@ static struct board_info __initdata boar
+@@ -2370,6 +2373,104 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
+
+static struct board_info __initdata board_nb6 = {
+ .name = "NB6",
-+ .of_board_id = "sfr,nb6-ser-r0",
+ .expected_cpu_id = 0x6362,
+
+ .has_uart0 = 1,
/*
* known 6368 boards
*/
-@@ -2604,6 +2706,10 @@ static const struct board_info __initcon
+@@ -2573,6 +2674,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
+@@ -2622,6 +2727,9 @@ static struct of_device_id const bcm963x
+ { .compatible = "sfr,nb4-ser-r0", .data = &board_nb4_ser_r0, },
+ { .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
+ #endif
++#ifdef CONFIG_BCM63XX_CPU_6362
++ { .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
++#endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1118,6 +1118,57 @@ static struct board_info __initdata boar
+@@ -1103,6 +1103,57 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
+
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
- .of_board_id = "dynalink,rta1025w",
-@@ -2677,6 +2728,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6348,
+@@ -2645,6 +2696,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -237,6 +237,134 @@ static struct board_info __initdata boar
+@@ -234,6 +234,133 @@ static struct board_info __initdata boar
},
};
+static struct board_info __initdata board_A4001N1 = {
+ .name = "963281T_TEF",
-+ .of_board_id = "adb,a4001n1",
+ .expected_cpu_id = 0x6328,
+
+ .has_uart0 = 1,
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -2709,6 +2837,7 @@ static const struct board_info __initcon
+@@ -2677,6 +2804,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
&board_dsl_274xb_f1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
+@@ -2742,6 +2870,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
++ { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
+ { .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
+ { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
+ #endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -166,6 +166,116 @@ static struct board_info __initdata boar
+@@ -164,6 +164,115 @@ static struct board_info __initdata boar
},
};
+
+static struct board_info __initdata board_AR5387un = {
+ .name = "96328A-1441N1",
-+ .of_board_id = "comtrend,ar-5387un",
+ .expected_cpu_id = 0x6328,
+
+ .has_uart0 = 1,
+
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
- .of_board_id = "brcm,bcm963281TAN",
-@@ -2836,6 +2946,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6328,
+@@ -2803,6 +2912,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
+@@ -2873,6 +2983,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
+ { .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
+ { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
++ { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+ { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -166,6 +166,92 @@ static struct board_info __initdata boar
+@@ -164,6 +164,91 @@ static struct board_info __initdata boar
},
};
+
+static struct board_info __initdata board_AR5381u = {
+ .name = "96328A-1241N",
-+ .of_board_id = "comtrend,ar-5381u",
+ .expected_cpu_id = 0x6328,
+
+ .has_uart0 = 1,
static struct sprom_fixup __initdata ar5387un_fixups[] = {
{ .offset = 2, .value = 0x05bb },
{ .offset = 65, .value = 0x1204 },
-@@ -2946,6 +3032,7 @@ static const struct board_info __initcon
+@@ -2912,6 +2997,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
+@@ -2983,6 +3069,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
+ { .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
+ { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
++ { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
+ { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -842,6 +842,55 @@ static struct board_info __initdata boar
+@@ -833,6 +833,55 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3046,6 +3095,7 @@ static const struct board_info __initcon
+@@ -3011,6 +3060,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
#include <linux/platform_device.h>
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
-@@ -2691,6 +2692,405 @@ static struct board_info __initdata boar
+@@ -2660,6 +2661,402 @@ static struct board_info __initdata boar
},
};
+static struct board_info __initdata board_HW556_C = {
+ .name = "HW556_C",
-+ .of_board_id = "huawei,hg556a-c",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
+};
+static struct board_info __initdata board_HW556_A = {
+ .name = "HW556_A",
-+ .of_board_id = "huawei,hg556a-a",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
+};
+static struct board_info __initdata board_HW556_B = {
+ .name = "HW556_B",
-+ .of_board_id = "huawei,hg556a-b",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3131,6 +3531,9 @@ static const struct board_info __initcon
+@@ -3096,6 +3493,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
&board_spw303v,
&board_DVAG3810BN,
#endif
+@@ -3150,6 +3550,9 @@ static struct of_device_id const bcm963x
+ { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
+ { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
+ { .compatible = "huawei,hg553", .data = &board_HW553, },
++ { .compatible = "huawei,hg556a-a", .data = &board_HW556_A, },
++ { .compatible = "huawei,hg556a-b", .data = &board_HW556_B, },
++ { .compatible = "huawei,hg556a-c", .data = &board_HW556_C, },
+ { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
+ { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
+ { .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -892,6 +892,60 @@ static struct board_info __initdata boar
+@@ -883,6 +883,60 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3496,6 +3550,7 @@ static const struct board_info __initcon
+@@ -3458,6 +3512,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -666,6 +666,122 @@ static struct board_info __initdata boar
+@@ -660,6 +660,122 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -3540,6 +3656,7 @@ static const struct board_info __initcon
+@@ -3502,6 +3618,7 @@ static const struct board_info __initcon
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3493,6 +3493,96 @@ static struct board_info __initdata boar
+@@ -3457,6 +3457,96 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
-@@ -3712,6 +3802,7 @@ static const struct board_info __initcon
+@@ -3674,6 +3764,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6362
&board_nb6,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2317,6 +2317,99 @@ static struct board_info __initdata boar
+@@ -2292,6 +2292,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1778,6 +1778,19 @@ static struct board_info __initdata boar
+@@ -1757,6 +1757,19 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1174,6 +1174,17 @@ static struct board_info __initdata boar
+@@ -1163,6 +1163,17 @@ static struct board_info __initdata boar
.active_low = 1,
},
},
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -796,6 +796,8 @@ static struct board_info __initdata boar
+@@ -789,6 +789,8 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -840,6 +842,8 @@ static struct board_info __initdata boar
+@@ -832,6 +834,8 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1130,6 +1134,8 @@ static struct board_info __initdata boar
+@@ -1119,6 +1123,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1204,6 +1210,8 @@ static struct board_info __initdata boar
+@@ -1192,6 +1198,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1485,6 +1493,8 @@ static struct board_info __initdata boar
+@@ -1470,6 +1478,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1664,6 +1674,8 @@ static struct board_info __initdata boar
+@@ -1646,6 +1656,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1740,6 +1752,8 @@ static struct board_info __initdata boar
+@@ -1721,6 +1733,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1763,6 +1777,8 @@ static struct board_info __initdata boar
+@@ -1743,6 +1757,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1784,6 +1800,8 @@ static struct board_info __initdata boar
+@@ -1763,6 +1779,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2139,6 +2157,8 @@ static struct board_info __initdata boar
+@@ -2116,6 +2134,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2193,6 +2213,8 @@ static struct board_info __initdata boar
+@@ -2169,6 +2189,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2335,6 +2357,8 @@ static struct board_info __initdata boar
+@@ -2310,6 +2332,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2454,6 +2478,8 @@ static struct board_info __initdata boar
+@@ -2428,6 +2452,8 @@ static struct board_info __initdata boar
},
.enet1 = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2486,6 +2486,94 @@ static struct board_info __initdata boar
+@@ -2460,6 +2460,94 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -87,6 +87,93 @@ static struct board_info __initdata boar
+@@ -86,6 +86,93 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_3368 */
/*
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -3970,6 +4057,9 @@ static const struct board_info __initcon
+@@ -3932,6 +4019,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -171,6 +171,94 @@ static struct board_info __initdata boar
+@@ -170,6 +170,94 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -4059,6 +4147,7 @@ static const struct board_info __initcon
+@@ -4021,6 +4109,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4139,6 +4139,75 @@ static struct board_info __initdata boar
+@@ -4101,6 +4101,75 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4219,6 +4288,9 @@ static const struct board_info __initcon
+@@ -4181,6 +4250,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
+#endif
};
- /*
+ static struct of_device_id const bcm963xx_boards_dt[] = {
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1436,6 +1436,52 @@ static struct board_info __initdata boar
+@@ -1424,6 +1424,51 @@ static struct board_info __initdata boar
},
};
+static struct board_info __initdata board_96348gw_10_AR1004G = {
+ .name = "AR1004G",
-+ .of_board_id = "asmax,ar1004g",
+ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
-@@ -4259,6 +4305,7 @@ static const struct board_info __initcon
+@@ -4221,6 +4266,7 @@ static const struct board_info __initcon
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
+@@ -4275,6 +4321,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6348
++ { .compatible = "asmax,ar1004g", .data = &board_96348gw_10_AR1004G, },
+ { .compatible = "brcm,bcm96348r", .data = &board_96348r, },
+ { .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
+ { .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4251,6 +4251,108 @@ static struct board_info __initdata boar
+@@ -4212,6 +4212,108 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -4337,6 +4439,7 @@ static const struct board_info __initcon
+@@ -4298,6 +4400,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4188,6 +4188,131 @@ static struct board_info __initdata boar
+@@ -4149,6 +4149,131 @@ static struct board_info __initdata boar
* known 63268/63269 boards
*/
#ifdef CONFIG_BCM63XX_CPU_63268
static struct board_info __initdata board_963269bhr = {
.name = "963269BHR",
.expected_cpu_id = 0x63268,
-@@ -4438,6 +4563,7 @@ static const struct board_info __initcon
+@@ -4399,6 +4524,7 @@ static const struct board_info __initcon
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
#include <linux/platform_device.h>
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
-@@ -4182,6 +4183,118 @@ static struct board_info __initdata boar
+@@ -4143,6 +4144,117 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
+
+static struct board_info __initdata board_WAP5813n = {
+ .name = "96369R-1231N",
-+ .of_board_id = "comtrend,wap-5813n",
+ .expected_cpu_id = 0x6368,
+
+ .has_uart0 = 1,
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -4561,6 +4674,7 @@ static const struct board_info __initcon
+@@ -4522,6 +4634,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
+@@ -4586,6 +4699,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
++ { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ { .compatible = "brcm,bcm963268bu_p300", .data = &board_963268bu_p300, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4184,6 +4184,117 @@ static struct board_info __initdata boar
+@@ -4145,6 +4145,116 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
+
+static struct board_info __initdata board_VR3025u = {
+ .name = "96368M-1541N",
-+ .of_board_id = "comtrend,vr-3025u",
+ .expected_cpu_id = 0x6368,
+
+ .has_uart0 = 1,
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4674,6 +4785,7 @@ static const struct board_info __initcon
+@@ -4634,6 +4744,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
+@@ -4699,6 +4810,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
++ { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
+ { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4295,6 +4295,117 @@ static struct board_info __initdata boar
+@@ -4255,6 +4255,116 @@ static struct board_info __initdata boar
},
};
+
+static struct board_info __initdata board_VR3025un = {
+ .name = "96368M-1341N",
-+ .of_board_id = "comtrend,vr-3025un",
+ .expected_cpu_id = 0x6368,
+
+ .has_uart0 = 1,
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4786,6 +4897,7 @@ static const struct board_info __initcon
+@@ -4745,6 +4855,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
+@@ -4811,6 +4922,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
++ { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
+ { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4193,6 +4193,97 @@ static struct sprom_fixup __initdata vr3
+@@ -4154,6 +4154,96 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
+static struct board_info __initdata board_P870HW51A_V2 = {
+ .name = "P870HW-51a_v2",
-+ .of_board_id = "zyxel,p870hw-51a-v2",
+ .expected_cpu_id = 0x6368,
+
+ .has_uart0 = 1,
+
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
- .of_board_id = "comtrend,vr-3025u",
-@@ -4896,6 +4987,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6368,
+@@ -4854,6 +4944,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
+@@ -4924,6 +5015,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
+ { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
+ { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
++ { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ { .compatible = "brcm,bcm963268bu_p300", .data = &board_963268bu_p300, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3237,6 +3237,57 @@ static struct board_info __initdata boar
+@@ -3206,6 +3206,56 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(ct6373_spi_devices),
};
+static struct board_info __initdata board_HW520 = {
+ .name = "HW6358GW_B",
-+ .of_board_id = "huawei,hg520v",
+ .expected_cpu_id = 0x6358,
+
+ .has_uart0 = 1,
+
static struct board_info __initdata board_HW553 = {
.name = "HW553",
- .of_board_id = "huawei,hg553",
-@@ -4971,6 +5022,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6358,
+@@ -4928,6 +4978,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
&board_HW556_A,
&board_HW556_B,
+@@ -4996,6 +5047,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
+ { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
+ { .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
++ { .compatible = "huawei,hg520v", .data = &board_HW520, },
+ { .compatible = "huawei,hg553", .data = &board_HW553, },
+ { .compatible = "huawei,hg556a-a", .data = &board_HW556_A, },
+ { .compatible = "huawei,hg556a-b", .data = &board_HW556_B, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -610,6 +610,96 @@ static struct board_info __initdata boar
+@@ -605,6 +605,95 @@ static struct board_info __initdata boar
},
};
+static struct board_info __initdata board_A4001N = {
+ .name = "96328dg2x2",
-+ .of_board_id = "adb,a4001n",
+ .expected_cpu_id = 0x6328,
+
+ .has_uart0 = 1,
+
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
- .of_board_id = "adb,a4001n1",
-@@ -4973,6 +5063,7 @@ static const struct board_info __initcon
+ .expected_cpu_id = 0x6328,
+@@ -4929,6 +5018,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
+@@ -5013,6 +5103,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
++ { .compatible = "adb,a4001n", .data = &board_A4001N, },
+ { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
+ { .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
+ { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -260,6 +260,141 @@ static struct board_info __initdata boar
+@@ -259,6 +259,141 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -5057,6 +5192,7 @@ static const struct board_info __initcon
+@@ -5012,6 +5147,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,