--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -653,6 +653,68 @@ static struct board_info __initdata boar
+@@ -653,6 +653,75 @@ static struct board_info __initdata boar
},
},
};
+ .has_uart0 = 1,
+ .has_enet0 = 1,
+ .has_pci = 1,
++ .use_fallback_sprom = 1,
+
+ .enet0 = {
+ .has_phy = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM4318,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ },
+};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1252,6 +1314,7 @@ static const struct board_info __initcon
+@@ -1252,6 +1321,7 @@ static const struct board_info __initcon
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.of_board_id = "sagem,f@st2404",
-@@ -1307,6 +1415,8 @@ static const struct board_info __initcon
+@@ -1314,6 +1422,8 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -823,6 +823,78 @@ static struct board_info __initdata boar
- },
+@@ -830,6 +830,78 @@ static struct board_info __initdata boar
+ .pci_dev = 1,
},
};
+
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1425,6 +1497,7 @@ static const struct board_info __initcon
+@@ -1432,6 +1504,7 @@ static const struct board_info __initcon
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1464,6 +1464,83 @@ static struct board_info __initdata boar
+@@ -1471,6 +1471,83 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1509,6 +1586,7 @@ static const struct board_info __initcon
+@@ -1516,6 +1593,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -1557,6 +1596,7 @@ static const struct board_info __initcon
+@@ -1564,6 +1603,7 @@ static const struct board_info __initcon
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1580,6 +1580,72 @@ static struct board_info __initdata boar
+@@ -1587,6 +1587,72 @@ static struct board_info __initdata boar
.pci_dev = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1627,6 +1693,7 @@ static const struct board_info __initcon
+@@ -1634,6 +1700,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_HW553,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -934,6 +934,65 @@ static struct board_info __initdata boar
+@@ -941,6 +941,65 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1681,6 +1740,7 @@ static const struct board_info __initcon
+@@ -1688,6 +1747,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1719,6 +1779,22 @@ void __init board_bcm963xx_init(void)
+@@ -1726,6 +1786,22 @@ void __init board_bcm963xx_init(void)
val &= MPI_CSBASE_BASE_MASK;
}
boot_addr = (u8 *)KSEG1ADDR(val);
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.of_board_id = "brcm,bcm96348gw",
-@@ -1741,6 +1799,7 @@ static const struct board_info __initcon
+@@ -1748,6 +1806,7 @@ static const struct board_info __initcon
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.of_board_id = "brcm,bcm96348gw",
-@@ -1800,6 +1853,7 @@ static const struct board_info __initcon
+@@ -1807,6 +1860,7 @@ static const struct board_info __initcon
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1336,6 +1336,8 @@ static struct board_info __initdata boar
+@@ -1343,6 +1343,8 @@ static struct board_info __initdata boar
.of_board_id = "pirelli,a226g",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -1352,6 +1354,7 @@ static struct board_info __initdata boar
+@@ -1359,6 +1361,7 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.of_board_id = "brcm,bcm96348gw",
-@@ -1857,6 +1927,7 @@ static const struct board_info __initcon
+@@ -1864,6 +1934,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
static struct board_info __initdata board_ct536_ct5621 = {
.name = "CT536_CT5621",
-@@ -1929,6 +1963,7 @@ static const struct board_info __initcon
+@@ -1936,6 +1970,7 @@ static const struct board_info __initcon
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1927,6 +1927,85 @@ static struct board_info __initdata boar
+@@ -1934,6 +1934,85 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1978,6 +2057,10 @@ static const struct board_info __initcon
+@@ -1985,6 +2064,10 @@ static const struct board_info __initcon
&board_HW553,
&board_spw303v,
#endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2003,6 +2003,72 @@ static struct board_info __initdata boar
+@@ -2010,6 +2010,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -2060,6 +2126,7 @@ static const struct board_info __initcon
+@@ -2067,6 +2133,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2112,6 +2182,7 @@ static const struct board_info __initcon
+@@ -2119,6 +2189,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2183,6 +2288,7 @@ static const struct board_info __initcon
+@@ -2190,6 +2295,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
static struct board_info __initdata board_96348_D4PW = {
.name = "D-4P-W",
.expected_cpu_id = 0x6348,
-@@ -2318,6 +2371,7 @@ static const struct board_info __initcon
+@@ -2325,6 +2378,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
/*
* known 3368 boards
*/
-@@ -2042,6 +2048,124 @@ static struct board_info __initdata boar
+@@ -2049,6 +2055,124 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -2383,6 +2507,7 @@ static const struct board_info __initcon
+@@ -2390,6 +2514,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2308,6 +2308,74 @@ static struct board_info __initdata boar
+@@ -2315,6 +2315,74 @@ static struct board_info __initdata boar
},
}
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -2510,6 +2578,7 @@ static const struct board_info __initcon
+@@ -2517,6 +2585,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
#define CT6373_PID_OFFSET 0xff80
#define CT6373_74X164_GPIO_BASE 64
-@@ -2378,6 +2381,105 @@ static struct board_info __initdata boar
+@@ -2385,6 +2388,105 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* known 6368 boards
*/
-@@ -2581,6 +2683,10 @@ static const struct board_info __initcon
+@@ -2588,6 +2690,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.of_board_id = "dynalink,rta1025w",
-@@ -2654,6 +2705,7 @@ static const struct board_info __initcon
+@@ -2661,6 +2712,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -2686,6 +2813,7 @@ static const struct board_info __initcon
+@@ -2693,6 +2820,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
-@@ -2812,6 +2921,7 @@ static const struct board_info __initcon
+@@ -2819,6 +2928,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
static struct sprom_fixup __initdata ar5387un_fixups[] = {
{ .offset = 2, .value = 0x05bb },
{ .offset = 65, .value = 0x1204 },
-@@ -2921,6 +3006,7 @@ static const struct board_info __initcon
+@@ -2928,6 +3013,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3020,6 +3069,7 @@ static const struct board_info __initcon
+@@ -3027,6 +3076,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
#include <linux/platform_device.h>
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
-@@ -2667,6 +2668,405 @@ static struct board_info __initdata boar
+@@ -2674,6 +2675,405 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3105,6 +3505,9 @@ static const struct board_info __initcon
+@@ -3112,6 +3512,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3470,6 +3524,7 @@ static const struct board_info __initcon
+@@ -3477,6 +3531,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -3514,6 +3630,7 @@ static const struct board_info __initcon
+@@ -3521,6 +3637,7 @@ static const struct board_info __initcon
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3469,6 +3469,96 @@ static struct board_info __initdata boar
+@@ -3476,6 +3476,96 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
-@@ -3686,6 +3776,7 @@ static const struct board_info __initcon
+@@ -3693,6 +3783,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6362
&board_nb6,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2295,6 +2295,99 @@ static struct board_info __initdata boar
+@@ -2302,6 +2302,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2117,6 +2135,8 @@ static struct board_info __initdata boar
+@@ -2124,6 +2142,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2171,6 +2191,8 @@ static struct board_info __initdata boar
+@@ -2178,6 +2198,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2313,6 +2335,8 @@ static struct board_info __initdata boar
+@@ -2320,6 +2342,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2432,6 +2456,8 @@ static struct board_info __initdata boar
+@@ -2439,6 +2463,8 @@ static struct board_info __initdata boar
},
.enet1 = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2464,6 +2464,94 @@ static struct board_info __initdata boar
+@@ -2471,6 +2471,94 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -3944,6 +4031,9 @@ static const struct board_info __initcon
+@@ -3951,6 +4038,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -4033,6 +4121,7 @@ static const struct board_info __initcon
+@@ -4040,6 +4128,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4113,6 +4113,75 @@ static struct board_info __initdata boar
+@@ -4120,6 +4120,75 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4193,6 +4262,9 @@ static const struct board_info __initcon
+@@ -4200,6 +4269,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
-@@ -4233,6 +4279,7 @@ static const struct board_info __initcon
+@@ -4240,6 +4286,7 @@ static const struct board_info __initcon
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4225,6 +4225,108 @@ static struct board_info __initdata boar
+@@ -4232,6 +4232,108 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -4311,6 +4413,7 @@ static const struct board_info __initcon
+@@ -4318,6 +4420,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4162,6 +4162,131 @@ static struct board_info __initdata boar
+@@ -4169,6 +4169,131 @@ static struct board_info __initdata boar
* known 63268/63269 boards
*/
#ifdef CONFIG_BCM63XX_CPU_63268
static struct board_info __initdata board_963269bhr = {
.name = "963269BHR",
.expected_cpu_id = 0x63268,
-@@ -4412,6 +4537,7 @@ static const struct board_info __initcon
+@@ -4419,6 +4544,7 @@ static const struct board_info __initcon
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
#include <linux/platform_device.h>
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
-@@ -4156,6 +4157,117 @@ static struct board_info __initdata boar
+@@ -4163,6 +4164,117 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -4535,6 +4647,7 @@ static const struct board_info __initcon
+@@ -4542,6 +4654,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4158,6 +4158,116 @@ static struct board_info __initdata boar
+@@ -4165,6 +4165,116 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4647,6 +4757,7 @@ static const struct board_info __initcon
+@@ -4654,6 +4764,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4268,6 +4268,116 @@ static struct board_info __initdata boar
+@@ -4275,6 +4275,116 @@ static struct board_info __initdata boar
},
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4758,6 +4868,7 @@ static const struct board_info __initcon
+@@ -4765,6 +4875,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -4167,6 +4167,96 @@ static struct sprom_fixup __initdata vr3
+@@ -4174,6 +4174,96 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -4867,6 +4957,7 @@ static const struct board_info __initcon
+@@ -4874,6 +4964,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3214,6 +3214,56 @@ static struct board_info __initdata boar
+@@ -3221,6 +3221,56 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(ct6373_spi_devices),
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -4941,6 +4991,7 @@ static const struct board_info __initcon
+@@ -4948,6 +4998,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
-@@ -4942,6 +5031,7 @@ static const struct board_info __initcon
+@@ -4949,6 +5038,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -5025,6 +5160,7 @@ static const struct board_info __initcon
+@@ -5032,6 +5167,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,