--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -594,6 +594,51 @@ static struct board_info __initdata boar
+@@ -594,6 +594,58 @@ static struct board_info __initdata boar
};
+ .has_enet0 = 0,
+ .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,
-@@ -2118,6 +2163,7 @@ static const struct board_info __initcon
+@@ -2118,6 +2170,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
-@@ -1378,6 +1378,8 @@ static struct board_info __initdata boar
+@@ -1385,6 +1385,8 @@ static struct board_info __initdata boar
.name = "DWV-S0",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -1394,6 +1396,7 @@ static struct board_info __initdata boar
+@@ -1401,6 +1403,7 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -639,6 +639,69 @@ static struct board_info __initdata boar
+@@ -646,6 +646,69 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -2167,6 +2230,7 @@ static const struct board_info __initcon
+@@ -2174,6 +2237,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
-@@ -906,6 +906,7 @@ static struct board_info __initdata boar
+@@ -913,6 +913,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
#endif
/*
-@@ -2232,6 +2268,7 @@ static const struct board_info __initcon
+@@ -2239,6 +2275,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
-@@ -2232,6 +2232,85 @@ static struct board_info __initdata boar
+@@ -2239,6 +2239,85 @@ static struct board_info __initdata boar
#endif
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -2286,6 +2365,10 @@ static const struct board_info __initcon
+@@ -2293,6 +2372,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
-@@ -2308,6 +2308,72 @@ static struct board_info __initdata boar
+@@ -2315,6 +2315,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif
/*
-@@ -2368,6 +2434,7 @@ static const struct board_info __initcon
+@@ -2375,6 +2441,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
#endif
/*
-@@ -2417,6 +2487,7 @@ static const struct board_info __initcon
+@@ -2424,6 +2494,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
/*
-@@ -2488,6 +2593,7 @@ static const struct board_info __initcon
+@@ -2495,6 +2600,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
#endif
/*
-@@ -2623,6 +2676,7 @@ static const struct board_info __initcon
+@@ -2630,6 +2683,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
/*
* known 3368 boards
*/
-@@ -2413,6 +2419,117 @@ static struct board_info __initdata boar
+@@ -2420,6 +2426,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,
-@@ -2691,6 +2808,7 @@ static const struct board_info __initcon
+@@ -2698,6 +2815,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
-@@ -1516,6 +1516,73 @@ static struct board_info __initdata boar
+@@ -1523,6 +1523,73 @@ static struct board_info __initdata boar
},
}
};
#endif
/*
-@@ -2811,6 +2878,7 @@ static const struct board_info __initcon
+@@ -2818,6 +2885,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
-@@ -2675,6 +2678,104 @@ static struct board_info __initdata boar
+@@ -2682,6 +2685,104 @@ static struct board_info __initdata boar
};
#endif
/*
* known 6368 boards
*/
-@@ -2881,6 +2982,10 @@ static const struct board_info __initcon
+@@ -2888,6 +2989,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -2902,6 +3007,11 @@ static void __init boardid_fixup(u8 *boo
+@@ -2909,6 +3014,11 @@ static void __init boardid_fixup(u8 *boo
}
}
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1207,6 +1207,57 @@ static struct board_info __initdata boar
+@@ -1214,6 +1214,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,
-@@ -2950,6 +3001,7 @@ static const struct board_info __initcon
+@@ -2957,6 +3008,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,
-@@ -2982,6 +3102,7 @@ static const struct board_info __initcon
+@@ -2989,6 +3109,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,
-@@ -3101,6 +3174,7 @@ static const struct board_info __initcon
+@@ -3108,6 +3181,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,
-@@ -3174,6 +3241,7 @@ static const struct board_info __initcon
+@@ -3181,6 +3248,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
/*
-@@ -3255,6 +3304,7 @@ static const struct board_info __initcon
+@@ -3262,6 +3311,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>
-@@ -1814,6 +1815,492 @@ static struct board_info __initdata boar
+@@ -1821,6 +1822,492 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3343,6 +3830,10 @@ static const struct board_info __initcon
+@@ -3350,6 +3837,10 @@ static const struct board_info __initcon
&board_nb4_fxc_r2,
&board_ct6373_1,
&board_HW553,
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -3362,13 +3853,37 @@ static void __init boardid_fixup(u8 *boo
+@@ -3369,13 +3860,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
/*
-@@ -3792,6 +3846,7 @@ static const struct board_info __initcon
+@@ -3799,6 +3853,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
-@@ -1622,6 +1622,122 @@ static struct board_info __initdata boar
+@@ -1629,6 +1629,122 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -3836,6 +3952,7 @@ static const struct board_info __initcon
+@@ -3843,6 +3959,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
-@@ -3791,6 +3791,96 @@ static struct board_info __initdata boar
+@@ -3798,6 +3798,96 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
#endif
/*
-@@ -4012,6 +4102,7 @@ static const struct board_info __initcon
+@@ -4019,6 +4109,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
-@@ -2825,6 +2825,99 @@ static struct board_info __initdata boar
+@@ -2832,6 +2832,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
-@@ -1800,6 +1800,19 @@ static struct board_info __initdata boar
+@@ -1807,6 +1807,19 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1397,6 +1405,8 @@ static struct board_info __initdata boar
+@@ -1404,6 +1412,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1573,6 +1583,8 @@ static struct board_info __initdata boar
+@@ -1580,6 +1590,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1764,6 +1776,8 @@ static struct board_info __initdata boar
+@@ -1771,6 +1783,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1786,6 +1800,8 @@ static struct board_info __initdata boar
+@@ -1793,6 +1807,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1806,6 +1822,8 @@ static struct board_info __initdata boar
+@@ -1813,6 +1829,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2649,6 +2667,8 @@ static struct board_info __initdata boar
+@@ -2656,6 +2674,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2702,6 +2722,8 @@ static struct board_info __initdata boar
+@@ -2709,6 +2729,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2843,6 +2865,8 @@ static struct board_info __initdata boar
+@@ -2850,6 +2872,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2961,6 +2985,8 @@ static struct board_info __initdata boar
+@@ -2968,6 +2992,8 @@ static struct board_info __initdata boar
},
.enet1 = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2993,6 +2993,94 @@ static struct board_info __initdata boar
+@@ -3000,6 +3000,94 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -4266,6 +4353,9 @@ static const struct board_info __initcon
+@@ -4273,6 +4360,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
#endif
/*
-@@ -4355,6 +4443,7 @@ static const struct board_info __initcon
+@@ -4362,6 +4450,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
-@@ -4435,6 +4435,75 @@ static struct board_info __initdata boar
+@@ -4442,6 +4442,75 @@ static struct board_info __initdata boar
#endif
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4519,6 +4588,9 @@ static const struct board_info __initcon
+@@ -4526,6 +4595,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
#endif
/*
-@@ -4555,6 +4600,7 @@ static const struct board_info __initcon
+@@ -4562,6 +4607,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
-@@ -4546,6 +4546,108 @@ static struct board_info __initdata boar
+@@ -4553,6 +4553,108 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -4636,6 +4738,7 @@ static const struct board_info __initcon
+@@ -4643,6 +4745,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
-@@ -4483,6 +4483,131 @@ static struct board_info __initdata boar
+@@ -4490,6 +4490,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,
-@@ -4737,6 +4862,7 @@ static const struct board_info __initcon
+@@ -4744,6 +4869,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>
-@@ -4477,6 +4478,99 @@ static struct board_info __initdata boar
+@@ -4484,6 +4485,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif
/*
-@@ -4860,6 +4954,7 @@ static const struct board_info __initcon
+@@ -4867,6 +4961,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
-@@ -4479,6 +4479,98 @@ static struct board_info __initdata boar
+@@ -4486,6 +4486,98 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4954,6 +5046,7 @@ static const struct board_info __initcon
+@@ -4961,6 +5053,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
-@@ -4571,6 +4571,98 @@ static struct board_info __initdata boar
+@@ -4578,6 +4578,98 @@ static struct board_info __initdata boar
},
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -5047,6 +5139,7 @@ static const struct board_info __initcon
+@@ -5054,6 +5146,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
-@@ -4479,6 +4479,89 @@ static struct board_info __initdata boar
+@@ -4486,6 +4486,89 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -5138,6 +5221,7 @@ static const struct board_info __initcon
+@@ -5145,6 +5228,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
-@@ -4069,6 +4069,49 @@ static struct board_info __initdata boar
+@@ -4076,6 +4076,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,
-@@ -5204,6 +5247,7 @@ static const struct board_info __initcon
+@@ -5211,6 +5254,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,
-@@ -5195,6 +5277,7 @@ static const struct board_info __initcon
+@@ -5202,6 +5284,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
#endif
/*
-@@ -5271,6 +5406,7 @@ static const struct board_info __initcon
+@@ -5278,6 +5413,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,