Let's put some order on board patches.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -225,6 +225,33 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_CPVA502plus = {
++ .name = "CPVA502+",
++ .expected_cpu_id = 0x6348,
++
++ .has_enet0 = 1,
++ .has_enet1 = 1,
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++
++ .enet0 = {
++ .has_phy = 1,
++ .use_internal_phy = 1,
++ },
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ },
++
++ .ephy_reset_gpio = 4,
++ .ephy_reset_gpio_flags = GPIO_ACTIVE_LOW,
++
++ .fallback_sprom = {
++ .type = SPROM_BCM4318,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ },
++};
+
+ static struct board_info __initdata board_ct536_ct5621 = {
+ .name = "CT536_CT5621",
+@@ -801,6 +828,7 @@ static const struct board_info __initcon
+ &board_V2110,
+ &board_ct536_ct5621,
+ &board_96348A_122,
++ &board_CPVA502plus,
+ #endif
+
+ #ifdef CONFIG_BCM63XX_CPU_6358
+@@ -853,6 +881,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "t-com,speedport-w-500v", .data = &board_spw500v, },
+ { .compatible = "tecom,gw6000", .data = &board_gw6000, },
+ { .compatible = "tecom,gw6200", .data = &board_gw6200, },
++ { .compatible = "telsey,cpva502plus", .data = &board_CPVA502plus, },
+ { .compatible = "telsey,magic", .data = &board_96348sv, },
+ { .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
+ { .compatible = "usrobotics,usr9108", .data = &board_96348gw_a, },
--- /dev/null
+From eeacc2529942051504bc957726aa178671344421 Mon Sep 17 00:00:00 2001
+From: Maxime Bizon <mbizon@freebox.fr>
+Date: Wed, 20 Jan 2010 16:21:30 +0100
+Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
+
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 95 ++++++++++++++++++++
+ .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 2 +
+ 2 files changed, 97 insertions(+), 0 deletions(-)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -792,6 +792,58 @@ static struct board_info __initdata boar
+ #endif /* CONFIG_BCM63XX_CPU_6358 */
+
+ /*
++ * known 6368 boards
++ */
++#ifdef CONFIG_BCM63XX_CPU_6368
++static struct board_info __initdata board_96368mvwg = {
++ .name = "96368MVWG",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++
++ .has_usbd = 1,
++
++ .usbd = {
++ .use_fullspeed = 0,
++ .port_no = 0,
++ },
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port1",
++ },
++
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port2",
++ },
++
++ [4] = {
++ .used = 1,
++ .phy_id = 0x12,
++ .name = "port0",
++ },
++
++ [5] = {
++ .used = 1,
++ .phy_id = 0x11,
++ .name = "port3",
++ },
++ },
++ },
++
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++};
++#endif /* CONFIG_BCM63XX_CPU_6368 */
++
++/*
+ * all boards
+ */
+ static const struct board_info __initconst *bcm963xx_boards[] = {
+@@ -843,6 +895,10 @@ static const struct board_info __initcon
+ &board_HW553,
+ &board_spw303v,
+ #endif
++
++#ifdef CONFIG_BCM63XX_CPU_6368
++ &board_96368mvwg,
++#endif
+ };
+
+ static struct of_device_id const bcm963xx_boards_dt[] = {
+@@ -903,6 +959,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
++ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ #endif
+--- a/arch/mips/bcm63xx/boards/board_common.c
++++ b/arch/mips/bcm63xx/boards/board_common.c
+@@ -81,12 +81,25 @@ void __init board_early_setup(const stru
+ bcm63xx_pci_enabled = 1;
+ if (BCMCPU_IS_6348())
+ val |= GPIO_MODE_6348_G2_PCI;
++
++ if (BCMCPU_IS_6368())
++ val |= GPIO_MODE_6368_PCI_REQ1 |
++ GPIO_MODE_6368_PCI_GNT1 |
++ GPIO_MODE_6368_PCI_INTB |
++ GPIO_MODE_6368_PCI_REQ0 |
++ GPIO_MODE_6368_PCI_GNT0;
+ }
+ #endif
+
+ if (board.has_pccard) {
+ if (BCMCPU_IS_6348())
+ val |= GPIO_MODE_6348_G1_MII_PCCARD;
++
++ if (BCMCPU_IS_6368())
++ val |= GPIO_MODE_6368_PCMCIA_CD1 |
++ GPIO_MODE_6368_PCMCIA_CD2 |
++ GPIO_MODE_6368_PCMCIA_VS1 |
++ GPIO_MODE_6368_PCMCIA_VS2;
+ }
+
+ if (board.has_enet0 && !board.enet0.use_internal_phy) {
--- /dev/null
+From f457fc2eb9bb915b5a4d251c7c68d4694cf07b01 Mon Sep 17 00:00:00 2001
+From: Maxime Bizon <mbizon@freebox.fr>
+Date: Fri, 4 Nov 2011 12:33:48 +0100
+Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
+
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 67 +++++++++++++++++++++++++++++
+ 1 files changed, 67 insertions(+), 0 deletions(-)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -841,6 +841,45 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
+ };
++
++static struct board_info __initdata board_96368mvngr = {
++ .name = "96368MVNgr",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "port1",
++ },
++
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port2",
++ },
++
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port3",
++ },
++
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "port4",
++ },
++ },
++ },
++
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++};
+ #endif /* CONFIG_BCM63XX_CPU_6368 */
+
+ /*
+@@ -898,6 +937,7 @@ static const struct board_info __initcon
+
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ &board_96368mvwg,
++ &board_96368mvngr,
+ #endif
+ };
+
+@@ -959,6 +999,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
++ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -225,6 +225,33 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_CPVA502plus = {
-+ .name = "CPVA502+",
-+ .expected_cpu_id = 0x6348,
-+
-+ .has_enet0 = 1,
-+ .has_enet1 = 1,
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+
-+ .enet0 = {
-+ .has_phy = 1,
-+ .use_internal_phy = 1,
-+ },
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ },
-+
-+ .ephy_reset_gpio = 4,
-+ .ephy_reset_gpio_flags = GPIO_ACTIVE_LOW,
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM4318,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ },
-+};
-
- static struct board_info __initdata board_ct536_ct5621 = {
- .name = "CT536_CT5621",
-@@ -801,6 +828,7 @@ static const struct board_info __initcon
- &board_V2110,
- &board_ct536_ct5621,
- &board_96348A_122,
-+ &board_CPVA502plus,
- #endif
-
- #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -853,6 +881,7 @@ static struct of_device_id const bcm963x
- { .compatible = "t-com,speedport-w-500v", .data = &board_spw500v, },
- { .compatible = "tecom,gw6000", .data = &board_gw6000, },
- { .compatible = "tecom,gw6200", .data = &board_gw6200, },
-+ { .compatible = "telsey,cpva502plus", .data = &board_CPVA502plus, },
- { .compatible = "telsey,magic", .data = &board_96348sv, },
- { .compatible = "tp-link,td-w8900gb", .data = &board_96348gw_11, },
- { .compatible = "usrobotics,usr9108", .data = &board_96348gw_a, },
--- /dev/null
+From c93c2bbf0cc96da5a47d77f01daf6c983cfe4216 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Tue, 29 May 2012 10:52:25 +0200
+Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
+
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 77 +++++++++++++++++++++++++++++
+ 1 files changed, 77 insertions(+), 0 deletions(-)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -64,6 +64,33 @@ static struct board_info __initdata boar
+ .use_fullspeed = 0,
+ .port_no = 0,
+ },
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
+ };
+ #endif /* CONFIG_BCM63XX_CPU_6328 */
+
+++ /dev/null
-From eeacc2529942051504bc957726aa178671344421 Mon Sep 17 00:00:00 2001
-From: Maxime Bizon <mbizon@freebox.fr>
-Date: Wed, 20 Jan 2010 16:21:30 +0100
-Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
-
----
- arch/mips/bcm63xx/boards/board_bcm963xx.c | 95 ++++++++++++++++++++
- .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 2 +
- 2 files changed, 97 insertions(+), 0 deletions(-)
-
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -792,6 +792,58 @@ static struct board_info __initdata boar
- #endif /* CONFIG_BCM63XX_CPU_6358 */
-
- /*
-+ * known 6368 boards
-+ */
-+#ifdef CONFIG_BCM63XX_CPU_6368
-+static struct board_info __initdata board_96368mvwg = {
-+ .name = "96368MVWG",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+
-+ .has_usbd = 1,
-+
-+ .usbd = {
-+ .use_fullspeed = 0,
-+ .port_no = 0,
-+ },
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port1",
-+ },
-+
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port2",
-+ },
-+
-+ [4] = {
-+ .used = 1,
-+ .phy_id = 0x12,
-+ .name = "port0",
-+ },
-+
-+ [5] = {
-+ .used = 1,
-+ .phy_id = 0x11,
-+ .name = "port3",
-+ },
-+ },
-+ },
-+
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+};
-+#endif /* CONFIG_BCM63XX_CPU_6368 */
-+
-+/*
- * all boards
- */
- static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -843,6 +895,10 @@ static const struct board_info __initcon
- &board_HW553,
- &board_spw303v,
- #endif
-+
-+#ifdef CONFIG_BCM63XX_CPU_6368
-+ &board_96368mvwg,
-+#endif
- };
-
- static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -903,6 +959,7 @@ static struct of_device_id const bcm963x
- { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6368
-+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
- #endif
---- a/arch/mips/bcm63xx/boards/board_common.c
-+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -81,12 +81,25 @@ void __init board_early_setup(const stru
- bcm63xx_pci_enabled = 1;
- if (BCMCPU_IS_6348())
- val |= GPIO_MODE_6348_G2_PCI;
-+
-+ if (BCMCPU_IS_6368())
-+ val |= GPIO_MODE_6368_PCI_REQ1 |
-+ GPIO_MODE_6368_PCI_GNT1 |
-+ GPIO_MODE_6368_PCI_INTB |
-+ GPIO_MODE_6368_PCI_REQ0 |
-+ GPIO_MODE_6368_PCI_GNT0;
- }
- #endif
-
- if (board.has_pccard) {
- if (BCMCPU_IS_6348())
- val |= GPIO_MODE_6348_G1_MII_PCCARD;
-+
-+ if (BCMCPU_IS_6368())
-+ val |= GPIO_MODE_6368_PCMCIA_CD1 |
-+ GPIO_MODE_6368_PCMCIA_CD2 |
-+ GPIO_MODE_6368_PCMCIA_VS1 |
-+ GPIO_MODE_6368_PCMCIA_VS2;
- }
-
- if (board.has_enet0 && !board.enet0.use_internal_phy) {
--- /dev/null
+From f0649f7b7c672cf452a1796a1422bf615e1973f8 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Tue, 29 May 2012 11:01:12 +0200
+Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
+
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 71 +++++++++++++++++++++++++++++
+ 1 files changed, 71 insertions(+), 0 deletions(-)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -92,6 +92,40 @@ static struct board_info __initdata boar
+ },
+ },
+ };
++
++static struct board_info __initdata board_963281TAN = {
++ .name = "963281TAN",
++ .expected_cpu_id = 0x6328,
++
++ .has_pci = 1,
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6328 */
+
+ /*
+@@ -918,6 +952,7 @@ static const struct board_info __initcon
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
++ &board_963281TAN,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+ &board_96338gw,
+@@ -974,6 +1009,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
+++ /dev/null
-From f457fc2eb9bb915b5a4d251c7c68d4694cf07b01 Mon Sep 17 00:00:00 2001
-From: Maxime Bizon <mbizon@freebox.fr>
-Date: Fri, 4 Nov 2011 12:33:48 +0100
-Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
-
----
- arch/mips/bcm63xx/boards/board_bcm963xx.c | 67 +++++++++++++++++++++++++++++
- 1 files changed, 67 insertions(+), 0 deletions(-)
-
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -841,6 +841,45 @@ static struct board_info __initdata boar
- .has_ohci0 = 1,
- .has_ehci0 = 1,
- };
-+
-+static struct board_info __initdata board_96368mvngr = {
-+ .name = "96368MVNgr",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "port1",
-+ },
-+
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port2",
-+ },
-+
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port3",
-+ },
-+
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "port4",
-+ },
-+ },
-+ },
-+
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+};
- #endif /* CONFIG_BCM63XX_CPU_6368 */
-
- /*
-@@ -898,6 +937,7 @@ static const struct board_info __initcon
-
- #ifdef CONFIG_BCM63XX_CPU_6368
- &board_96368mvwg,
-+ &board_96368mvngr,
- #endif
- };
-
-@@ -959,6 +999,7 @@ static struct of_device_id const bcm963x
- { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6368
-+ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
- { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
+++ /dev/null
-From c93c2bbf0cc96da5a47d77f01daf6c983cfe4216 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jonas.gorski@gmail.com>
-Date: Tue, 29 May 2012 10:52:25 +0200
-Subject: [PATCH] MIPS: BCM63XX: add 96328avng reference board
-
----
- arch/mips/bcm63xx/boards/board_bcm963xx.c | 77 +++++++++++++++++++++++++++++
- 1 files changed, 77 insertions(+), 0 deletions(-)
-
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -64,6 +64,33 @@ static struct board_info __initdata boar
- .use_fullspeed = 0,
- .port_no = 0,
- },
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
- };
- #endif /* CONFIG_BCM63XX_CPU_6328 */
-
--- /dev/null
+From 66808f706b3dcd83a9f5157997ff478a880a2906 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Mon, 30 Apr 2012 09:10:51 +0200
+Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
+ DSL-274xB rev F1
+
+---
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 104 +++++++++++++++++++++++++++++
+ 1 files changed, 104 insertions(+), 0 deletions(-)
+
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -126,6 +126,51 @@ static struct board_info __initdata boar
+ },
+ },
+ };
++
++static struct board_info __initdata board_dsl_274xb_f1 = {
++ .name = "AW4339U",
++ .expected_cpu_id = 0x6328,
++
++ .has_pci = 1,
++
++ .has_caldata = 1,
++ .caldata = {
++ {
++ .vendor = PCI_VENDOR_ID_ATHEROS,
++ .caldata_offset = 0x7d1000,
++ .slot = 0,
++ .led_pin = -1,
++ .led_active_high = 1,
++ },
++ },
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 4",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 3",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 2",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 1",
++ },
++ },
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6328 */
+
+ /*
+@@ -953,6 +998,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
+ &board_96338gw,
+@@ -1011,6 +1057,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ { .compatible = "brcm,bcm963281tan", .data = &board_963281TAN, },
+ { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
++ { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+ { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
+++ /dev/null
-From f0649f7b7c672cf452a1796a1422bf615e1973f8 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jonas.gorski@gmail.com>
-Date: Tue, 29 May 2012 11:01:12 +0200
-Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
-
----
- arch/mips/bcm63xx/boards/board_bcm963xx.c | 71 +++++++++++++++++++++++++++++
- 1 files changed, 71 insertions(+), 0 deletions(-)
-
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -92,6 +92,40 @@ static struct board_info __initdata boar
- },
- },
- };
-+
-+static struct board_info __initdata board_963281TAN = {
-+ .name = "963281TAN",
-+ .expected_cpu_id = 0x6328,
-+
-+ .has_pci = 1,
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6328 */
-
- /*
-@@ -918,6 +952,7 @@ static const struct board_info __initcon
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- &board_96328avng,
-+ &board_963281TAN,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6338
- &board_96338gw,
-@@ -974,6 +1009,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
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -568,6 +568,24 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ };
+
++/* NetGear DG834G v4 */
++static struct board_info __initdata board_96348W3 = {
++ .name = "96348W3",
++ .expected_cpu_id = 0x6348,
++
++ .has_enet1 = 1,
++ .has_pci = 1,
++
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++
++ .has_ohci0 = 1,
++};
++
+ static struct board_info __initdata board_96348_D4PW = {
+ .name = "D-4P-W",
+ .expected_cpu_id = 0x6348,
+@@ -1028,6 +1046,7 @@ static const struct board_info __initcon
+ &board_ct536_ct5621,
+ &board_96348A_122,
+ &board_CPVA502plus,
++ &board_96348W3,
+ #endif
+
+ #ifdef CONFIG_BCM63XX_CPU_6358
+@@ -1083,6 +1102,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
+ { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
+ { .compatible = "netgear,dg834gt-pn", .data = &board_96348gw_10, },
++ { .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
+ { .compatible = "sagem,fast-2404", .data = &board_FAST2404, },
+ { .compatible = "t-com,speedport-w-500v", .data = &board_spw500v, },
+ { .compatible = "tecom,gw6000", .data = &board_gw6000, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -874,6 +874,30 @@ static struct board_info __initdata boar
+ .num_usbh_ports = 2,
+ };
+
++static struct board_info __initdata board_ct6373_1 = {
++ .name = "CT6373-1",
++ .expected_cpu_id = 0x6358,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++
++ .has_enet1 = 1,
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM4318,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ },
++};
++
+ static struct board_info __initdata board_HW553 = {
+ .name = "HW553",
+ .expected_cpu_id = 0x6358,
+@@ -1058,6 +1082,7 @@ static const struct board_info __initcon
+ &board_dsl_274xb_rev_c,
+ &board_nb4_ser_r0,
+ &board_nb4_fxc_r1,
++ &board_ct6373_1,
+ &board_HW553,
+ &board_spw303v,
+ #endif
+@@ -1116,6 +1141,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
+ { .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 = "d-link,dsl-2650u", .data = &board_96358vw2, },
+ { .compatible = "huawei,echolife-hg553", .data = &board_HW553, },
+++ /dev/null
-From 66808f706b3dcd83a9f5157997ff478a880a2906 Mon Sep 17 00:00:00 2001
-From: Jonas Gorski <jonas.gorski@gmail.com>
-Date: Mon, 30 Apr 2012 09:10:51 +0200
-Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
- DSL-274xB rev F1
-
----
- arch/mips/bcm63xx/boards/board_bcm963xx.c | 104 +++++++++++++++++++++++++++++
- 1 files changed, 104 insertions(+), 0 deletions(-)
-
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -126,6 +126,51 @@ static struct board_info __initdata boar
- },
- },
- };
-+
-+static struct board_info __initdata board_dsl_274xb_f1 = {
-+ .name = "AW4339U",
-+ .expected_cpu_id = 0x6328,
-+
-+ .has_pci = 1,
-+
-+ .has_caldata = 1,
-+ .caldata = {
-+ {
-+ .vendor = PCI_VENDOR_ID_ATHEROS,
-+ .caldata_offset = 0x7d1000,
-+ .slot = 0,
-+ .led_pin = -1,
-+ .led_active_high = 1,
-+ },
-+ },
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 4",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 3",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 2",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 1",
-+ },
-+ },
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6328 */
-
- /*
-@@ -953,6 +998,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
- &board_96338gw,
-@@ -1011,6 +1057,7 @@ static struct of_device_id const bcm963x
- #ifdef CONFIG_BCM63XX_CPU_6328
- { .compatible = "brcm,bcm963281tan", .data = &board_963281TAN, },
- { .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
-+ { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6338
- { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -568,6 +568,24 @@ static struct board_info __initdata boar
- .has_ohci0 = 1,
- };
-
-+/* NetGear DG834G v4 */
-+static struct board_info __initdata board_96348W3 = {
-+ .name = "96348W3",
-+ .expected_cpu_id = 0x6348,
-+
-+ .has_enet1 = 1,
-+ .has_pci = 1,
-+
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+
-+ .has_ohci0 = 1,
-+};
-+
- static struct board_info __initdata board_96348_D4PW = {
- .name = "D-4P-W",
- .expected_cpu_id = 0x6348,
-@@ -1028,6 +1046,7 @@ static const struct board_info __initcon
- &board_ct536_ct5621,
- &board_96348A_122,
- &board_CPVA502plus,
-+ &board_96348W3,
- #endif
-
- #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1083,6 +1102,7 @@ static struct of_device_id const bcm963x
- { .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
- { .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
- { .compatible = "netgear,dg834gt-pn", .data = &board_96348gw_10, },
-+ { .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
- { .compatible = "sagem,fast-2404", .data = &board_FAST2404, },
- { .compatible = "t-com,speedport-w-500v", .data = &board_spw500v, },
- { .compatible = "tecom,gw6000", .data = &board_gw6000, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -937,6 +937,33 @@ static struct board_info __initdata boar
+ .use_internal_phy = 1,
+ },
+ };
++
++/* D-Link DVA-G3810BN/TL */
++static struct board_info __initdata board_DVAG3810BN = {
++ .name = "DVAG3810BN",
++ .expected_cpu_id = 0x6358,
++
++ .has_enet0 = 1,
++ .has_enet1 = 1,
++ .has_pci = 1,
++
++ .enet0 = {
++ .has_phy = 1,
++ .use_internal_phy = 1,
++ },
++
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++
++
++ .has_ohci0 = 1,
++ .has_pccard = 1,
++ .has_ehci0 = 1,
++};
+ #endif /* CONFIG_BCM63XX_CPU_6358 */
+
+ /*
+@@ -1085,6 +1112,7 @@ static const struct board_info __initcon
+ &board_ct6373_1,
+ &board_HW553,
+ &board_spw303v,
++ &board_DVAG3810BN,
+ #endif
+
+ #ifdef CONFIG_BCM63XX_CPU_6368
+@@ -1144,6 +1172,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,dsl-2650u", .data = &board_96358vw2, },
++ { .compatible = "d-link,dva-g3810bn-tl", .data = &board_DVAG3810BN, },
+ { .compatible = "huawei,echolife-hg553", .data = &board_HW553, },
+ { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
+ { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -874,6 +874,30 @@ static struct board_info __initdata boar
- .num_usbh_ports = 2,
- };
-
-+static struct board_info __initdata board_ct6373_1 = {
-+ .name = "CT6373-1",
-+ .expected_cpu_id = 0x6358,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+
-+ .has_enet1 = 1,
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM4318,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ },
-+};
-+
- static struct board_info __initdata board_HW553 = {
- .name = "HW553",
- .expected_cpu_id = 0x6358,
-@@ -1058,6 +1082,7 @@ static const struct board_info __initcon
- &board_dsl_274xb_rev_c,
- &board_nb4_ser_r0,
- &board_nb4_fxc_r1,
-+ &board_ct6373_1,
- &board_HW553,
- &board_spw303v,
- #endif
-@@ -1116,6 +1141,7 @@ static struct of_device_id const bcm963x
- { .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
- { .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 = "d-link,dsl-2650u", .data = &board_96358vw2, },
- { .compatible = "huawei,echolife-hg553", .data = &board_HW553, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -966,6 +966,32 @@ static struct board_info __initdata boar
+ };
+ #endif /* CONFIG_BCM63XX_CPU_6358 */
+
++#ifdef CONFIG_BCM63XX_CPU_6362
++static struct board_info __initdata board_nb6 = {
++ .name = "NB6",
++ .expected_cpu_id = 0x6362,
++
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [4] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "RGMII",
++ },
++ },
++ },
++};
++#endif /* CONFIG_BCM63XX_CPU_6362 */
++
+ /*
+ * known 6368 boards
+ */
+@@ -1115,6 +1141,10 @@ static const struct board_info __initcon
+ &board_DVAG3810BN,
+ #endif
+
++#ifdef CONFIG_BCM63XX_CPU_6362
++ &board_nb6,
++#endif
++
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ &board_96368mvwg,
+ &board_96368mvngr,
+@@ -1183,6 +1213,9 @@ static struct of_device_id const bcm963x
+ { .compatible = "t-com,speedport-w-303v", .data = &board_spw303v, },
+ { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
+ #endif
++#ifdef CONFIG_BCM63XX_CPU_6362
++ { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
++#endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -937,6 +937,33 @@ static struct board_info __initdata boar
- .use_internal_phy = 1,
- },
- };
-+
-+/* D-Link DVA-G3810BN/TL */
-+static struct board_info __initdata board_DVAG3810BN = {
-+ .name = "DVAG3810BN",
-+ .expected_cpu_id = 0x6358,
-+
-+ .has_enet0 = 1,
-+ .has_enet1 = 1,
-+ .has_pci = 1,
-+
-+ .enet0 = {
-+ .has_phy = 1,
-+ .use_internal_phy = 1,
-+ },
-+
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+
-+
-+ .has_ohci0 = 1,
-+ .has_pccard = 1,
-+ .has_ehci0 = 1,
-+};
- #endif /* CONFIG_BCM63XX_CPU_6358 */
-
- /*
-@@ -1085,6 +1112,7 @@ static const struct board_info __initcon
- &board_ct6373_1,
- &board_HW553,
- &board_spw303v,
-+ &board_DVAG3810BN,
- #endif
-
- #ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1144,6 +1172,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,dsl-2650u", .data = &board_96358vw2, },
-+ { .compatible = "d-link,dva-g3810bn-tl", .data = &board_DVAG3810BN, },
- { .compatible = "huawei,echolife-hg553", .data = &board_HW553, },
- { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
- { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -501,6 +501,22 @@ static struct board_info __initdata boar
+ .has_ehci0 = 1,
+ };
+
++static struct board_info __initdata board_FAST2604 = {
++ .name = "F@ST2604",
++ .expected_cpu_id = 0x6348,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++
++ .has_enet1 = 1,
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++};
++
+ static struct board_info __initdata board_rta1025w_16 = {
+ .name = "RTA1025W_16",
+ .expected_cpu_id = 0x6348,
+@@ -1112,6 +1128,7 @@ static const struct board_info __initcon
+ &board_96348gw_10,
+ &board_96348gw_11,
+ &board_FAST2404,
++ &board_FAST2604,
+ &board_DV201AMR,
+ &board_96348gw_a,
+ &board_rta1025w_16,
+@@ -1187,6 +1204,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "netgear,dg834gt-pn", .data = &board_96348gw_10, },
+ { .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
+ { .compatible = "sagem,fast-2404", .data = &board_FAST2404, },
++ { .compatible = "sagem,fast-2604", .data = &board_FAST2604, },
+ { .compatible = "t-com,speedport-w-500v", .data = &board_spw500v, },
+ { .compatible = "tecom,gw6000", .data = &board_gw6000, },
+ { .compatible = "tecom,gw6200", .data = &board_gw6200, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -127,6 +127,49 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_A4001N1 = {
++ .name = "963281T_TEF",
++ .expected_cpu_id = 0x6328,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43225,
++ .pci_bus = 1,
++ .pci_dev = 0,
++ },
++};
++
+ static struct board_info __initdata board_dsl_274xb_f1 = {
+ .name = "AW4339U",
+ .expected_cpu_id = 0x6328,
+@@ -1109,6 +1152,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
+ &board_963281TAN,
++ &board_A4001N1,
+ &board_dsl_274xb_f1,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+@@ -1174,6 +1218,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, },
+ { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -966,6 +966,32 @@ static struct board_info __initdata boar
- };
- #endif /* CONFIG_BCM63XX_CPU_6358 */
-
-+#ifdef CONFIG_BCM63XX_CPU_6362
-+static struct board_info __initdata board_nb6 = {
-+ .name = "NB6",
-+ .expected_cpu_id = 0x6362,
-+
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [4] = {
-+ .used = 1,
-+ .phy_id = 0xff,
-+ .bypass_link = 1,
-+ .force_speed = 1000,
-+ .force_duplex_full = 1,
-+ .name = "RGMII",
-+ },
-+ },
-+ },
-+};
-+#endif /* CONFIG_BCM63XX_CPU_6362 */
-+
- /*
- * known 6368 boards
- */
-@@ -1115,6 +1141,10 @@ static const struct board_info __initcon
- &board_DVAG3810BN,
- #endif
-
-+#ifdef CONFIG_BCM63XX_CPU_6362
-+ &board_nb6,
-+#endif
-+
- #ifdef CONFIG_BCM63XX_CPU_6368
- &board_96368mvwg,
- &board_96368mvngr,
-@@ -1183,6 +1213,9 @@ static struct of_device_id const bcm963x
- { .compatible = "t-com,speedport-w-303v", .data = &board_spw303v, },
- { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
- #endif
-+#ifdef CONFIG_BCM63XX_CPU_6362
-+ { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
-+#endif
- #ifdef CONFIG_BCM63XX_CPU_6368
- { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
- { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -93,6 +93,78 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct sprom_fixup __initdata ar5387un_fixups[] = {
++ { .offset = 2, .value = 0x05bb },
++ { .offset = 65, .value = 0x1204 },
++ { .offset = 78, .value = 0x0303 },
++ { .offset = 79, .value = 0x0202 },
++ { .offset = 80, .value = 0xff02 },
++ { .offset = 87, .value = 0x0315 },
++ { .offset = 88, .value = 0x0315 },
++ { .offset = 96, .value = 0x2048 },
++ { .offset = 97, .value = 0xff11 },
++ { .offset = 98, .value = 0x1567 },
++ { .offset = 99, .value = 0xfb24 },
++ { .offset = 100, .value = 0x3e3c },
++ { .offset = 101, .value = 0x4038 },
++ { .offset = 102, .value = 0xfe7f },
++ { .offset = 103, .value = 0x1279 },
++ { .offset = 112, .value = 0x2048 },
++ { .offset = 113, .value = 0xff03 },
++ { .offset = 114, .value = 0x154c },
++ { .offset = 115, .value = 0xfb27 },
++ { .offset = 116, .value = 0x3e3c },
++ { .offset = 117, .value = 0x4038 },
++ { .offset = 118, .value = 0xfe87 },
++ { .offset = 119, .value = 0x1233 },
++ { .offset = 203, .value = 0x2226 },
++};
++
++static struct board_info __initdata board_AR5387un = {
++ .name = "96328A-1441N1",
++ .expected_cpu_id = 0x6328,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43225,
++ .pci_bus = 1,
++ .pci_dev = 0,
++ .board_fixups = ar5387un_fixups,
++ .num_board_fixups = ARRAY_SIZE(ar5387un_fixups),
++ },
++};
++
+ static struct board_info __initdata board_963281TAN = {
+ .name = "963281TAN",
+ .expected_cpu_id = 0x6328,
+@@ -1151,6 +1223,7 @@ static const struct board_info __initcon
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
++ &board_AR5387un,
+ &board_963281TAN,
+ &board_A4001N1,
+ &board_dsl_274xb_f1,
+@@ -1221,6 +1294,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, },
+ { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -501,6 +501,22 @@ static struct board_info __initdata boar
- .has_ehci0 = 1,
- };
-
-+static struct board_info __initdata board_FAST2604 = {
-+ .name = "F@ST2604",
-+ .expected_cpu_id = 0x6348,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+
-+ .has_enet1 = 1,
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+};
-+
- static struct board_info __initdata board_rta1025w_16 = {
- .name = "RTA1025W_16",
- .expected_cpu_id = 0x6348,
-@@ -1112,6 +1128,7 @@ static const struct board_info __initcon
- &board_96348gw_10,
- &board_96348gw_11,
- &board_FAST2404,
-+ &board_FAST2604,
- &board_DV201AMR,
- &board_96348gw_a,
- &board_rta1025w_16,
-@@ -1187,6 +1204,7 @@ static struct of_device_id const bcm963x
- { .compatible = "netgear,dg834gt-pn", .data = &board_96348gw_10, },
- { .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
- { .compatible = "sagem,fast-2404", .data = &board_FAST2404, },
-+ { .compatible = "sagem,fast-2604", .data = &board_FAST2604, },
- { .compatible = "t-com,speedport-w-500v", .data = &board_spw500v, },
- { .compatible = "tecom,gw6000", .data = &board_gw6000, },
- { .compatible = "tecom,gw6200", .data = &board_gw6200, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -127,6 +127,49 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_A4001N1 = {
-+ .name = "963281T_TEF",
-+ .expected_cpu_id = 0x6328,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43225,
-+ .pci_bus = 1,
-+ .pci_dev = 0,
-+ },
-+};
-+
- static struct board_info __initdata board_dsl_274xb_f1 = {
- .name = "AW4339U",
- .expected_cpu_id = 0x6328,
-@@ -1109,6 +1152,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_6328
- &board_96328avng,
- &board_963281TAN,
-+ &board_A4001N1,
- &board_dsl_274xb_f1,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6338
-@@ -1174,6 +1218,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, },
- { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -93,6 +93,60 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct sprom_fixup __initdata ar5381u_fixups[] = {
++ { .offset = 97, .value = 0xfee5 },
++ { .offset = 98, .value = 0x157c },
++ { .offset = 99, .value = 0xfae7 },
++ { .offset = 113, .value = 0xfefa },
++ { .offset = 114, .value = 0x15d6 },
++ { .offset = 115, .value = 0xfaf8 },
++};
++
++static struct board_info __initdata board_AR5381u = {
++ .name = "96328A-1241N",
++ .expected_cpu_id = 0x6328,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43225,
++ .pci_bus = 1,
++ .pci_dev = 0,
++ .board_fixups = ar5381u_fixups,
++ .num_board_fixups = ARRAY_SIZE(ar5381u_fixups),
++ },
++};
++
+ static struct sprom_fixup __initdata ar5387un_fixups[] = {
+ { .offset = 2, .value = 0x05bb },
+ { .offset = 65, .value = 0x1204 },
+@@ -1223,6 +1277,7 @@ static const struct board_info __initcon
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
++ &board_AR5381u,
+ &board_AR5387un,
+ &board_963281TAN,
+ &board_A4001N1,
+@@ -1294,6 +1349,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, },
+ { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
+ #endif
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -93,6 +93,78 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct sprom_fixup __initdata ar5387un_fixups[] = {
-+ { .offset = 2, .value = 0x05bb },
-+ { .offset = 65, .value = 0x1204 },
-+ { .offset = 78, .value = 0x0303 },
-+ { .offset = 79, .value = 0x0202 },
-+ { .offset = 80, .value = 0xff02 },
-+ { .offset = 87, .value = 0x0315 },
-+ { .offset = 88, .value = 0x0315 },
-+ { .offset = 96, .value = 0x2048 },
-+ { .offset = 97, .value = 0xff11 },
-+ { .offset = 98, .value = 0x1567 },
-+ { .offset = 99, .value = 0xfb24 },
-+ { .offset = 100, .value = 0x3e3c },
-+ { .offset = 101, .value = 0x4038 },
-+ { .offset = 102, .value = 0xfe7f },
-+ { .offset = 103, .value = 0x1279 },
-+ { .offset = 112, .value = 0x2048 },
-+ { .offset = 113, .value = 0xff03 },
-+ { .offset = 114, .value = 0x154c },
-+ { .offset = 115, .value = 0xfb27 },
-+ { .offset = 116, .value = 0x3e3c },
-+ { .offset = 117, .value = 0x4038 },
-+ { .offset = 118, .value = 0xfe87 },
-+ { .offset = 119, .value = 0x1233 },
-+ { .offset = 203, .value = 0x2226 },
-+};
-+
-+static struct board_info __initdata board_AR5387un = {
-+ .name = "96328A-1441N1",
-+ .expected_cpu_id = 0x6328,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43225,
-+ .pci_bus = 1,
-+ .pci_dev = 0,
-+ .board_fixups = ar5387un_fixups,
-+ .num_board_fixups = ARRAY_SIZE(ar5387un_fixups),
-+ },
-+};
-+
- static struct board_info __initdata board_963281TAN = {
- .name = "963281TAN",
- .expected_cpu_id = 0x6328,
-@@ -1151,6 +1223,7 @@ static const struct board_info __initcon
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- &board_96328avng,
-+ &board_AR5387un,
- &board_963281TAN,
- &board_A4001N1,
- &board_dsl_274xb_f1,
-@@ -1221,6 +1294,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, },
- { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6338
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -411,6 +411,20 @@ static struct board_info __initdata boar
+ .name = "96345GW2",
+ .expected_cpu_id = 0x6345,
+ };
++
++static struct board_info __initdata board_rta770bw = {
++ .name = "RTA770BW",
++ .expected_cpu_id = 0x6345,
++
++ .has_enet0 = 1,
++
++ .enet0 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6345 */
+
+ /*
+@@ -1291,6 +1305,7 @@ static const struct board_info __initcon
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6345
+ &board_96345gw2,
++ &board_rta770bw,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6348
+ &board_96348r,
+@@ -1361,6 +1376,7 @@ static struct of_device_id const bcm963x
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6345
+ { .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
++ { .compatible = "dynalink,rta770bw", .data = &board_rta770bw, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6348
+ { .compatible = "belkin,f5d7633", .data = &board_96348gw_10, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -93,6 +93,60 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct sprom_fixup __initdata ar5381u_fixups[] = {
-+ { .offset = 97, .value = 0xfee5 },
-+ { .offset = 98, .value = 0x157c },
-+ { .offset = 99, .value = 0xfae7 },
-+ { .offset = 113, .value = 0xfefa },
-+ { .offset = 114, .value = 0x15d6 },
-+ { .offset = 115, .value = 0xfaf8 },
-+};
-+
-+static struct board_info __initdata board_AR5381u = {
-+ .name = "96328A-1241N",
-+ .expected_cpu_id = 0x6328,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43225,
-+ .pci_bus = 1,
-+ .pci_dev = 0,
-+ .board_fixups = ar5381u_fixups,
-+ .num_board_fixups = ARRAY_SIZE(ar5381u_fixups),
-+ },
-+};
-+
- static struct sprom_fixup __initdata ar5387un_fixups[] = {
- { .offset = 2, .value = 0x05bb },
- { .offset = 65, .value = 0x1204 },
-@@ -1223,6 +1277,7 @@ static const struct board_info __initcon
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- &board_96328avng,
-+ &board_AR5381u,
- &board_AR5387un,
- &board_963281TAN,
- &board_A4001N1,
-@@ -1294,6 +1349,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, },
- { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
- #endif
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -12,6 +12,7 @@
+ #include <linux/init.h>
+ #include <linux/kernel.h>
+ #include <linux/string.h>
++#include <linux/pci_ids.h>
+ #include <asm/addrspace.h>
+ #include <bcm63xx_board.h>
+ #include <bcm63xx_cpu.h>
+@@ -1123,6 +1124,92 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_HW556_C = {
++ .name = "HW556_C",
++ .expected_cpu_id = 0x6358,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_caldata = 1,
++ .caldata = {
++ {
++ .vendor = PCI_VENDOR_ID_RALINK,
++ .caldata_offset = 0xeffe00,
++ .slot = 1,
++ .eeprom = "rt2x00.eeprom",
++ },
++ },
++
++ .has_enet1 = 1,
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++};
++static struct board_info __initdata board_HW556_A = {
++ .name = "HW556_A",
++ .expected_cpu_id = 0x6358,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_caldata = 1,
++ .caldata = {
++ {
++ .vendor = PCI_VENDOR_ID_ATHEROS,
++ .caldata_offset = 0xf7e000,
++ .slot = 1,
++ .endian_check = 1,
++ .led_pin = 2,
++ .led_active_high = 1,
++ },
++ },
++
++ .has_enet1 = 1,
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++};
++static struct board_info __initdata board_HW556_B = {
++ .name = "HW556_B",
++ .expected_cpu_id = 0x6358,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_caldata = 1,
++ .caldata = {
++ {
++ .vendor = PCI_VENDOR_ID_ATHEROS,
++ .caldata_offset = 0xefe000,
++ .slot = 1,
++ .endian_check = 1,
++ .led_pin = 2,
++ .led_active_high = 1,
++ },
++ },
++
++ .has_enet1 = 1,
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++};
++
+ /* T-Home Speedport W 303V Typ B */
+ static struct board_info __initdata board_spw303v = {
+ .name = "96358-502V",
+@@ -1341,6 +1428,9 @@ static const struct board_info __initcon
+ &board_nb4_fxc_r1,
+ &board_ct6373_1,
+ &board_HW553,
++ &board_HW556_A,
++ &board_HW556_B,
++ &board_HW556_C,
+ &board_spw303v,
+ &board_DVAG3810BN,
+ #endif
+@@ -1413,6 +1503,9 @@ static struct of_device_id const bcm963x
+ { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
+ { .compatible = "d-link,dva-g3810bn-tl", .data = &board_DVAG3810BN, },
+ { .compatible = "huawei,echolife-hg553", .data = &board_HW553, },
++ { .compatible = "huawei,echolife-hg556a-a", .data = &board_HW556_A, },
++ { .compatible = "huawei,echolife-hg556a-b", .data = &board_HW556_B, },
++ { .compatible = "huawei,echolife-hg556a-c", .data = &board_HW556_C, },
+ { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
+ { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
+ { .compatible = "pirelli,a226m-fwb", .data = &board_DWVS0, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -411,6 +411,20 @@ static struct board_info __initdata boar
- .name = "96345GW2",
- .expected_cpu_id = 0x6345,
- };
-+
-+static struct board_info __initdata board_rta770bw = {
-+ .name = "RTA770BW",
-+ .expected_cpu_id = 0x6345,
-+
-+ .has_enet0 = 1,
-+
-+ .enet0 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6345 */
-
- /*
-@@ -1291,6 +1305,7 @@ static const struct board_info __initcon
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6345
- &board_96345gw2,
-+ &board_rta770bw,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6348
- &board_96348r,
-@@ -1361,6 +1376,7 @@ static struct of_device_id const bcm963x
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6345
- { .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
-+ { .compatible = "dynalink,rta770bw", .data = &board_rta770bw, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6348
- { .compatible = "belkin,f5d7633", .data = &board_96348gw_10, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -426,6 +426,25 @@ static struct board_info __initdata boar
+ .force_duplex_full = 1,
+ },
+ };
++
++// Actually this board is the very same as the rta770bw,
++// where the additional 'b' within the name just
++// just indicates 'Annex B'. The ADSL Modem itself is able
++// to handle both Annex A as well as Annex B -
++// the loaded firmware makes the only difference
++static struct board_info __initdata board_rta770w = {
++ .name = "RTA770W",
++ .expected_cpu_id = 0x6345,
++
++ .has_enet0 = 1,
++
++ .enet0 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6345 */
+
+ /*
+@@ -1393,6 +1412,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6345
+ &board_96345gw2,
+ &board_rta770bw,
++ &board_rta770w,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6348
+ &board_96348r,
+@@ -1467,6 +1487,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_6345
+ { .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
+ { .compatible = "dynalink,rta770bw", .data = &board_rta770bw, },
++ { .compatible = "dynalink,rta770w", .data = &board_rta770w, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6348
+ { .compatible = "belkin,f5d7633", .data = &board_96348gw_10, },
--- /dev/null
+From: Marcin Jurkowski <marcin1j@gmail.com>
+Date: Thu, 31 Oct 2013 22:33:10 +0000
+Subject: [PATCH] bcm63xx: Add kernel support for Sagemcom F@ST2704V2 ADSL
+ router
+
+This adds kernel support support for Sagemcom F@st 2704 wireless ADSL
+router.
+It's a BCM6328-based 802.11n wireless router with USB port and ADSL2+
+modem equipped with 64 MiB RAM and 8 MiB flash.
+
+Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
+---
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -341,6 +341,43 @@ static struct board_info __initdata boar
+ },
+ },
+ };
++
++static struct board_info __initdata board_FAST2704V2 = {
++ .name = "F@ST2704V2",
++ .expected_cpu_id = 0x6328,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .has_usbd = 1,
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6328 */
+
+ /*
+@@ -1402,6 +1439,7 @@ static const struct board_info __initcon
+ &board_963281TAN,
+ &board_A4001N1,
+ &board_dsl_274xb_f1,
++ &board_FAST2704V2,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+ &board_96338gw,
+@@ -1477,6 +1515,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
+ { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
+ { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
++ { .compatible = "sagem,fast-2704-v2", .data = &board_FAST2704V2, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+ { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -12,6 +12,7 @@
- #include <linux/init.h>
- #include <linux/kernel.h>
- #include <linux/string.h>
-+#include <linux/pci_ids.h>
- #include <asm/addrspace.h>
- #include <bcm63xx_board.h>
- #include <bcm63xx_cpu.h>
-@@ -1123,6 +1124,92 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_HW556_C = {
-+ .name = "HW556_C",
-+ .expected_cpu_id = 0x6358,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_caldata = 1,
-+ .caldata = {
-+ {
-+ .vendor = PCI_VENDOR_ID_RALINK,
-+ .caldata_offset = 0xeffe00,
-+ .slot = 1,
-+ .eeprom = "rt2x00.eeprom",
-+ },
-+ },
-+
-+ .has_enet1 = 1,
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+};
-+static struct board_info __initdata board_HW556_A = {
-+ .name = "HW556_A",
-+ .expected_cpu_id = 0x6358,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_caldata = 1,
-+ .caldata = {
-+ {
-+ .vendor = PCI_VENDOR_ID_ATHEROS,
-+ .caldata_offset = 0xf7e000,
-+ .slot = 1,
-+ .endian_check = 1,
-+ .led_pin = 2,
-+ .led_active_high = 1,
-+ },
-+ },
-+
-+ .has_enet1 = 1,
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+};
-+static struct board_info __initdata board_HW556_B = {
-+ .name = "HW556_B",
-+ .expected_cpu_id = 0x6358,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_caldata = 1,
-+ .caldata = {
-+ {
-+ .vendor = PCI_VENDOR_ID_ATHEROS,
-+ .caldata_offset = 0xefe000,
-+ .slot = 1,
-+ .endian_check = 1,
-+ .led_pin = 2,
-+ .led_active_high = 1,
-+ },
-+ },
-+
-+ .has_enet1 = 1,
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+};
-+
- /* T-Home Speedport W 303V Typ B */
- static struct board_info __initdata board_spw303v = {
- .name = "96358-502V",
-@@ -1341,6 +1428,9 @@ static const struct board_info __initcon
- &board_nb4_fxc_r1,
- &board_ct6373_1,
- &board_HW553,
-+ &board_HW556_A,
-+ &board_HW556_B,
-+ &board_HW556_C,
- &board_spw303v,
- &board_DVAG3810BN,
- #endif
-@@ -1413,6 +1503,9 @@ static struct of_device_id const bcm963x
- { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
- { .compatible = "d-link,dva-g3810bn-tl", .data = &board_DVAG3810BN, },
- { .compatible = "huawei,echolife-hg553", .data = &board_HW553, },
-+ { .compatible = "huawei,echolife-hg556a-a", .data = &board_HW556_A, },
-+ { .compatible = "huawei,echolife-hg556a-b", .data = &board_HW556_B, },
-+ { .compatible = "huawei,echolife-hg556a-c", .data = &board_HW556_C, },
- { .compatible = "pirelli,a226g", .data = &board_DWVS0, },
- { .compatible = "pirelli,a226m", .data = &board_DWVS0, },
- { .compatible = "pirelli,a226m-fwb", .data = &board_DWVS0, },
--- /dev/null
+From: Max Staudt <openwrt.max@enpas.org>
+Date: Wed, 15 Jan 2014 18:51:13 +0000
+Subject: [PATCH] bcm63xx: F@ST2504n board support (Linux-3.10.26)
+
+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
+@@ -1332,6 +1332,41 @@ static struct board_info __initdata boar
+ },
+ },
+ };
++
++static struct board_info __initdata board_fast2504n = {
++ .name = "F@ST2504n",
++ .expected_cpu_id = 0x6362,
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6362 */
+
+ /*
+@@ -1495,6 +1530,7 @@ static const struct board_info __initcon
+
+ #ifdef CONFIG_BCM63XX_CPU_6362
+ &board_nb6,
++ &board_fast2504n,
+ #endif
+
+ #ifdef CONFIG_BCM63XX_CPU_6368
+@@ -1576,6 +1612,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6362
++ { .compatible = "sagem,fast-2504n", .data = &board_fast2504n, },
+ { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -426,6 +426,25 @@ static struct board_info __initdata boar
- .force_duplex_full = 1,
- },
- };
-+
-+// Actually this board is the very same as the rta770bw,
-+// where the additional 'b' within the name just
-+// just indicates 'Annex B'. The ADSL Modem itself is able
-+// to handle both Annex A as well as Annex B -
-+// the loaded firmware makes the only difference
-+static struct board_info __initdata board_rta770w = {
-+ .name = "RTA770W",
-+ .expected_cpu_id = 0x6345,
-+
-+ .has_enet0 = 1,
-+
-+ .enet0 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6345 */
-
- /*
-@@ -1393,6 +1412,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_6345
- &board_96345gw2,
- &board_rta770bw,
-+ &board_rta770w,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6348
- &board_96348r,
-@@ -1467,6 +1487,7 @@ static struct of_device_id const bcm963x
- #ifdef CONFIG_BCM63XX_CPU_6345
- { .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
- { .compatible = "dynalink,rta770bw", .data = &board_rta770bw, },
-+ { .compatible = "dynalink,rta770w", .data = &board_rta770w, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6348
- { .compatible = "belkin,f5d7633", .data = &board_96348gw_10, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -50,6 +50,55 @@ static struct board_info __initdata boar
+ #endif /* CONFIG_BCM63XX_CPU_3368 */
+
+ /*
++ * known 6318 boards
++ */
++#ifdef CONFIG_BCM63XX_CPU_6318
++static struct board_info __initdata board_96318ref = {
++ .name = "96318REF",
++ .expected_cpu_id = 0x6318,
++
++ .has_pci = 1,
++
++ .has_usbd = 1,
++
++ .usbd = {
++ .use_fullspeed = 0,
++ .port_no = 0,
++ },
++
++ .has_enetsw = 1,
++
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++};
++#endif /* CONFIG_BCM63XX_CPU_6318 */
++
++/*
+ * known 6328 boards
+ */
+ #ifdef CONFIG_BCM63XX_CPU_6328
+@@ -1467,6 +1516,9 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_3368
+ &board_cvg834g,
+ #endif
++#ifdef CONFIG_BCM63XX_CPU_6318
++ &board_96318ref,
++#endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
+ &board_AR5381u,
+@@ -1544,6 +1596,9 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_3368
+ { .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
+ #endif
++#ifdef CONFIG_BCM63XX_CPU_6318
++ { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
++#endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
+ { .compatible = "brcm,bcm963281tan", .data = &board_963281TAN, },
+++ /dev/null
-From: Marcin Jurkowski <marcin1j@gmail.com>
-Date: Thu, 31 Oct 2013 22:33:10 +0000
-Subject: [PATCH] bcm63xx: Add kernel support for Sagemcom F@ST2704V2 ADSL
- router
-
-This adds kernel support support for Sagemcom F@st 2704 wireless ADSL
-router.
-It's a BCM6328-based 802.11n wireless router with USB port and ADSL2+
-modem equipped with 64 MiB RAM and 8 MiB flash.
-
-Signed-off-by: Marcin Jurkowski <marcin1j@gmail.com>
----
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -341,6 +341,43 @@ static struct board_info __initdata boar
- },
- },
- };
-+
-+static struct board_info __initdata board_FAST2704V2 = {
-+ .name = "F@ST2704V2",
-+ .expected_cpu_id = 0x6328,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .has_usbd = 1,
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6328 */
-
- /*
-@@ -1402,6 +1439,7 @@ static const struct board_info __initcon
- &board_963281TAN,
- &board_A4001N1,
- &board_dsl_274xb_f1,
-+ &board_FAST2704V2,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6338
- &board_96338gw,
-@@ -1477,6 +1515,7 @@ static struct of_device_id const bcm963x
- { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
- { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
- { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
-+ { .compatible = "sagem,fast-2704-v2", .data = &board_FAST2704V2, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6338
- { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -96,6 +96,50 @@ static struct board_info __initdata boar
+ },
+ },
+ };
++
++static struct board_info __initdata board_96318ref_p300 = {
++ .name = "96318REF_P300",
++ .expected_cpu_id = 0x6318,
++
++ .has_pci = 1,
++
++ .has_usbd = 1,
++
++ .usbd = {
++ .use_fullspeed = 0,
++ .port_no = 0,
++ },
++
++ .has_enetsw = 1,
++
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6318 */
+
+ /*
+@@ -1518,6 +1562,7 @@ static const struct board_info __initcon
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6318
+ &board_96318ref,
++ &board_96318ref_p300,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
+@@ -1598,6 +1643,7 @@ static struct of_device_id const bcm963x
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6318
+ { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
++ { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
+++ /dev/null
-From: Max Staudt <openwrt.max@enpas.org>
-Date: Wed, 15 Jan 2014 18:51:13 +0000
-Subject: [PATCH] bcm63xx: F@ST2504n board support (Linux-3.10.26)
-
-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
-@@ -1332,6 +1332,41 @@ static struct board_info __initdata boar
- },
- },
- };
-+
-+static struct board_info __initdata board_fast2504n = {
-+ .name = "F@ST2504n",
-+ .expected_cpu_id = 0x6362,
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6362 */
-
- /*
-@@ -1495,6 +1530,7 @@ static const struct board_info __initcon
-
- #ifdef CONFIG_BCM63XX_CPU_6362
- &board_nb6,
-+ &board_fast2504n,
- #endif
-
- #ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1576,6 +1612,7 @@ static struct of_device_id const bcm963x
- { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6362
-+ { .compatible = "sagem,fast-2504n", .data = &board_fast2504n, },
- { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6368
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1554,6 +1554,50 @@ static struct board_info __initdata boar
+ #endif /* CONFIG_BCM63XX_CPU_6368 */
+
+ /*
++ * known 63268/63269 boards
++ */
++#ifdef CONFIG_BCM63XX_CPU_63268
++static struct board_info __initdata board_963269bhr = {
++ .name = "963269BHR",
++ .expected_cpu_id = 0x63268,
++
++ .has_pci = 1,
++
++ .has_ehci0 = 1,
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "port1",
++ },
++
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port2",
++ },
++
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port3",
++ },
++
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "port4",
++ },
++ },
++ },
++};
++#endif /* CONFIG_BCM63XX_CPU_63268 */
++
++/*
+ * all boards
+ */
+ static const struct board_info __initconst *bcm963xx_boards[] = {
+@@ -1634,6 +1678,9 @@ static const struct board_info __initcon
+ &board_96368mvwg,
+ &board_96368mvngr,
+ #endif
++#ifdef CONFIG_BCM63XX_CPU_63268
++ &board_963269bhr,
++#endif
+ };
+
+ static struct of_device_id const bcm963xx_boards_dt[] = {
+@@ -1721,6 +1768,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
++ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
+ #endif
+ #endif /* CONFIG_OF */
+ { },
--- /dev/null
+From: "mexit@o2.pl" <mexit@o2.pl>
+Date: Sun, 24 Nov 2013 21:33:38 +0000
+Subject: [PATCH 4/5] bcm63xx: add support for Asmax AR 1004g router
+
+Support for Asmax AR 1004g router
+
+Signed-off-by: Adrian Feliks <mexit@o2.pl>
+---
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -647,6 +647,21 @@ static struct board_info __initdata boar
+ .has_ehci0 = 1,
+ };
+
++static struct board_info __initdata board_96348gw_10_AR1004G = {
++ .name = "AR1004G",
++ .expected_cpu_id = 0x6348,
++
++ .has_enet1 = 1,
++ .has_pci = 1,
++
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++};
++
+
+ /* BT Voyager 2110 */
+ static struct board_info __initdata board_V2110 = {
+@@ -1649,6 +1664,7 @@ static const struct board_info __initcon
+ &board_96348A_122,
+ &board_CPVA502plus,
+ &board_96348W3,
++ &board_96348gw_10_AR1004G,
+ #endif
+
+ #ifdef CONFIG_BCM63XX_CPU_6358
+@@ -1713,6 +1729,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "dynalink,rta770w", .data = &board_rta770w, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6348
++ { .compatible = "asmax,ar-1004g", .data = &board_96348gw_10_AR1004G, },
+ { .compatible = "belkin,f5d7633", .data = &board_96348gw_10, },
+ { .compatible = "brcm,bcm96348r", .data = &board_96348r, },
+ { .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1610,6 +1610,51 @@ static struct board_info __initdata boar
+ },
+ },
+ };
++
++static struct board_info __initdata board_vw6339gu = {
++ .name = "VW6339GU",
++ .expected_cpu_id = 0x63268,
++
++ .has_ehci0 = 1,
++ .has_ohci0 = 1,
++ .num_usbh_ports = 1,
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "LAN2",
++ },
++
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "LAN3",
++ },
++
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "LAN4",
++ },
++
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "LAN1",
++ },
++
++ [4] = {
++ .used = 1,
++ .phy_id = 7,
++ .name = "WAN",
++ },
++ },
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_63268 */
+
+ /*
+@@ -1696,6 +1741,7 @@ static const struct board_info __initcon
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ &board_963269bhr,
++ &board_vw6339gu,
+ #endif
+ };
+
+@@ -1786,6 +1832,7 @@ static struct of_device_id const bcm963x
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
++ { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
+ #endif
+ #endif /* CONFIG_OF */
+ { },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1572,6 +1572,64 @@ static struct board_info __initdata boar
+ * known 63268/63269 boards
+ */
+ #ifdef CONFIG_BCM63XX_CPU_63268
++static struct board_info __initdata board_963268bu_p300 = {
++ .name = "963268BU_P300",
++ .expected_cpu_id = 0x63268,
++
++ .has_ehci0 = 1,
++ .has_ohci0 = 1,
++ .num_usbh_ports = 1,
++
++ .has_usbd = 1,
++
++ .usbd = {
++ .use_fullspeed = 0,
++ .port_no = 0,
++ },
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 17,
++ .name = "FE1",
++ },
++
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "GbE2",
++ },
++
++ [4] = {
++ .used = 1,
++ .phy_id = 0,
++ .name = "GbE3",
++ },
++
++ [5] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "GbE1",
++ },
++
++ [6] = {
++ .used = 1,
++ .phy_id = 24,
++ .name = "GbE4",
++ },
++
++ [7] = {
++ .used = 1,
++ .phy_id = 25,
++ .name = "GbE5",
++ },
++ },
++ },
++};
++
+ static struct board_info __initdata board_963269bhr = {
+ .name = "963269BHR",
+ .expected_cpu_id = 0x63268,
+@@ -1740,6 +1798,7 @@ static const struct board_info __initcon
+ &board_96368mvngr,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
++ &board_963268bu_p300,
+ &board_963269bhr,
+ &board_vw6339gu,
+ #endif
+@@ -1831,6 +1890,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
++ { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
+ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
+ { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
+ #endif
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -13,6 +13,8 @@
+ #include <linux/kernel.h>
+ #include <linux/string.h>
+ #include <linux/pci_ids.h>
++#include <linux/platform_data/b53.h>
++#include <linux/spi/spi.h>
+ #include <asm/addrspace.h>
+ #include <bcm63xx_board.h>
+ #include <bcm63xx_cpu.h>
+@@ -1566,6 +1568,47 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
+ };
++
++static struct sprom_fixup __initdata wap5813n_fixups[] = {
++ { .offset = 97, .value = 0xfeed },
++ { .offset = 98, .value = 0x15d1 },
++ { .offset = 99, .value = 0xfb0d },
++ { .offset = 113, .value = 0xfef7 },
++ { .offset = 114, .value = 0x15f7 },
++ { .offset = 115, .value = 0xfb1a },
++};
++
++static struct board_info __initdata board_WAP5813n = {
++ .name = "96369R-1231N",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [4] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "RGMII",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43222,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ .board_fixups = wap5813n_fixups,
++ .num_board_fixups = ARRAY_SIZE(wap5813n_fixups),
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6368 */
+
+ /*
+@@ -1796,6 +1839,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ &board_96368mvwg,
+ &board_96368mvngr,
++ &board_WAP5813n,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ &board_963268bu_p300,
+@@ -1888,6 +1932,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, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1569,6 +1569,59 @@ static struct board_info __initdata boar
+ .has_ehci0 = 1,
+ };
+
++static struct sprom_fixup __initdata vr3025u_fixups[] = {
++ { .offset = 97, .value = 0xfeb3 },
++ { .offset = 98, .value = 0x1618 },
++ { .offset = 99, .value = 0xfab0 },
++ { .offset = 113, .value = 0xfed1 },
++ { .offset = 114, .value = 0x1609 },
++ { .offset = 115, .value = 0xfad9 },
++};
++
++static struct board_info __initdata board_VR3025u = {
++ .name = "96368M-1541N",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "port1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "port4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43222,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ .board_fixups = vr3025u_fixups,
++ .num_board_fixups = ARRAY_SIZE(vr3025u_fixups),
++ },
++};
++
+ static struct sprom_fixup __initdata wap5813n_fixups[] = {
+ { .offset = 97, .value = 0xfeed },
+ { .offset = 98, .value = 0x15d1 },
+@@ -1839,6 +1892,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ &board_96368mvwg,
+ &board_96368mvngr,
++ &board_VR3025u,
+ &board_WAP5813n,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+@@ -1932,6 +1986,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
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1622,6 +1622,59 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct sprom_fixup __initdata vr3025un_fixups[] = {
++ { .offset = 97, .value = 0xfeb3 },
++ { .offset = 98, .value = 0x1618 },
++ { .offset = 99, .value = 0xfab0 },
++ { .offset = 113, .value = 0xfed1 },
++ { .offset = 114, .value = 0x1609 },
++ { .offset = 115, .value = 0xfad9 },
++};
++
++static struct board_info __initdata board_VR3025un = {
++ .name = "96368M-1341N",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "port1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "port4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43222,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ .board_fixups = vr3025un_fixups,
++ .num_board_fixups = ARRAY_SIZE(vr3025un_fixups),
++ },
++};
++
+ static struct sprom_fixup __initdata wap5813n_fixups[] = {
+ { .offset = 97, .value = 0xfeed },
+ { .offset = 98, .value = 0x15d1 },
+@@ -1893,6 +1946,7 @@ static const struct board_info __initcon
+ &board_96368mvwg,
+ &board_96368mvngr,
+ &board_VR3025u,
++ &board_VR3025un,
+ &board_WAP5813n,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+@@ -1987,6 +2041,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
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1578,6 +1578,48 @@ static struct sprom_fixup __initdata vr3
+ { .offset = 115, .value = 0xfad9 },
+ };
+
++static struct board_info __initdata board_P870HW51A_V2 = {
++ .name = "P870HW-51a_v2",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "port1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "port4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM4318,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ },
++};
++
+ static struct board_info __initdata board_VR3025u = {
+ .name = "96368M-1541N",
+ .expected_cpu_id = 0x6368,
+@@ -1945,6 +1987,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ &board_96368mvwg,
+ &board_96368mvngr,
++ &board_P870HW51A_V2,
+ &board_VR3025u,
+ &board_VR3025un,
+ &board_WAP5813n,
+@@ -2043,6 +2086,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, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1264,6 +1264,36 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_HW520 = {
++ .name = "HW6358GW_B",
++ .expected_cpu_id = 0x6358,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++
++ .has_enet0 = 1,
++ .enet0 = {
++ .has_phy = 1,
++ .use_internal_phy = 1,
++ },
++
++ .has_enet1 = 1,
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM4318,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ },
++};
++
+ static struct board_info __initdata board_HW553 = {
+ .name = "HW553",
+ .expected_cpu_id = 0x6358,
+@@ -1971,6 +2001,7 @@ static const struct board_info __initcon
+ &board_nb4_ser_r0,
+ &board_nb4_fxc_r1,
+ &board_ct6373_1,
++ &board_HW520,
+ &board_HW553,
+ &board_HW556_A,
+ &board_HW556_B,
+@@ -2063,6 +2094,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
+ { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
+ { .compatible = "d-link,dva-g3810bn-tl", .data = &board_DVAG3810BN, },
++ { .compatible = "huawei,echolife-hg520v", .data = &board_HW520, },
+ { .compatible = "huawei,echolife-hg553", .data = &board_HW553, },
+ { .compatible = "huawei,echolife-hg556a-a", .data = &board_HW556_A, },
+ { .compatible = "huawei,echolife-hg556a-b", .data = &board_HW556_B, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -349,6 +349,49 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_A4001N = {
++ .name = "96328dg2x2",
++ .expected_cpu_id = 0x6328,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43225,
++ .pci_bus = 1,
++ .pci_dev = 0,
++ },
++};
++
+ static struct board_info __initdata board_A4001N1 = {
+ .name = "963281T_TEF",
+ .expected_cpu_id = 0x6328,
+@@ -1952,6 +1995,7 @@ static const struct board_info __initcon
+ &board_AR5381u,
+ &board_AR5387un,
+ &board_963281TAN,
++ &board_A4001N,
+ &board_A4001N1,
+ &board_dsl_274xb_f1,
+ &board_FAST2704V2,
+@@ -2040,6 +2084,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
+ #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, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -142,6 +142,74 @@ static struct board_info __initdata boar
+ },
+ },
+ };
++
++static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
++ { .offset = 96, .value = 0x2046 },
++ { .offset = 97, .value = 0xfe9d },
++ { .offset = 98, .value = 0x1854 },
++ { .offset = 99, .value = 0xfa59 },
++ { .offset = 112, .value = 0x2046 },
++ { .offset = 113, .value = 0xfe79 },
++ { .offset = 114, .value = 0x17f5 },
++ { .offset = 115, .value = 0xfa47 },
++ { .offset = 161, .value = 0x2222 },
++ { .offset = 162, .value = 0x2222 },
++ { .offset = 169, .value = 0x2222 },
++ { .offset = 170, .value = 0x2222 },
++ { .offset = 171, .value = 0x5555 },
++ { .offset = 172, .value = 0x5555 },
++ { .offset = 173, .value = 0x4444 },
++ { .offset = 174, .value = 0x4444 },
++ { .offset = 175, .value = 0x5555 },
++ { .offset = 176, .value = 0x5555 },
++};
++
++static struct board_info __initdata board_dsl_2751b_d1 = {
++ .name = "AW5200B",
++ .expected_cpu_id = 0x6318,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++
++ .has_enetsw = 1,
++
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43217,
++ .pci_bus = 1,
++ .pci_dev = 0,
++ .board_fixups = dsl2751b_e1_fixups,
++ .num_board_fixups = ARRAY_SIZE(dsl2751b_e1_fixups),
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6318 */
+
+ /*
+@@ -1989,6 +2057,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6318
+ &board_96318ref,
+ &board_96318ref_p300,
++ &board_dsl_2751b_d1,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
+@@ -2082,6 +2151,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_6318
+ { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
+ { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
++ { .compatible = "d-link,dsl-275xb-d1", .data = &board_dsl_2751b_d1, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ { .compatible = "adb,a4001n", .data = &board_A4001N, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1710,6 +1710,30 @@ static struct board_info __initdata boar
+ .has_ehci0 = 1,
+ };
+
++static struct board_info __initdata board_DGND3700v1_3800B = {
++ .name = "DGND3700v1_3800B",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [5] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "RGMII",
++ },
++ },
++ },
++};
++
+ static struct sprom_fixup __initdata vr3025u_fixups[] = {
+ { .offset = 97, .value = 0xfeb3 },
+ { .offset = 98, .value = 0x1618 },
+@@ -2131,6 +2155,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6368
+ &board_96368mvwg,
+ &board_96368mvngr,
++ &board_DGND3700v1_3800B,
+ &board_P870HW51A_V2,
+ &board_VR3025u,
+ &board_VR3025un,
+@@ -2233,6 +2258,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 = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
+ { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1375,6 +1375,31 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_homehub2a = {
++ .name = "HOMEHUB2A",
++ .expected_cpu_id = 0x6358,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enet1 = 1,
++ .enet1 = {
++ .has_phy = 1,
++ .phy_id = 0,
++ .force_speed_100 = 1,
++ .force_duplex_full = 1,
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM4322,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ },
++};
++
+ static struct board_info __initdata board_HW520 = {
+ .name = "HW6358GW_B",
+ .expected_cpu_id = 0x6358,
+@@ -2138,6 +2163,7 @@ static const struct board_info __initcon
+ &board_nb4_ser_r0,
+ &board_nb4_fxc_r1,
+ &board_ct6373_1,
++ &board_homehub2a,
+ &board_HW520,
+ &board_HW553,
+ &board_HW556_A,
+@@ -2247,6 +2273,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "sfr,neufbox-4-foxconn-r1", .data = &board_nb4_fxc_r1, },
+ { .compatible = "t-com,speedport-w-303v", .data = &board_spw303v, },
+ { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
++ { .compatible = "bt,home-hub-2-a", .data = &board_homehub2a, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6362
+ { .compatible = "sagem,fast-2504n", .data = &board_fast2504n, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1759,6 +1759,52 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_HG655b = {
++ .name = "HW65x",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_caldata = 1,
++ .caldata = {
++ {
++ .vendor = PCI_VENDOR_ID_RALINK,
++ .caldata_offset = 0x7c0000,
++ .slot = 1,
++ .eeprom = "rt2x00.eeprom",
++ },
++ },
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "port1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "port4",
++ },
++ },
++ },
++};
++
+ static struct sprom_fixup __initdata vr3025u_fixups[] = {
+ { .offset = 97, .value = 0xfeb3 },
+ { .offset = 98, .value = 0x1618 },
+@@ -2182,6 +2228,7 @@ static const struct board_info __initcon
+ &board_96368mvwg,
+ &board_96368mvngr,
+ &board_DGND3700v1_3800B,
++ &board_HG655b,
+ &board_P870HW51A_V2,
+ &board_VR3025u,
+ &board_VR3025un,
+@@ -2285,6 +2332,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 = "huawei,echolife-hg655b", .data = &board_HG655b, },
+ { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
+ { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
+ #endif
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -210,6 +210,45 @@ static struct board_info __initdata boar
+ .num_board_fixups = ARRAY_SIZE(dsl2751b_e1_fixups),
+ },
+ };
++
++static struct board_info __initdata board_FAST2704N = {
++ .name = "F@ST2704N",
++ .expected_cpu_id = 0x6318,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++
++ .has_enetsw = 1,
++
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_6318 */
+
+ /*
+@@ -2153,6 +2192,7 @@ static const struct board_info __initcon
+ &board_96318ref,
+ &board_96318ref_p300,
+ &board_dsl_2751b_d1,
++ &board_FAST2704N,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
+@@ -2250,6 +2290,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
+ { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
+ { .compatible = "d-link,dsl-275xb-d1", .data = &board_dsl_2751b_d1, },
++ { .compatible = "sagem,fast-2704n", .data = &board_FAST2704N, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ { .compatible = "adb,a4001n", .data = &board_A4001N, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1992,6 +1992,59 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct sprom_fixup __initdata vr3026e_fixups[] = {
++ { .offset = 97, .value = 0xfeb3 },
++ { .offset = 98, .value = 0x1618 },
++ { .offset = 99, .value = 0xfab0 },
++ { .offset = 113, .value = 0xfed1 },
++ { .offset = 114, .value = 0x1609 },
++ { .offset = 115, .value = 0xfad9 },
++};
++
++static struct board_info __initdata board_VR3026e = {
++ .name = "96368MT-1341N1",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "port1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "port4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43222,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ .board_fixups = vr3026e_fixups,
++ .num_board_fixups = ARRAY_SIZE(vr3026e_fixups),
++ },
++};
++
+ static struct sprom_fixup __initdata wap5813n_fixups[] = {
+ { .offset = 97, .value = 0xfeed },
+ { .offset = 98, .value = 0x15d1 },
+@@ -2272,6 +2325,7 @@ static const struct board_info __initcon
+ &board_P870HW51A_V2,
+ &board_VR3025u,
+ &board_VR3025un,
++ &board_VR3026e,
+ &board_WAP5813n,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
+@@ -2372,6 +2426,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
+ { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
++ { .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
+ { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
+ { .compatible = "huawei,echolife-hg655b", .data = &board_HG655b, },
+ { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -623,6 +623,50 @@ static struct board_info __initdata boar
+ },
+ },
+ };
++
++static struct board_info __initdata board_R5010UNV2 = {
++ .name = "96328ang",
++ .expected_cpu_id = 0x6328,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43217,
++ .pci_bus = 1,
++ .pci_dev = 0,
++ },
++};
++
+ #endif /* CONFIG_BCM63XX_CPU_6328 */
+
+ /*
+@@ -2256,6 +2300,7 @@ static const struct board_info __initcon
+ &board_A4001N1,
+ &board_dsl_274xb_f1,
+ &board_FAST2704V2,
++ &board_R5010UNV2,
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+ &board_96338gw,
+@@ -2354,6 +2399,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
+ { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
+ { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
++ { .compatible = "nucom,r5010un-v2", .data = &board_R5010UNV2, },
+ { .compatible = "sagem,fast-2704-v2", .data = &board_FAST2704V2, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -50,6 +50,55 @@ static struct board_info __initdata boar
- #endif /* CONFIG_BCM63XX_CPU_3368 */
-
- /*
-+ * known 6318 boards
-+ */
-+#ifdef CONFIG_BCM63XX_CPU_6318
-+static struct board_info __initdata board_96318ref = {
-+ .name = "96318REF",
-+ .expected_cpu_id = 0x6318,
-+
-+ .has_pci = 1,
-+
-+ .has_usbd = 1,
-+
-+ .usbd = {
-+ .use_fullspeed = 0,
-+ .port_no = 0,
-+ },
-+
-+ .has_enetsw = 1,
-+
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+};
-+#endif /* CONFIG_BCM63XX_CPU_6318 */
-+
-+/*
- * known 6328 boards
- */
- #ifdef CONFIG_BCM63XX_CPU_6328
-@@ -1467,6 +1516,9 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_3368
- &board_cvg834g,
- #endif
-+#ifdef CONFIG_BCM63XX_CPU_6318
-+ &board_96318ref,
-+#endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- &board_96328avng,
- &board_AR5381u,
-@@ -1544,6 +1596,9 @@ static struct of_device_id const bcm963x
- #ifdef CONFIG_BCM63XX_CPU_3368
- { .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
- #endif
-+#ifdef CONFIG_BCM63XX_CPU_6318
-+ { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
-+#endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
- { .compatible = "brcm,bcm963281tan", .data = &board_963281TAN, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1888,6 +1888,52 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_HG622 = {
++ .name = "96368MVWG_hg622",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_caldata = 1,
++ .caldata = {
++ {
++ .vendor = PCI_VENDOR_ID_RALINK,
++ .caldata_offset = 0xfa0000,
++ .slot = 1,
++ .eeprom = "rt2x00.eeprom",
++ },
++ },
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "port1",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port2",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port3",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "port4",
++ },
++ },
++ },
++};
++
+ static struct sprom_fixup __initdata vr3025u_fixups[] = {
+ { .offset = 97, .value = 0xfeb3 },
+ { .offset = 98, .value = 0x1618 },
+@@ -2366,6 +2412,7 @@ static const struct board_info __initcon
+ &board_96368mvwg,
+ &board_96368mvngr,
+ &board_DGND3700v1_3800B,
++ &board_HG622,
+ &board_HG655b,
+ &board_P870HW51A_V2,
+ &board_VR3025u,
+@@ -2474,6 +2521,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
+ { .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
+ { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
++ { .compatible = "huawei,echolife-hg622", .data = &board_HG622, },
+ { .compatible = "huawei,echolife-hg655b", .data = &board_HG655b, },
+ { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
+ { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -96,6 +96,50 @@ static struct board_info __initdata boar
- },
- },
- };
-+
-+static struct board_info __initdata board_96318ref_p300 = {
-+ .name = "96318REF_P300",
-+ .expected_cpu_id = 0x6318,
-+
-+ .has_pci = 1,
-+
-+ .has_usbd = 1,
-+
-+ .usbd = {
-+ .use_fullspeed = 0,
-+ .port_no = 0,
-+ },
-+
-+ .has_enetsw = 1,
-+
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6318 */
-
- /*
-@@ -1518,6 +1562,7 @@ static const struct board_info __initcon
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6318
- &board_96318ref,
-+ &board_96318ref_p300,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- &board_96328avng,
-@@ -1598,6 +1643,7 @@ static struct of_device_id const bcm963x
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6318
- { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
-+ { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- { .compatible = "adb,a4001n1", .data = &board_A4001N1, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1842,6 +1842,42 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct sprom_fixup __initdata EVG2000_fixups[] = {
++ { .offset = 219, .value = 0xec08 },
++};
++
++static struct board_info __initdata board_EVG2000 = {
++ .name = "96369PVG",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [5] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "RGMII",
++ },
++ },
++ },
++ .use_fallback_sprom = 1,
++ .fallback_sprom = {
++ .type = SPROM_BCM4322,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ .board_fixups = EVG2000_fixups,
++ .num_board_fixups = ARRAY_SIZE(EVG2000_fixups),
++ },
++};
++
+ static struct board_info __initdata board_HG655b = {
+ .name = "HW65x",
+ .expected_cpu_id = 0x6368,
+@@ -2412,6 +2448,7 @@ static const struct board_info __initcon
+ &board_96368mvwg,
+ &board_96368mvngr,
+ &board_DGND3700v1_3800B,
++ &board_EVG2000,
+ &board_HG622,
+ &board_HG655b,
+ &board_P870HW51A_V2,
+@@ -2524,6 +2561,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "huawei,echolife-hg622", .data = &board_HG622, },
+ { .compatible = "huawei,echolife-hg655b", .data = &board_HG655b, },
+ { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
++ { .compatible = "netgear,evg2000", .data = &board_EVG2000, },
+ { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1732,6 +1732,51 @@ static struct board_info __initdata boar
+ * known 6368 boards
+ */
+ #ifdef CONFIG_BCM63XX_CPU_6368
++static struct board_info __initdata board_AV4202N = {
++ .name = "96368_Swiss_S1",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "port1",
++ },
++
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "port2",
++ },
++
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "port3",
++ },
++
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "port4",
++ },
++ },
++ },
++ .use_fallback_sprom = 1,
++ .fallback_sprom = {
++ .pci_bus = 0,
++ .pci_dev = 1,
++ },
++
++};
++
+ static struct board_info __initdata board_96368mvwg = {
+ .name = "96368MVWG",
+ .expected_cpu_id = 0x6368,
+@@ -2445,6 +2490,7 @@ static const struct board_info __initcon
+ #endif
+
+ #ifdef CONFIG_BCM63XX_CPU_6368
++ &board_AV4202N,
+ &board_96368mvwg,
+ &board_96368mvngr,
+ &board_DGND3700v1_3800B,
+@@ -2552,6 +2598,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
++ { .compatible = "adb,av4202n", .data = &board_AV4202N, },
+ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1554,6 +1554,50 @@ static struct board_info __initdata boar
- #endif /* CONFIG_BCM63XX_CPU_6368 */
-
- /*
-+ * known 63268/63269 boards
-+ */
-+#ifdef CONFIG_BCM63XX_CPU_63268
-+static struct board_info __initdata board_963269bhr = {
-+ .name = "963269BHR",
-+ .expected_cpu_id = 0x63268,
-+
-+ .has_pci = 1,
-+
-+ .has_ehci0 = 1,
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "port1",
-+ },
-+
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port2",
-+ },
-+
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port3",
-+ },
-+
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "port4",
-+ },
-+ },
-+ },
-+};
-+#endif /* CONFIG_BCM63XX_CPU_63268 */
-+
-+/*
- * all boards
- */
- static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1634,6 +1678,9 @@ static const struct board_info __initcon
- &board_96368mvwg,
- &board_96368mvngr,
- #endif
-+#ifdef CONFIG_BCM63XX_CPU_63268
-+ &board_963269bhr,
-+#endif
- };
-
- static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -1721,6 +1768,7 @@ static struct of_device_id const bcm963x
- { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
-+ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
- #endif
- #endif /* CONFIG_OF */
- { },
+++ /dev/null
-From: "mexit@o2.pl" <mexit@o2.pl>
-Date: Sun, 24 Nov 2013 21:33:38 +0000
-Subject: [PATCH 4/5] bcm63xx: add support for Asmax AR 1004g router
-
-Support for Asmax AR 1004g router
-
-Signed-off-by: Adrian Feliks <mexit@o2.pl>
----
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -647,6 +647,21 @@ static struct board_info __initdata boar
- .has_ehci0 = 1,
- };
-
-+static struct board_info __initdata board_96348gw_10_AR1004G = {
-+ .name = "AR1004G",
-+ .expected_cpu_id = 0x6348,
-+
-+ .has_enet1 = 1,
-+ .has_pci = 1,
-+
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+};
-+
-
- /* BT Voyager 2110 */
- static struct board_info __initdata board_V2110 = {
-@@ -1649,6 +1664,7 @@ static const struct board_info __initcon
- &board_96348A_122,
- &board_CPVA502plus,
- &board_96348W3,
-+ &board_96348gw_10_AR1004G,
- #endif
-
- #ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1713,6 +1729,7 @@ static struct of_device_id const bcm963x
- { .compatible = "dynalink,rta770w", .data = &board_rta770w, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6348
-+ { .compatible = "asmax,ar-1004g", .data = &board_96348gw_10_AR1004G, },
- { .compatible = "belkin,f5d7633", .data = &board_96348gw_10, },
- { .compatible = "brcm,bcm96348r", .data = &board_96348r, },
- { .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -2216,6 +2216,106 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct sprom_fixup __initdata vh4032n_fixups[] = {
++ { .offset = 2, .value = 0x04d2 },
++ { .offset = 4, .value = 0x4350 },
++ { .offset = 65, .value = 0x1300 },
++ { .offset = 68, .value = 0x0402 },
++ { .offset = 70, .value = 0x0090 },
++ { .offset = 71, .value = 0x4c19 },
++ { .offset = 72, .value = 0x2345 },
++ { .offset = 87, .value = 0x0315 },
++ { .offset = 88, .value = 0x0315 },
++ { .offset = 96, .value = 0x2048 },
++ { .offset = 97, .value = 0xfed7 },
++ { .offset = 98, .value = 0x15a6 },
++ { .offset = 99, .value = 0xfaee },
++ { .offset = 100, .value = 0x3e3a },
++ { .offset = 101, .value = 0x3a36 },
++ { .offset = 102, .value = 0xff7f },
++ { .offset = 103, .value = 0x11b9 },
++ { .offset = 104, .value = 0xfc53 },
++ { .offset = 105, .value = 0xffe6 },
++ { .offset = 106, .value = 0xfdd2 },
++ { .offset = 107, .value = 0xfe49 },
++ { .offset = 108, .value = 0xff6a },
++ { .offset = 109, .value = 0x136e },
++ { .offset = 110, .value = 0xfbed },
++ { .offset = 111, .value = 0x0000 },
++ { .offset = 112, .value = 0x2048 },
++ { .offset = 113, .value = 0xfee2 },
++ { .offset = 114, .value = 0x15e5 },
++ { .offset = 115, .value = 0xfaed },
++ { .offset = 116, .value = 0x3e3a },
++ { .offset = 117, .value = 0x3a36 },
++ { .offset = 118, .value = 0xffc8 },
++ { .offset = 119, .value = 0x12b8 },
++ { .offset = 120, .value = 0xfca1 },
++ { .offset = 121, .value = 0xff9b },
++ { .offset = 122, .value = 0x122a },
++ { .offset = 123, .value = 0xfcc8 },
++ { .offset = 124, .value = 0xff95 },
++ { .offset = 125, .value = 0x146b },
++ { .offset = 126, .value = 0xfbba },
++ { .offset = 127, .value = 0x0000 },
++ { .offset = 161, .value = 0x0000 },
++ { .offset = 162, .value = 0x0000 },
++ { .offset = 169, .value = 0x0000 },
++ { .offset = 170, .value = 0x0000 },
++ { .offset = 171, .value = 0x0000 },
++ { .offset = 172, .value = 0x0000 },
++ { .offset = 173, .value = 0x0000 },
++ { .offset = 174, .value = 0x0000 },
++ { .offset = 175, .value = 0x0000 },
++ { .offset = 176, .value = 0x0000 },
++ { .offset = 219, .value = 0x1108 },
++};
++
++static struct board_info __initdata board_VH4032N = {
++ .name = "VH4032N",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "LAN4",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "LAN3",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "LAN2",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "LAN1",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43222,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ .board_fixups = vh4032n_fixups,
++ .num_board_fixups = ARRAY_SIZE(vh4032n_fixups),
++ },
++};
++
+ static struct sprom_fixup __initdata wap5813n_fixups[] = {
+ { .offset = 97, .value = 0xfeed },
+ { .offset = 98, .value = 0x15d1 },
+@@ -2498,6 +2598,7 @@ static const struct board_info __initcon
+ &board_HG622,
+ &board_HG655b,
+ &board_P870HW51A_V2,
++ &board_VH4032N,
+ &board_VR3025u,
+ &board_VR3025un,
+ &board_VR3026e,
+@@ -2609,6 +2710,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "huawei,echolife-hg655b", .data = &board_HG655b, },
+ { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
+ { .compatible = "netgear,evg2000", .data = &board_EVG2000, },
++ { .compatible = "observa,vh4032n", .data = &board_VH4032N, },
+ { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_63268
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -2066,6 +2066,29 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_R1000H = {
++ .name = "R1000H",
++ .expected_cpu_id = 0x6368,
++
++ .has_pci = 1,
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [5] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "RGMII",
++ },
++ },
++ },
++};
++
+ static struct board_info __initdata board_VR3025u = {
+ .name = "96368M-1541N",
+ .expected_cpu_id = 0x6368,
+@@ -2598,6 +2621,7 @@ static const struct board_info __initcon
+ &board_HG622,
+ &board_HG655b,
+ &board_P870HW51A_V2,
++ &board_R1000H,
+ &board_VH4032N,
+ &board_VR3025u,
+ &board_VR3025un,
+@@ -2699,6 +2723,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6368
++ { .compatible = "actiontec,r1000h", .data = &board_R1000H, },
+ { .compatible = "adb,av4202n", .data = &board_AV4202N, },
+ { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1610,6 +1610,51 @@ static struct board_info __initdata boar
- },
- },
- };
-+
-+static struct board_info __initdata board_vw6339gu = {
-+ .name = "VW6339GU",
-+ .expected_cpu_id = 0x63268,
-+
-+ .has_ehci0 = 1,
-+ .has_ohci0 = 1,
-+ .num_usbh_ports = 1,
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "LAN2",
-+ },
-+
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "LAN3",
-+ },
-+
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "LAN4",
-+ },
-+
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "LAN1",
-+ },
-+
-+ [4] = {
-+ .used = 1,
-+ .phy_id = 7,
-+ .name = "WAN",
-+ },
-+ },
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_63268 */
-
- /*
-@@ -1696,6 +1741,7 @@ static const struct board_info __initcon
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
- &board_963269bhr,
-+ &board_vw6339gu,
- #endif
- };
-
-@@ -1786,6 +1832,7 @@ static struct of_device_id const bcm963x
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
- { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
-+ { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
- #endif
- #endif /* CONFIG_OF */
- { },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1572,6 +1572,64 @@ static struct board_info __initdata boar
- * known 63268/63269 boards
- */
- #ifdef CONFIG_BCM63XX_CPU_63268
-+static struct board_info __initdata board_963268bu_p300 = {
-+ .name = "963268BU_P300",
-+ .expected_cpu_id = 0x63268,
-+
-+ .has_ehci0 = 1,
-+ .has_ohci0 = 1,
-+ .num_usbh_ports = 1,
-+
-+ .has_usbd = 1,
-+
-+ .usbd = {
-+ .use_fullspeed = 0,
-+ .port_no = 0,
-+ },
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 17,
-+ .name = "FE1",
-+ },
-+
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "GbE2",
-+ },
-+
-+ [4] = {
-+ .used = 1,
-+ .phy_id = 0,
-+ .name = "GbE3",
-+ },
-+
-+ [5] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "GbE1",
-+ },
-+
-+ [6] = {
-+ .used = 1,
-+ .phy_id = 24,
-+ .name = "GbE4",
-+ },
-+
-+ [7] = {
-+ .used = 1,
-+ .phy_id = 25,
-+ .name = "GbE5",
-+ },
-+ },
-+ },
-+};
-+
- static struct board_info __initdata board_963269bhr = {
- .name = "963269BHR",
- .expected_cpu_id = 0x63268,
-@@ -1740,6 +1798,7 @@ static const struct board_info __initcon
- &board_96368mvngr,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
-+ &board_963268bu_p300,
- &board_963269bhr,
- &board_vw6339gu,
- #endif
-@@ -1831,6 +1890,7 @@ static struct of_device_id const bcm963x
- { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
-+ { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
- { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
- { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
- #endif
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -143,6 +143,67 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct sprom_fixup __initdata ar5315u_fixups[] = {
++ { .offset = 6, .value = 0x1c00 },
++ { .offset = 65, .value = 0x1255 },
++ { .offset = 97, .value = 0xfe55 },
++ { .offset = 98, .value = 0x171d },
++ { .offset = 99, .value = 0xfa42 },
++ { .offset = 113, .value = 0xfeb7 },
++ { .offset = 114, .value = 0x18cd },
++ { .offset = 115, .value = 0xfa4f },
++ { .offset = 162, .value = 0x6444 },
++ { .offset = 170, .value = 0x6444 },
++ { .offset = 172, .value = 0x6444 },
++};
++
++static struct board_info __initdata board_AR5315u = {
++ .name = "96318A-1441N1",
++ .expected_cpu_id = 0x6318,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++
++ .has_enetsw = 1,
++
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "LAN4",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "LAN3",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "LAN2",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "LAN1",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43217,
++ .pci_bus = 1,
++ .pci_dev = 0,
++ .board_fixups = ar5315u_fixups,
++ .num_board_fixups = ARRAY_SIZE(ar5315u_fixups),
++ },
++};
++
+ static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
+ { .offset = 96, .value = 0x2046 },
+ { .offset = 97, .value = 0xfe9d },
+@@ -2538,6 +2599,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_6318
+ &board_96318ref,
+ &board_96318ref_p300,
++ &board_AR5315u,
+ &board_dsl_2751b_d1,
+ &board_FAST2704N,
+ #endif
+@@ -2643,6 +2705,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_6318
+ { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
+ { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
++ { .compatible = "comtrend,ar-5315u", .data = &board_AR5315u, },
+ { .compatible = "d-link,dsl-275xb-d1", .data = &board_dsl_2751b_d1, },
+ { .compatible = "sagem,fast-2704n", .data = &board_FAST2704N, },
+ #endif
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -357,6 +357,73 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct sprom_fixup __initdata ad1018_fixups[] = {
++ { .offset = 6, .value = 0x1c00 },
++ { .offset = 65, .value = 0x1256 },
++ { .offset = 96, .value = 0x2046 },
++ { .offset = 97, .value = 0xfe69 },
++ { .offset = 98, .value = 0x1726 },
++ { .offset = 99, .value = 0xfa5c },
++ { .offset = 112, .value = 0x2046 },
++ { .offset = 113, .value = 0xfea8 },
++ { .offset = 114, .value = 0x1978 },
++ { .offset = 115, .value = 0xfa26 },
++ { .offset = 161, .value = 0x2222 },
++ { .offset = 169, .value = 0x2222 },
++ { .offset = 171, .value = 0x2222 },
++ { .offset = 173, .value = 0x2222 },
++ { .offset = 174, .value = 0x4444 },
++ { .offset = 175, .value = 0x2222 },
++ { .offset = 176, .value = 0x4444 },
++};
++
++static struct board_info __initdata board_AD1018 = {
++ .name = "96328avngr",
++ .expected_cpu_id = 0x6328,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 1,
++
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 1,
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "FIBRE",
++ },
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "LAN3",
++ },
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "LAN2",
++ },
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "LAN1",
++ },
++ },
++ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM43217,
++ .pci_bus = 1,
++ .pci_dev = 0,
++ .board_fixups = ad1018_fixups,
++ .num_board_fixups = ARRAY_SIZE(ad1018_fixups),
++ },
++};
++
+ static struct sprom_fixup __initdata ar5381u_fixups[] = {
+ { .offset = 97, .value = 0xfee5 },
+ { .offset = 98, .value = 0x157c },
+@@ -2605,6 +2672,7 @@ static const struct board_info __initcon
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6328
+ &board_96328avng,
++ &board_AD1018,
+ &board_AR5381u,
+ &board_AR5387un,
+ &board_963281TAN,
+@@ -2719,6 +2787,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
+ { .compatible = "nucom,r5010un-v2", .data = &board_R5010UNV2, },
+ { .compatible = "sagem,fast-2704-v2", .data = &board_FAST2704V2, },
++ { .compatible = "sercomm,ad1018-nor", .data = &board_AD1018, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6338
+ { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -13,6 +13,8 @@
- #include <linux/kernel.h>
- #include <linux/string.h>
- #include <linux/pci_ids.h>
-+#include <linux/platform_data/b53.h>
-+#include <linux/spi/spi.h>
- #include <asm/addrspace.h>
- #include <bcm63xx_board.h>
- #include <bcm63xx_cpu.h>
-@@ -1566,6 +1568,47 @@ static struct board_info __initdata boar
- .has_ohci0 = 1,
- .has_ehci0 = 1,
- };
-+
-+static struct sprom_fixup __initdata wap5813n_fixups[] = {
-+ { .offset = 97, .value = 0xfeed },
-+ { .offset = 98, .value = 0x15d1 },
-+ { .offset = 99, .value = 0xfb0d },
-+ { .offset = 113, .value = 0xfef7 },
-+ { .offset = 114, .value = 0x15f7 },
-+ { .offset = 115, .value = 0xfb1a },
-+};
-+
-+static struct board_info __initdata board_WAP5813n = {
-+ .name = "96369R-1231N",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [4] = {
-+ .used = 1,
-+ .phy_id = 0xff,
-+ .bypass_link = 1,
-+ .force_speed = 1000,
-+ .force_duplex_full = 1,
-+ .name = "RGMII",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43222,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ .board_fixups = wap5813n_fixups,
-+ .num_board_fixups = ARRAY_SIZE(wap5813n_fixups),
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6368 */
-
- /*
-@@ -1796,6 +1839,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_6368
- &board_96368mvwg,
- &board_96368mvngr,
-+ &board_WAP5813n,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
- &board_963268bu_p300,
-@@ -1888,6 +1932,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, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1569,6 +1569,59 @@ static struct board_info __initdata boar
- .has_ehci0 = 1,
- };
-
-+static struct sprom_fixup __initdata vr3025u_fixups[] = {
-+ { .offset = 97, .value = 0xfeb3 },
-+ { .offset = 98, .value = 0x1618 },
-+ { .offset = 99, .value = 0xfab0 },
-+ { .offset = 113, .value = 0xfed1 },
-+ { .offset = 114, .value = 0x1609 },
-+ { .offset = 115, .value = 0xfad9 },
-+};
-+
-+static struct board_info __initdata board_VR3025u = {
-+ .name = "96368M-1541N",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "port1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "port4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43222,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ .board_fixups = vr3025u_fixups,
-+ .num_board_fixups = ARRAY_SIZE(vr3025u_fixups),
-+ },
-+};
-+
- static struct sprom_fixup __initdata wap5813n_fixups[] = {
- { .offset = 97, .value = 0xfeed },
- { .offset = 98, .value = 0x15d1 },
-@@ -1839,6 +1892,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_6368
- &board_96368mvwg,
- &board_96368mvngr,
-+ &board_VR3025u,
- &board_WAP5813n,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
-@@ -1932,6 +1986,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
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -2654,6 +2654,49 @@ static struct board_info __initdata boar
+ },
+ },
+ };
++
++static struct board_info __initdata board_BSKYB_63168 = {
++ .name = "BSKYB_63168",
++ .expected_cpu_id = 0x63268,
++
++ .has_pci = 1,
++ .use_fallback_sprom = 0,
++
++ .has_ehci0 = 1,
++ .has_ohci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enetsw = 1,
++
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "Port 1",
++ },
++
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "Port 2",
++ },
++
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "Port 3",
++ },
++
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "Port 4",
++ },
++
++ },
++ },
++};
+ #endif /* CONFIG_BCM63XX_CPU_63268 */
+
+ /*
+@@ -2762,6 +2805,7 @@ static const struct board_info __initcon
+ &board_963268bu_p300,
+ &board_963269bhr,
+ &board_vw6339gu,
++ &board_BSKYB_63168,
+ #endif
+ };
+
+@@ -2874,6 +2918,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
+ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
+ { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
++ { .compatible = "sky,sr102", .data = &board_BSKYB_63168, },
+ #endif
+ #endif /* CONFIG_OF */
+ { },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -2610,6 +2610,44 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_VR3032u = {
++ .name = "963168M-1841N1",
++ .expected_cpu_id = 0x63268,
++
++ .has_ehci0 = 1,
++ .has_ohci0 = 1,
++ .num_usbh_ports = 1,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [0] = {
++ .used = 1,
++ .phy_id = 1,
++ .name = "LAN2",
++ },
++
++ [1] = {
++ .used = 1,
++ .phy_id = 2,
++ .name = "LAN3",
++ },
++
++ [2] = {
++ .used = 1,
++ .phy_id = 3,
++ .name = "LAN4",
++ },
++
++ [3] = {
++ .used = 1,
++ .phy_id = 4,
++ .name = "LAN1",
++ },
++ },
++ },
++};
++
+ static struct board_info __initdata board_vw6339gu = {
+ .name = "VW6339GU",
+ .expected_cpu_id = 0x63268,
+@@ -2804,6 +2842,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ &board_963268bu_p300,
+ &board_963269bhr,
++ &board_VR3032u,
+ &board_vw6339gu,
+ &board_BSKYB_63168,
+ #endif
+@@ -2917,6 +2956,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
+ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
++ { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, },
+ { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
+ { .compatible = "sky,sr102", .data = &board_BSKYB_63168, },
+ #endif
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1622,6 +1622,59 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct sprom_fixup __initdata vr3025un_fixups[] = {
-+ { .offset = 97, .value = 0xfeb3 },
-+ { .offset = 98, .value = 0x1618 },
-+ { .offset = 99, .value = 0xfab0 },
-+ { .offset = 113, .value = 0xfed1 },
-+ { .offset = 114, .value = 0x1609 },
-+ { .offset = 115, .value = 0xfad9 },
-+};
-+
-+static struct board_info __initdata board_VR3025un = {
-+ .name = "96368M-1341N",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "port1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "port4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43222,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ .board_fixups = vr3025un_fixups,
-+ .num_board_fixups = ARRAY_SIZE(vr3025un_fixups),
-+ },
-+};
-+
- static struct sprom_fixup __initdata wap5813n_fixups[] = {
- { .offset = 97, .value = 0xfeed },
- { .offset = 98, .value = 0x15d1 },
-@@ -1893,6 +1946,7 @@ static const struct board_info __initcon
- &board_96368mvwg,
- &board_96368mvngr,
- &board_VR3025u,
-+ &board_VR3025un,
- &board_WAP5813n,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
-@@ -1987,6 +2041,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
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1820,6 +1820,31 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_dgnd3700v2 = {
++ .name = "96362ADVN2xh",
++ .expected_cpu_id = 0x6362,
++
++ .has_pci = 1,
++
++ .has_ohci0 = 1,
++ .has_ehci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [4] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "RGMII",
++ },
++ },
++ },
++};
++
+ static struct board_info __initdata board_fast2504n = {
+ .name = "F@ST2504n",
+ .expected_cpu_id = 0x6362,
+@@ -2820,6 +2845,7 @@ static const struct board_info __initcon
+
+ #ifdef CONFIG_BCM63XX_CPU_6362
+ &board_nb6,
++ &board_dgnd3700v2,
+ &board_fast2504n,
+ #endif
+
+@@ -2934,6 +2960,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "bt,home-hub-2-a", .data = &board_homehub2a, },
+ #endif
+ #ifdef CONFIG_BCM63XX_CPU_6362
++ { .compatible = "netgear,dgnd3700-v2", .data = &board_dgnd3700v2, },
+ { .compatible = "sagem,fast-2504n", .data = &board_fast2504n, },
+ { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
+ #endif
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1578,6 +1578,48 @@ static struct sprom_fixup __initdata vr3
- { .offset = 115, .value = 0xfad9 },
- };
-
-+static struct board_info __initdata board_P870HW51A_V2 = {
-+ .name = "P870HW-51a_v2",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "port1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "port4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM4318,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ },
-+};
-+
- static struct board_info __initdata board_VR3025u = {
- .name = "96368M-1541N",
- .expected_cpu_id = 0x6368,
-@@ -1945,6 +1987,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_6368
- &board_96368mvwg,
- &board_96368mvngr,
-+ &board_P870HW51A_V2,
- &board_VR3025u,
- &board_VR3025un,
- &board_WAP5813n,
-@@ -2043,6 +2086,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, },
--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -2635,6 +2635,29 @@ static struct board_info __initdata boar
+ },
+ };
+
++static struct board_info __initdata board_VG8050 = {
++ .name = "963169P-1861N5",
++ .expected_cpu_id = 0x63268,
++
++ .has_ehci0 = 1,
++ .has_ohci0 = 1,
++ .num_usbh_ports = 2,
++
++ .has_enetsw = 1,
++ .enetsw = {
++ .used_ports = {
++ [6] = {
++ .used = 1,
++ .phy_id = 0xff,
++ .bypass_link = 1,
++ .force_speed = 1000,
++ .force_duplex_full = 1,
++ .name = "RGMII",
++ },
++ },
++ },
++};
++
+ static struct board_info __initdata board_VR3032u = {
+ .name = "963168M-1841N1",
+ .expected_cpu_id = 0x63268,
+@@ -2868,6 +2891,7 @@ static const struct board_info __initcon
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ &board_963268bu_p300,
+ &board_963269bhr,
++ &board_VG8050,
+ &board_VR3032u,
+ &board_vw6339gu,
+ &board_BSKYB_63168,
+@@ -2983,6 +3007,7 @@ static struct of_device_id const bcm963x
+ #ifdef CONFIG_BCM63XX_CPU_63268
+ { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
+ { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
++ { .compatible = "comtrend,vg-8050", .data = &board_VG8050, },
+ { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, },
+ { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
+ { .compatible = "sky,sr102", .data = &board_BSKYB_63168, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1264,6 +1264,36 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_HW520 = {
-+ .name = "HW6358GW_B",
-+ .expected_cpu_id = 0x6358,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+
-+ .has_enet0 = 1,
-+ .enet0 = {
-+ .has_phy = 1,
-+ .use_internal_phy = 1,
-+ },
-+
-+ .has_enet1 = 1,
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM4318,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ },
-+};
-+
- static struct board_info __initdata board_HW553 = {
- .name = "HW553",
- .expected_cpu_id = 0x6358,
-@@ -1971,6 +2001,7 @@ static const struct board_info __initcon
- &board_nb4_ser_r0,
- &board_nb4_fxc_r1,
- &board_ct6373_1,
-+ &board_HW520,
- &board_HW553,
- &board_HW556_A,
- &board_HW556_B,
-@@ -2063,6 +2094,7 @@ static struct of_device_id const bcm963x
- { .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
- { .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
- { .compatible = "d-link,dva-g3810bn-tl", .data = &board_DVAG3810BN, },
-+ { .compatible = "huawei,echolife-hg520v", .data = &board_HW520, },
- { .compatible = "huawei,echolife-hg553", .data = &board_HW553, },
- { .compatible = "huawei,echolife-hg556a-a", .data = &board_HW556_A, },
- { .compatible = "huawei,echolife-hg556a-b", .data = &board_HW556_B, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -349,6 +349,49 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_A4001N = {
-+ .name = "96328dg2x2",
-+ .expected_cpu_id = 0x6328,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43225,
-+ .pci_bus = 1,
-+ .pci_dev = 0,
-+ },
-+};
-+
- static struct board_info __initdata board_A4001N1 = {
- .name = "963281T_TEF",
- .expected_cpu_id = 0x6328,
-@@ -1952,6 +1995,7 @@ static const struct board_info __initcon
- &board_AR5381u,
- &board_AR5387un,
- &board_963281TAN,
-+ &board_A4001N,
- &board_A4001N1,
- &board_dsl_274xb_f1,
- &board_FAST2704V2,
-@@ -2040,6 +2084,7 @@ static struct of_device_id const bcm963x
- { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
- #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, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -142,6 +142,74 @@ static struct board_info __initdata boar
- },
- },
- };
-+
-+static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
-+ { .offset = 96, .value = 0x2046 },
-+ { .offset = 97, .value = 0xfe9d },
-+ { .offset = 98, .value = 0x1854 },
-+ { .offset = 99, .value = 0xfa59 },
-+ { .offset = 112, .value = 0x2046 },
-+ { .offset = 113, .value = 0xfe79 },
-+ { .offset = 114, .value = 0x17f5 },
-+ { .offset = 115, .value = 0xfa47 },
-+ { .offset = 161, .value = 0x2222 },
-+ { .offset = 162, .value = 0x2222 },
-+ { .offset = 169, .value = 0x2222 },
-+ { .offset = 170, .value = 0x2222 },
-+ { .offset = 171, .value = 0x5555 },
-+ { .offset = 172, .value = 0x5555 },
-+ { .offset = 173, .value = 0x4444 },
-+ { .offset = 174, .value = 0x4444 },
-+ { .offset = 175, .value = 0x5555 },
-+ { .offset = 176, .value = 0x5555 },
-+};
-+
-+static struct board_info __initdata board_dsl_2751b_d1 = {
-+ .name = "AW5200B",
-+ .expected_cpu_id = 0x6318,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+
-+ .has_enetsw = 1,
-+
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43217,
-+ .pci_bus = 1,
-+ .pci_dev = 0,
-+ .board_fixups = dsl2751b_e1_fixups,
-+ .num_board_fixups = ARRAY_SIZE(dsl2751b_e1_fixups),
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6318 */
-
- /*
-@@ -1989,6 +2057,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_6318
- &board_96318ref,
- &board_96318ref_p300,
-+ &board_dsl_2751b_d1,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- &board_96328avng,
-@@ -2082,6 +2151,7 @@ static struct of_device_id const bcm963x
- #ifdef CONFIG_BCM63XX_CPU_6318
- { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
- { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
-+ { .compatible = "d-link,dsl-275xb-d1", .data = &board_dsl_2751b_d1, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- { .compatible = "adb,a4001n", .data = &board_A4001N, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1710,6 +1710,30 @@ static struct board_info __initdata boar
- .has_ehci0 = 1,
- };
-
-+static struct board_info __initdata board_DGND3700v1_3800B = {
-+ .name = "DGND3700v1_3800B",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [5] = {
-+ .used = 1,
-+ .phy_id = 0xff,
-+ .bypass_link = 1,
-+ .force_speed = 1000,
-+ .force_duplex_full = 1,
-+ .name = "RGMII",
-+ },
-+ },
-+ },
-+};
-+
- static struct sprom_fixup __initdata vr3025u_fixups[] = {
- { .offset = 97, .value = 0xfeb3 },
- { .offset = 98, .value = 0x1618 },
-@@ -2131,6 +2155,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_6368
- &board_96368mvwg,
- &board_96368mvngr,
-+ &board_DGND3700v1_3800B,
- &board_P870HW51A_V2,
- &board_VR3025u,
- &board_VR3025un,
-@@ -2233,6 +2258,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 = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
- { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1375,6 +1375,31 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_homehub2a = {
-+ .name = "HOMEHUB2A",
-+ .expected_cpu_id = 0x6358,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_enet1 = 1,
-+ .enet1 = {
-+ .has_phy = 1,
-+ .phy_id = 0,
-+ .force_speed_100 = 1,
-+ .force_duplex_full = 1,
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM4322,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ },
-+};
-+
- static struct board_info __initdata board_HW520 = {
- .name = "HW6358GW_B",
- .expected_cpu_id = 0x6358,
-@@ -2138,6 +2163,7 @@ static const struct board_info __initcon
- &board_nb4_ser_r0,
- &board_nb4_fxc_r1,
- &board_ct6373_1,
-+ &board_homehub2a,
- &board_HW520,
- &board_HW553,
- &board_HW556_A,
-@@ -2247,6 +2273,7 @@ static struct of_device_id const bcm963x
- { .compatible = "sfr,neufbox-4-foxconn-r1", .data = &board_nb4_fxc_r1, },
- { .compatible = "t-com,speedport-w-303v", .data = &board_spw303v, },
- { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
-+ { .compatible = "bt,home-hub-2-a", .data = &board_homehub2a, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6362
- { .compatible = "sagem,fast-2504n", .data = &board_fast2504n, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1759,6 +1759,52 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_HG655b = {
-+ .name = "HW65x",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_caldata = 1,
-+ .caldata = {
-+ {
-+ .vendor = PCI_VENDOR_ID_RALINK,
-+ .caldata_offset = 0x7c0000,
-+ .slot = 1,
-+ .eeprom = "rt2x00.eeprom",
-+ },
-+ },
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "port1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "port4",
-+ },
-+ },
-+ },
-+};
-+
- static struct sprom_fixup __initdata vr3025u_fixups[] = {
- { .offset = 97, .value = 0xfeb3 },
- { .offset = 98, .value = 0x1618 },
-@@ -2182,6 +2228,7 @@ static const struct board_info __initcon
- &board_96368mvwg,
- &board_96368mvngr,
- &board_DGND3700v1_3800B,
-+ &board_HG655b,
- &board_P870HW51A_V2,
- &board_VR3025u,
- &board_VR3025un,
-@@ -2285,6 +2332,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 = "huawei,echolife-hg655b", .data = &board_HG655b, },
- { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
- { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
- #endif
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -210,6 +210,45 @@ static struct board_info __initdata boar
- .num_board_fixups = ARRAY_SIZE(dsl2751b_e1_fixups),
- },
- };
-+
-+static struct board_info __initdata board_FAST2704N = {
-+ .name = "F@ST2704N",
-+ .expected_cpu_id = 0x6318,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+
-+ .has_enetsw = 1,
-+
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_6318 */
-
- /*
-@@ -2153,6 +2192,7 @@ static const struct board_info __initcon
- &board_96318ref,
- &board_96318ref_p300,
- &board_dsl_2751b_d1,
-+ &board_FAST2704N,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- &board_96328avng,
-@@ -2250,6 +2290,7 @@ static struct of_device_id const bcm963x
- { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
- { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
- { .compatible = "d-link,dsl-275xb-d1", .data = &board_dsl_2751b_d1, },
-+ { .compatible = "sagem,fast-2704n", .data = &board_FAST2704N, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- { .compatible = "adb,a4001n", .data = &board_A4001N, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1992,6 +1992,59 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct sprom_fixup __initdata vr3026e_fixups[] = {
-+ { .offset = 97, .value = 0xfeb3 },
-+ { .offset = 98, .value = 0x1618 },
-+ { .offset = 99, .value = 0xfab0 },
-+ { .offset = 113, .value = 0xfed1 },
-+ { .offset = 114, .value = 0x1609 },
-+ { .offset = 115, .value = 0xfad9 },
-+};
-+
-+static struct board_info __initdata board_VR3026e = {
-+ .name = "96368MT-1341N1",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "port1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "port4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43222,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ .board_fixups = vr3026e_fixups,
-+ .num_board_fixups = ARRAY_SIZE(vr3026e_fixups),
-+ },
-+};
-+
- static struct sprom_fixup __initdata wap5813n_fixups[] = {
- { .offset = 97, .value = 0xfeed },
- { .offset = 98, .value = 0x15d1 },
-@@ -2272,6 +2325,7 @@ static const struct board_info __initcon
- &board_P870HW51A_V2,
- &board_VR3025u,
- &board_VR3025un,
-+ &board_VR3026e,
- &board_WAP5813n,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2372,6 +2426,7 @@ static struct of_device_id const bcm963x
- { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
- { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
- { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
-+ { .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
- { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
- { .compatible = "huawei,echolife-hg655b", .data = &board_HG655b, },
- { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -623,6 +623,50 @@ static struct board_info __initdata boar
- },
- },
- };
-+
-+static struct board_info __initdata board_R5010UNV2 = {
-+ .name = "96328ang",
-+ .expected_cpu_id = 0x6328,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43217,
-+ .pci_bus = 1,
-+ .pci_dev = 0,
-+ },
-+};
-+
- #endif /* CONFIG_BCM63XX_CPU_6328 */
-
- /*
-@@ -2256,6 +2300,7 @@ static const struct board_info __initcon
- &board_A4001N1,
- &board_dsl_274xb_f1,
- &board_FAST2704V2,
-+ &board_R5010UNV2,
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6338
- &board_96338gw,
-@@ -2354,6 +2399,7 @@ static struct of_device_id const bcm963x
- { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
- { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
- { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
-+ { .compatible = "nucom,r5010un-v2", .data = &board_R5010UNV2, },
- { .compatible = "sagem,fast-2704-v2", .data = &board_FAST2704V2, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6338
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1888,6 +1888,52 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_HG622 = {
-+ .name = "96368MVWG_hg622",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_caldata = 1,
-+ .caldata = {
-+ {
-+ .vendor = PCI_VENDOR_ID_RALINK,
-+ .caldata_offset = 0xfa0000,
-+ .slot = 1,
-+ .eeprom = "rt2x00.eeprom",
-+ },
-+ },
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "port1",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port2",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port3",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "port4",
-+ },
-+ },
-+ },
-+};
-+
- static struct sprom_fixup __initdata vr3025u_fixups[] = {
- { .offset = 97, .value = 0xfeb3 },
- { .offset = 98, .value = 0x1618 },
-@@ -2366,6 +2412,7 @@ static const struct board_info __initcon
- &board_96368mvwg,
- &board_96368mvngr,
- &board_DGND3700v1_3800B,
-+ &board_HG622,
- &board_HG655b,
- &board_P870HW51A_V2,
- &board_VR3025u,
-@@ -2474,6 +2521,7 @@ static struct of_device_id const bcm963x
- { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
- { .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
- { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
-+ { .compatible = "huawei,echolife-hg622", .data = &board_HG622, },
- { .compatible = "huawei,echolife-hg655b", .data = &board_HG655b, },
- { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
- { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1842,6 +1842,42 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct sprom_fixup __initdata EVG2000_fixups[] = {
-+ { .offset = 219, .value = 0xec08 },
-+};
-+
-+static struct board_info __initdata board_EVG2000 = {
-+ .name = "96369PVG",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [5] = {
-+ .used = 1,
-+ .phy_id = 0xff,
-+ .bypass_link = 1,
-+ .force_speed = 1000,
-+ .force_duplex_full = 1,
-+ .name = "RGMII",
-+ },
-+ },
-+ },
-+ .use_fallback_sprom = 1,
-+ .fallback_sprom = {
-+ .type = SPROM_BCM4322,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ .board_fixups = EVG2000_fixups,
-+ .num_board_fixups = ARRAY_SIZE(EVG2000_fixups),
-+ },
-+};
-+
- static struct board_info __initdata board_HG655b = {
- .name = "HW65x",
- .expected_cpu_id = 0x6368,
-@@ -2412,6 +2448,7 @@ static const struct board_info __initcon
- &board_96368mvwg,
- &board_96368mvngr,
- &board_DGND3700v1_3800B,
-+ &board_EVG2000,
- &board_HG622,
- &board_HG655b,
- &board_P870HW51A_V2,
-@@ -2524,6 +2561,7 @@ static struct of_device_id const bcm963x
- { .compatible = "huawei,echolife-hg622", .data = &board_HG622, },
- { .compatible = "huawei,echolife-hg655b", .data = &board_HG655b, },
- { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
-+ { .compatible = "netgear,evg2000", .data = &board_EVG2000, },
- { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1732,6 +1732,51 @@ static struct board_info __initdata boar
- * known 6368 boards
- */
- #ifdef CONFIG_BCM63XX_CPU_6368
-+static struct board_info __initdata board_AV4202N = {
-+ .name = "96368_Swiss_S1",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "port1",
-+ },
-+
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "port2",
-+ },
-+
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "port3",
-+ },
-+
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "port4",
-+ },
-+ },
-+ },
-+ .use_fallback_sprom = 1,
-+ .fallback_sprom = {
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ },
-+
-+};
-+
- static struct board_info __initdata board_96368mvwg = {
- .name = "96368MVWG",
- .expected_cpu_id = 0x6368,
-@@ -2445,6 +2490,7 @@ static const struct board_info __initcon
- #endif
-
- #ifdef CONFIG_BCM63XX_CPU_6368
-+ &board_AV4202N,
- &board_96368mvwg,
- &board_96368mvngr,
- &board_DGND3700v1_3800B,
-@@ -2552,6 +2598,7 @@ static struct of_device_id const bcm963x
- { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6368
-+ { .compatible = "adb,av4202n", .data = &board_AV4202N, },
- { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
- { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
- { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2216,6 +2216,106 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct sprom_fixup __initdata vh4032n_fixups[] = {
-+ { .offset = 2, .value = 0x04d2 },
-+ { .offset = 4, .value = 0x4350 },
-+ { .offset = 65, .value = 0x1300 },
-+ { .offset = 68, .value = 0x0402 },
-+ { .offset = 70, .value = 0x0090 },
-+ { .offset = 71, .value = 0x4c19 },
-+ { .offset = 72, .value = 0x2345 },
-+ { .offset = 87, .value = 0x0315 },
-+ { .offset = 88, .value = 0x0315 },
-+ { .offset = 96, .value = 0x2048 },
-+ { .offset = 97, .value = 0xfed7 },
-+ { .offset = 98, .value = 0x15a6 },
-+ { .offset = 99, .value = 0xfaee },
-+ { .offset = 100, .value = 0x3e3a },
-+ { .offset = 101, .value = 0x3a36 },
-+ { .offset = 102, .value = 0xff7f },
-+ { .offset = 103, .value = 0x11b9 },
-+ { .offset = 104, .value = 0xfc53 },
-+ { .offset = 105, .value = 0xffe6 },
-+ { .offset = 106, .value = 0xfdd2 },
-+ { .offset = 107, .value = 0xfe49 },
-+ { .offset = 108, .value = 0xff6a },
-+ { .offset = 109, .value = 0x136e },
-+ { .offset = 110, .value = 0xfbed },
-+ { .offset = 111, .value = 0x0000 },
-+ { .offset = 112, .value = 0x2048 },
-+ { .offset = 113, .value = 0xfee2 },
-+ { .offset = 114, .value = 0x15e5 },
-+ { .offset = 115, .value = 0xfaed },
-+ { .offset = 116, .value = 0x3e3a },
-+ { .offset = 117, .value = 0x3a36 },
-+ { .offset = 118, .value = 0xffc8 },
-+ { .offset = 119, .value = 0x12b8 },
-+ { .offset = 120, .value = 0xfca1 },
-+ { .offset = 121, .value = 0xff9b },
-+ { .offset = 122, .value = 0x122a },
-+ { .offset = 123, .value = 0xfcc8 },
-+ { .offset = 124, .value = 0xff95 },
-+ { .offset = 125, .value = 0x146b },
-+ { .offset = 126, .value = 0xfbba },
-+ { .offset = 127, .value = 0x0000 },
-+ { .offset = 161, .value = 0x0000 },
-+ { .offset = 162, .value = 0x0000 },
-+ { .offset = 169, .value = 0x0000 },
-+ { .offset = 170, .value = 0x0000 },
-+ { .offset = 171, .value = 0x0000 },
-+ { .offset = 172, .value = 0x0000 },
-+ { .offset = 173, .value = 0x0000 },
-+ { .offset = 174, .value = 0x0000 },
-+ { .offset = 175, .value = 0x0000 },
-+ { .offset = 176, .value = 0x0000 },
-+ { .offset = 219, .value = 0x1108 },
-+};
-+
-+static struct board_info __initdata board_VH4032N = {
-+ .name = "VH4032N",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "LAN4",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "LAN3",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "LAN2",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "LAN1",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43222,
-+ .pci_bus = 0,
-+ .pci_dev = 1,
-+ .board_fixups = vh4032n_fixups,
-+ .num_board_fixups = ARRAY_SIZE(vh4032n_fixups),
-+ },
-+};
-+
- static struct sprom_fixup __initdata wap5813n_fixups[] = {
- { .offset = 97, .value = 0xfeed },
- { .offset = 98, .value = 0x15d1 },
-@@ -2498,6 +2598,7 @@ static const struct board_info __initcon
- &board_HG622,
- &board_HG655b,
- &board_P870HW51A_V2,
-+ &board_VH4032N,
- &board_VR3025u,
- &board_VR3025un,
- &board_VR3026e,
-@@ -2609,6 +2710,7 @@ static struct of_device_id const bcm963x
- { .compatible = "huawei,echolife-hg655b", .data = &board_HG655b, },
- { .compatible = "netgear,dgnd3700-v1", .data = &board_DGND3700v1_3800B, },
- { .compatible = "netgear,evg2000", .data = &board_EVG2000, },
-+ { .compatible = "observa,vh4032n", .data = &board_VH4032N, },
- { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_63268
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2066,6 +2066,29 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_R1000H = {
-+ .name = "R1000H",
-+ .expected_cpu_id = 0x6368,
-+
-+ .has_pci = 1,
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [5] = {
-+ .used = 1,
-+ .phy_id = 0xff,
-+ .bypass_link = 1,
-+ .force_speed = 1000,
-+ .force_duplex_full = 1,
-+ .name = "RGMII",
-+ },
-+ },
-+ },
-+};
-+
- static struct board_info __initdata board_VR3025u = {
- .name = "96368M-1541N",
- .expected_cpu_id = 0x6368,
-@@ -2598,6 +2621,7 @@ static const struct board_info __initcon
- &board_HG622,
- &board_HG655b,
- &board_P870HW51A_V2,
-+ &board_R1000H,
- &board_VH4032N,
- &board_VR3025u,
- &board_VR3025un,
-@@ -2699,6 +2723,7 @@ static struct of_device_id const bcm963x
- { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6368
-+ { .compatible = "actiontec,r1000h", .data = &board_R1000H, },
- { .compatible = "adb,av4202n", .data = &board_AV4202N, },
- { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
- { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -143,6 +143,67 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct sprom_fixup __initdata ar5315u_fixups[] = {
-+ { .offset = 6, .value = 0x1c00 },
-+ { .offset = 65, .value = 0x1255 },
-+ { .offset = 97, .value = 0xfe55 },
-+ { .offset = 98, .value = 0x171d },
-+ { .offset = 99, .value = 0xfa42 },
-+ { .offset = 113, .value = 0xfeb7 },
-+ { .offset = 114, .value = 0x18cd },
-+ { .offset = 115, .value = 0xfa4f },
-+ { .offset = 162, .value = 0x6444 },
-+ { .offset = 170, .value = 0x6444 },
-+ { .offset = 172, .value = 0x6444 },
-+};
-+
-+static struct board_info __initdata board_AR5315u = {
-+ .name = "96318A-1441N1",
-+ .expected_cpu_id = 0x6318,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+
-+ .has_enetsw = 1,
-+
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "LAN4",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "LAN3",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "LAN2",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "LAN1",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43217,
-+ .pci_bus = 1,
-+ .pci_dev = 0,
-+ .board_fixups = ar5315u_fixups,
-+ .num_board_fixups = ARRAY_SIZE(ar5315u_fixups),
-+ },
-+};
-+
- static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
- { .offset = 96, .value = 0x2046 },
- { .offset = 97, .value = 0xfe9d },
-@@ -2538,6 +2599,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_6318
- &board_96318ref,
- &board_96318ref_p300,
-+ &board_AR5315u,
- &board_dsl_2751b_d1,
- &board_FAST2704N,
- #endif
-@@ -2643,6 +2705,7 @@ static struct of_device_id const bcm963x
- #ifdef CONFIG_BCM63XX_CPU_6318
- { .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
- { .compatible = "brcm,bcm96318ref-p300", .data = &board_96318ref_p300, },
-+ { .compatible = "comtrend,ar-5315u", .data = &board_AR5315u, },
- { .compatible = "d-link,dsl-275xb-d1", .data = &board_dsl_2751b_d1, },
- { .compatible = "sagem,fast-2704n", .data = &board_FAST2704N, },
- #endif
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -357,6 +357,73 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct sprom_fixup __initdata ad1018_fixups[] = {
-+ { .offset = 6, .value = 0x1c00 },
-+ { .offset = 65, .value = 0x1256 },
-+ { .offset = 96, .value = 0x2046 },
-+ { .offset = 97, .value = 0xfe69 },
-+ { .offset = 98, .value = 0x1726 },
-+ { .offset = 99, .value = 0xfa5c },
-+ { .offset = 112, .value = 0x2046 },
-+ { .offset = 113, .value = 0xfea8 },
-+ { .offset = 114, .value = 0x1978 },
-+ { .offset = 115, .value = 0xfa26 },
-+ { .offset = 161, .value = 0x2222 },
-+ { .offset = 169, .value = 0x2222 },
-+ { .offset = 171, .value = 0x2222 },
-+ { .offset = 173, .value = 0x2222 },
-+ { .offset = 174, .value = 0x4444 },
-+ { .offset = 175, .value = 0x2222 },
-+ { .offset = 176, .value = 0x4444 },
-+};
-+
-+static struct board_info __initdata board_AD1018 = {
-+ .name = "96328avngr",
-+ .expected_cpu_id = 0x6328,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 1,
-+
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 1,
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "FIBRE",
-+ },
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "LAN3",
-+ },
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "LAN2",
-+ },
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "LAN1",
-+ },
-+ },
-+ },
-+
-+ .fallback_sprom = {
-+ .type = SPROM_BCM43217,
-+ .pci_bus = 1,
-+ .pci_dev = 0,
-+ .board_fixups = ad1018_fixups,
-+ .num_board_fixups = ARRAY_SIZE(ad1018_fixups),
-+ },
-+};
-+
- static struct sprom_fixup __initdata ar5381u_fixups[] = {
- { .offset = 97, .value = 0xfee5 },
- { .offset = 98, .value = 0x157c },
-@@ -2605,6 +2672,7 @@ static const struct board_info __initcon
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6328
- &board_96328avng,
-+ &board_AD1018,
- &board_AR5381u,
- &board_AR5387un,
- &board_963281TAN,
-@@ -2719,6 +2787,7 @@ static struct of_device_id const bcm963x
- { .compatible = "d-link,dsl-274xb-f1", .data = &board_dsl_274xb_f1, },
- { .compatible = "nucom,r5010un-v2", .data = &board_R5010UNV2, },
- { .compatible = "sagem,fast-2704-v2", .data = &board_FAST2704V2, },
-+ { .compatible = "sercomm,ad1018-nor", .data = &board_AD1018, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6338
- { .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2654,6 +2654,49 @@ static struct board_info __initdata boar
- },
- },
- };
-+
-+static struct board_info __initdata board_BSKYB_63168 = {
-+ .name = "BSKYB_63168",
-+ .expected_cpu_id = 0x63268,
-+
-+ .has_pci = 1,
-+ .use_fallback_sprom = 0,
-+
-+ .has_ehci0 = 1,
-+ .has_ohci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_enetsw = 1,
-+
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "Port 1",
-+ },
-+
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "Port 2",
-+ },
-+
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "Port 3",
-+ },
-+
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "Port 4",
-+ },
-+
-+ },
-+ },
-+};
- #endif /* CONFIG_BCM63XX_CPU_63268 */
-
- /*
-@@ -2762,6 +2805,7 @@ static const struct board_info __initcon
- &board_963268bu_p300,
- &board_963269bhr,
- &board_vw6339gu,
-+ &board_BSKYB_63168,
- #endif
- };
-
-@@ -2874,6 +2918,7 @@ static struct of_device_id const bcm963x
- { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
- { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
- { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
-+ { .compatible = "sky,sr102", .data = &board_BSKYB_63168, },
- #endif
- #endif /* CONFIG_OF */
- { },
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2610,6 +2610,44 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_VR3032u = {
-+ .name = "963168M-1841N1",
-+ .expected_cpu_id = 0x63268,
-+
-+ .has_ehci0 = 1,
-+ .has_ohci0 = 1,
-+ .num_usbh_ports = 1,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [0] = {
-+ .used = 1,
-+ .phy_id = 1,
-+ .name = "LAN2",
-+ },
-+
-+ [1] = {
-+ .used = 1,
-+ .phy_id = 2,
-+ .name = "LAN3",
-+ },
-+
-+ [2] = {
-+ .used = 1,
-+ .phy_id = 3,
-+ .name = "LAN4",
-+ },
-+
-+ [3] = {
-+ .used = 1,
-+ .phy_id = 4,
-+ .name = "LAN1",
-+ },
-+ },
-+ },
-+};
-+
- static struct board_info __initdata board_vw6339gu = {
- .name = "VW6339GU",
- .expected_cpu_id = 0x63268,
-@@ -2804,6 +2842,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_63268
- &board_963268bu_p300,
- &board_963269bhr,
-+ &board_VR3032u,
- &board_vw6339gu,
- &board_BSKYB_63168,
- #endif
-@@ -2917,6 +2956,7 @@ static struct of_device_id const bcm963x
- #ifdef CONFIG_BCM63XX_CPU_63268
- { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
- { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
-+ { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, },
- { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
- { .compatible = "sky,sr102", .data = &board_BSKYB_63168, },
- #endif
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1820,6 +1820,31 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_dgnd3700v2 = {
-+ .name = "96362ADVN2xh",
-+ .expected_cpu_id = 0x6362,
-+
-+ .has_pci = 1,
-+
-+ .has_ohci0 = 1,
-+ .has_ehci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [4] = {
-+ .used = 1,
-+ .phy_id = 0xff,
-+ .bypass_link = 1,
-+ .force_speed = 1000,
-+ .force_duplex_full = 1,
-+ .name = "RGMII",
-+ },
-+ },
-+ },
-+};
-+
- static struct board_info __initdata board_fast2504n = {
- .name = "F@ST2504n",
- .expected_cpu_id = 0x6362,
-@@ -2820,6 +2845,7 @@ static const struct board_info __initcon
-
- #ifdef CONFIG_BCM63XX_CPU_6362
- &board_nb6,
-+ &board_dgnd3700v2,
- &board_fast2504n,
- #endif
-
-@@ -2934,6 +2960,7 @@ static struct of_device_id const bcm963x
- { .compatible = "bt,home-hub-2-a", .data = &board_homehub2a, },
- #endif
- #ifdef CONFIG_BCM63XX_CPU_6362
-+ { .compatible = "netgear,dgnd3700-v2", .data = &board_dgnd3700v2, },
- { .compatible = "sagem,fast-2504n", .data = &board_fast2504n, },
- { .compatible = "sfr,neufbox-6-sercomm-r0", .data = &board_nb6, },
- #endif
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2635,6 +2635,29 @@ static struct board_info __initdata boar
- },
- };
-
-+static struct board_info __initdata board_VG8050 = {
-+ .name = "963169P-1861N5",
-+ .expected_cpu_id = 0x63268,
-+
-+ .has_ehci0 = 1,
-+ .has_ohci0 = 1,
-+ .num_usbh_ports = 2,
-+
-+ .has_enetsw = 1,
-+ .enetsw = {
-+ .used_ports = {
-+ [6] = {
-+ .used = 1,
-+ .phy_id = 0xff,
-+ .bypass_link = 1,
-+ .force_speed = 1000,
-+ .force_duplex_full = 1,
-+ .name = "RGMII",
-+ },
-+ },
-+ },
-+};
-+
- static struct board_info __initdata board_VR3032u = {
- .name = "963168M-1841N1",
- .expected_cpu_id = 0x63268,
-@@ -2868,6 +2891,7 @@ static const struct board_info __initcon
- #ifdef CONFIG_BCM63XX_CPU_63268
- &board_963268bu_p300,
- &board_963269bhr,
-+ &board_VG8050,
- &board_VR3032u,
- &board_vw6339gu,
- &board_BSKYB_63168,
-@@ -2983,6 +3007,7 @@ static struct of_device_id const bcm963x
- #ifdef CONFIG_BCM63XX_CPU_63268
- { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, },
- { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
-+ { .compatible = "comtrend,vg-8050", .data = &board_VG8050, },
- { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, },
- { .compatible = "inteno,vg50", .data = &board_vw6339gu, },
- { .compatible = "sky,sr102", .data = &board_BSKYB_63168, },