--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -646,6 +646,69 @@ static struct board_info __initdata boar
+@@ -646,6 +646,76 @@ static struct board_info __initdata boar
},
};
+ .has_uart0 = 1,
+ .has_enet1 = 1,
+ .has_pci = 1,
++ .use_fallback_sprom = 1,
+
+ .enet1 = {
+ .has_phy = 1,
+ .debounce_interval = BCM963XX_KEYS_DEBOUNCE_INTERVAL,
+ },
+ },
++
++ .fallback_sprom = {
++ .type = SPROM_BCM4318,
++ .pci_bus = 0,
++ .pci_dev = 1,
++ },
+};
+
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -2174,6 +2237,7 @@ static const struct board_info __initcon
+@@ -2174,6 +2244,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -913,6 +913,7 @@ static struct board_info __initdata boar
+@@ -920,6 +920,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
#endif
/*
-@@ -2239,6 +2275,7 @@ static const struct board_info __initcon
+@@ -2246,6 +2282,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
-@@ -2239,6 +2239,85 @@ static struct board_info __initdata boar
+@@ -2246,6 +2246,85 @@ static struct board_info __initdata boar
#endif
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -2293,6 +2372,10 @@ static const struct board_info __initcon
+@@ -2300,6 +2379,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
-@@ -2315,6 +2315,72 @@ static struct board_info __initdata boar
+@@ -2322,6 +2322,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif
/*
-@@ -2375,6 +2441,7 @@ static const struct board_info __initcon
+@@ -2382,6 +2448,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
#endif
/*
-@@ -2424,6 +2494,7 @@ static const struct board_info __initcon
+@@ -2431,6 +2501,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
/*
-@@ -2495,6 +2600,7 @@ static const struct board_info __initcon
+@@ -2502,6 +2607,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
#endif
/*
-@@ -2630,6 +2683,7 @@ static const struct board_info __initcon
+@@ -2637,6 +2690,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
/*
* known 3368 boards
*/
-@@ -2420,6 +2426,117 @@ static struct board_info __initdata boar
+@@ -2427,6 +2433,117 @@ 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,
-@@ -2698,6 +2815,7 @@ static const struct board_info __initcon
+@@ -2705,6 +2822,7 @@ static const struct board_info __initcon
&board_nb4_ser_r2,
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1523,6 +1523,73 @@ static struct board_info __initdata boar
+@@ -1530,6 +1530,73 @@ static struct board_info __initdata boar
},
}
};
#endif
/*
-@@ -2818,6 +2885,7 @@ static const struct board_info __initcon
+@@ -2825,6 +2892,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
-@@ -2682,6 +2685,104 @@ static struct board_info __initdata boar
+@@ -2689,6 +2692,104 @@ static struct board_info __initdata boar
};
#endif
/*
* known 6368 boards
*/
-@@ -2888,6 +2989,10 @@ static const struct board_info __initcon
+@@ -2895,6 +2996,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -2909,6 +3014,11 @@ static void __init boardid_fixup(u8 *boo
+@@ -2916,6 +3021,11 @@ static void __init boardid_fixup(u8 *boo
}
}
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1214,6 +1214,57 @@ static struct board_info __initdata boar
+@@ -1221,6 +1221,57 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -2957,6 +3008,7 @@ static const struct board_info __initcon
+@@ -2964,6 +3015,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,
-@@ -2989,6 +3109,7 @@ static const struct board_info __initcon
+@@ -2996,6 +3116,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,
-@@ -3108,6 +3181,7 @@ static const struct board_info __initcon
+@@ -3115,6 +3188,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,
-@@ -3181,6 +3248,7 @@ static const struct board_info __initcon
+@@ -3188,6 +3255,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
/*
-@@ -3262,6 +3311,7 @@ static const struct board_info __initcon
+@@ -3269,6 +3318,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>
-@@ -1821,6 +1822,492 @@ static struct board_info __initdata boar
+@@ -1828,6 +1829,492 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3350,6 +3837,10 @@ static const struct board_info __initcon
+@@ -3357,6 +3844,10 @@ static const struct board_info __initcon
&board_nb4_fxc_r2,
&board_ct6373_1,
&board_HW553,
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -3369,13 +3860,37 @@ static void __init boardid_fixup(u8 *boo
+@@ -3376,13 +3867,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();
#endif
/*
-@@ -3799,6 +3853,7 @@ static const struct board_info __initcon
+@@ -3806,6 +3860,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
-@@ -1629,6 +1629,122 @@ static struct board_info __initdata boar
+@@ -1636,6 +1636,122 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -3843,6 +3959,7 @@ static const struct board_info __initcon
+@@ -3850,6 +3966,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
-@@ -3798,6 +3798,96 @@ static struct board_info __initdata boar
+@@ -3805,6 +3805,96 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
#endif
/*
-@@ -4019,6 +4109,7 @@ static const struct board_info __initcon
+@@ -4026,6 +4116,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
-@@ -2832,6 +2832,99 @@ static struct board_info __initdata boar
+@@ -2839,6 +2839,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
-@@ -1807,6 +1807,19 @@ static struct board_info __initdata boar
+@@ -1814,6 +1814,19 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1404,6 +1412,8 @@ static struct board_info __initdata boar
+@@ -1411,6 +1419,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1580,6 +1590,8 @@ static struct board_info __initdata boar
+@@ -1587,6 +1597,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1771,6 +1783,8 @@ static struct board_info __initdata boar
+@@ -1778,6 +1790,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1793,6 +1807,8 @@ static struct board_info __initdata boar
+@@ -1800,6 +1814,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1813,6 +1829,8 @@ static struct board_info __initdata boar
+@@ -1820,6 +1836,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2656,6 +2674,8 @@ static struct board_info __initdata boar
+@@ -2663,6 +2681,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2709,6 +2729,8 @@ static struct board_info __initdata boar
+@@ -2716,6 +2736,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2850,6 +2872,8 @@ static struct board_info __initdata boar
+@@ -2857,6 +2879,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2968,6 +2992,8 @@ static struct board_info __initdata boar
+@@ -2975,6 +2999,8 @@ static struct board_info __initdata boar
},
.enet1 = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -3000,6 +3000,94 @@ static struct board_info __initdata boar
+@@ -3007,6 +3007,94 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -4273,6 +4360,9 @@ static const struct board_info __initcon
+@@ -4280,6 +4367,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
#endif
/*
-@@ -4362,6 +4450,7 @@ static const struct board_info __initcon
+@@ -4369,6 +4457,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
-@@ -4442,6 +4442,75 @@ static struct board_info __initdata boar
+@@ -4449,6 +4449,75 @@ static struct board_info __initdata boar
#endif
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4526,6 +4595,9 @@ static const struct board_info __initcon
+@@ -4533,6 +4602,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
#endif
/*
-@@ -4562,6 +4607,7 @@ static const struct board_info __initcon
+@@ -4569,6 +4614,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
-@@ -4553,6 +4553,108 @@ static struct board_info __initdata boar
+@@ -4560,6 +4560,108 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -4643,6 +4745,7 @@ static const struct board_info __initcon
+@@ -4650,6 +4752,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
-@@ -4490,6 +4490,131 @@ static struct board_info __initdata boar
+@@ -4497,6 +4497,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,
-@@ -4744,6 +4869,7 @@ static const struct board_info __initcon
+@@ -4751,6 +4876,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>
-@@ -4484,6 +4485,99 @@ static struct board_info __initdata boar
+@@ -4491,6 +4492,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif
/*
-@@ -4867,6 +4961,7 @@ static const struct board_info __initcon
+@@ -4874,6 +4968,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
-@@ -4486,6 +4486,98 @@ static struct board_info __initdata boar
+@@ -4493,6 +4493,98 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4961,6 +5053,7 @@ static const struct board_info __initcon
+@@ -4968,6 +5060,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
-@@ -4578,6 +4578,98 @@ static struct board_info __initdata boar
+@@ -4585,6 +4585,98 @@ static struct board_info __initdata boar
},
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -5054,6 +5146,7 @@ static const struct board_info __initcon
+@@ -5061,6 +5153,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
-@@ -4486,6 +4486,89 @@ static struct board_info __initdata boar
+@@ -4493,6 +4493,89 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -5145,6 +5228,7 @@ static const struct board_info __initcon
+@@ -5152,6 +5235,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
-@@ -4076,6 +4076,49 @@ static struct board_info __initdata boar
+@@ -4083,6 +4083,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,
-@@ -5211,6 +5254,7 @@ static const struct board_info __initcon
+@@ -5218,6 +5261,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,
-@@ -5202,6 +5284,7 @@ static const struct board_info __initcon
+@@ -5209,6 +5291,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
#endif
/*
-@@ -5278,6 +5413,7 @@ static const struct board_info __initcon
+@@ -5285,6 +5420,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,