--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -238,6 +238,126 @@ static struct board_info __initdata boar
+@@ -238,6 +238,133 @@ static struct board_info __initdata boar
},
};
+
+ .has_uart0 = 1,
+ .has_pci = 1,
++ .use_fallback_sprom = 1,
+ .has_ohci0 = 1,
+ .has_ehci0 = 1,
+ .num_usbh_ports = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
++
++ .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,
-@@ -3003,6 +3123,7 @@ static const struct board_info __initcon
+@@ -3003,6 +3130,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,
-@@ -3122,6 +3195,7 @@ static const struct board_info __initcon
+@@ -3129,6 +3202,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
static struct board_info __initdata board_AR5387un = {
.name = "96328A-1441N1",
.expected_cpu_id = 0x6328,
-@@ -3195,6 +3262,7 @@ static const struct board_info __initcon
+@@ -3202,6 +3269,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -924,6 +924,55 @@ static struct board_info __initdata boar
+@@ -931,6 +931,55 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
#endif
/*
-@@ -3276,6 +3325,7 @@ static const struct board_info __initcon
+@@ -3283,6 +3332,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>
-@@ -1828,6 +1829,492 @@ static struct board_info __initdata boar
+@@ -1835,6 +1836,492 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3364,6 +3851,10 @@ static const struct board_info __initcon
+@@ -3371,6 +3858,10 @@ static const struct board_info __initcon
&board_nb4_fxc_r2,
&board_ct6373_1,
&board_HW553,
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -3383,13 +3874,37 @@ static void __init boardid_fixup(u8 *boo
+@@ -3390,13 +3881,37 @@ static void __init boardid_fixup(u8 *boo
struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
char *board_name = (char *)bcm63xx_nvram_get_name();
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -974,6 +974,60 @@ static struct board_info __initdata boar
+@@ -981,6 +981,60 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -3813,6 +3867,7 @@ static const struct board_info __initcon
+@@ -3820,6 +3874,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1636,6 +1636,122 @@ static struct board_info __initdata boar
+@@ -1643,6 +1643,122 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -3857,6 +3973,7 @@ static const struct board_info __initcon
+@@ -3864,6 +3980,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
-@@ -3812,6 +3812,96 @@ static struct board_info __initdata boar
+@@ -3819,6 +3819,96 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
#endif
/*
-@@ -4033,6 +4123,7 @@ static const struct board_info __initcon
+@@ -4040,6 +4130,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
-@@ -2839,6 +2839,99 @@ static struct board_info __initdata boar
+@@ -2846,6 +2846,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1814,6 +1814,19 @@ static struct board_info __initdata boar
+@@ -1821,6 +1821,19 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1138,6 +1138,17 @@ static struct board_info __initdata boar
+@@ -1145,6 +1145,17 @@ static struct board_info __initdata boar
.active_low = 1,
},
},
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -616,6 +616,8 @@ static struct board_info __initdata boar
+@@ -623,6 +623,8 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -659,6 +661,8 @@ static struct board_info __initdata boar
+@@ -666,6 +668,8 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1094,6 +1098,8 @@ static struct board_info __initdata boar
+@@ -1101,6 +1105,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1167,6 +1173,8 @@ static struct board_info __initdata boar
+@@ -1174,6 +1180,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1411,6 +1419,8 @@ static struct board_info __initdata boar
+@@ -1418,6 +1426,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1587,6 +1597,8 @@ static struct board_info __initdata boar
+@@ -1594,6 +1604,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1778,6 +1790,8 @@ static struct board_info __initdata boar
+@@ -1785,6 +1797,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1800,6 +1814,8 @@ static struct board_info __initdata boar
+@@ -1807,6 +1821,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1820,6 +1836,8 @@ static struct board_info __initdata boar
+@@ -1827,6 +1843,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2663,6 +2681,8 @@ static struct board_info __initdata boar
+@@ -2670,6 +2688,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2716,6 +2736,8 @@ static struct board_info __initdata boar
+@@ -2723,6 +2743,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2857,6 +2879,8 @@ static struct board_info __initdata boar
+@@ -2864,6 +2886,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2975,6 +2999,8 @@ static struct board_info __initdata boar
+@@ -2982,6 +3006,8 @@ static struct board_info __initdata boar
},
.enet1 = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3007,6 +3007,94 @@ static struct board_info __initdata boar
+@@ -3014,6 +3014,94 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -4287,6 +4374,9 @@ static const struct board_info __initcon
+@@ -4294,6 +4381,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
#endif
/*
-@@ -4376,6 +4464,7 @@ static const struct board_info __initcon
+@@ -4383,6 +4471,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
-@@ -4456,6 +4456,75 @@ static struct board_info __initdata boar
+@@ -4463,6 +4463,75 @@ static struct board_info __initdata boar
#endif
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4540,6 +4609,9 @@ static const struct board_info __initcon
+@@ -4547,6 +4616,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1092,6 +1092,51 @@ static struct board_info __initdata boar
+@@ -1099,6 +1099,51 @@ static struct board_info __initdata boar
},
};
#endif
/*
-@@ -4576,6 +4621,7 @@ static const struct board_info __initcon
+@@ -4583,6 +4628,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
-@@ -4567,6 +4567,108 @@ static struct board_info __initdata boar
+@@ -4574,6 +4574,108 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -4657,6 +4759,7 @@ static const struct board_info __initcon
+@@ -4664,6 +4766,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
-@@ -4504,6 +4504,131 @@ static struct board_info __initdata boar
+@@ -4511,6 +4511,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,
-@@ -4758,6 +4883,7 @@ static const struct board_info __initcon
+@@ -4765,6 +4890,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>
-@@ -4498,6 +4499,99 @@ static struct board_info __initdata boar
+@@ -4505,6 +4506,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif
/*
-@@ -4881,6 +4975,7 @@ static const struct board_info __initcon
+@@ -4888,6 +4982,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
-@@ -4500,6 +4500,98 @@ static struct board_info __initdata boar
+@@ -4507,6 +4507,98 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4975,6 +5067,7 @@ static const struct board_info __initcon
+@@ -4982,6 +5074,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
-@@ -4592,6 +4592,98 @@ static struct board_info __initdata boar
+@@ -4599,6 +4599,98 @@ static struct board_info __initdata boar
},
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -5068,6 +5160,7 @@ static const struct board_info __initcon
+@@ -5075,6 +5167,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
-@@ -4500,6 +4500,89 @@ static struct board_info __initdata boar
+@@ -4507,6 +4507,89 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -5159,6 +5242,7 @@ static const struct board_info __initcon
+@@ -5166,6 +5249,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
-@@ -4090,6 +4090,49 @@ static struct board_info __initdata boar
+@@ -4097,6 +4097,49 @@ 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,
-@@ -5225,6 +5268,7 @@ static const struct board_info __initcon
+@@ -5232,6 +5275,7 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
&board_ct6373_1,
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
-@@ -5216,6 +5298,7 @@ static const struct board_info __initcon
+@@ -5223,6 +5305,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
#endif
/*
-@@ -5292,6 +5427,7 @@ static const struct board_info __initcon
+@@ -5299,6 +5434,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,