--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -653,6 +653,75 @@ static struct board_info __initdata boar
+@@ -653,6 +653,85 @@ static struct board_info __initdata boar
},
},
};
+
++static struct sprom_fixup __initdata spw500v_fixups[] = {
++ { .offset = 46, .value = 0x3046 },
++ { .offset = 47, .value = 0x15a7 },
++ { .offset = 48, .value = 0xfa89 },
++ { .offset = 49, .value = 0xfe79 },
++ { .offset = 57, .value = 0x6a49 },
++};
++
+static struct board_info __initdata board_spw500v = {
+ .name = "SPW500V",
+ .of_board_id = "t-com,spw500v",
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
+ .pci_dev = 1,
++ .board_fixups = &spw500v_fixups,
++ .num_board_fixups = ARRAY_SIZE(spw500v_fixups),
+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1252,6 +1321,7 @@ static const struct board_info __initcon
+@@ -1252,6 +1331,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",
-@@ -1314,6 +1422,8 @@ static const struct board_info __initcon
+@@ -1324,6 +1432,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
-@@ -830,6 +830,78 @@ static struct board_info __initdata boar
- .pci_dev = 1,
+@@ -840,6 +840,78 @@ static struct board_info __initdata boar
+ .num_board_fixups = ARRAY_SIZE(spw500v_fixups),
},
};
+
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1432,6 +1504,7 @@ static const struct board_info __initcon
+@@ -1442,6 +1514,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
-@@ -1471,6 +1471,84 @@ static struct board_info __initdata boar
+@@ -1481,6 +1481,84 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1516,6 +1594,7 @@ static const struct board_info __initcon
+@@ -1526,6 +1604,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 */
/*
-@@ -1565,6 +1604,7 @@ static const struct board_info __initcon
+@@ -1575,6 +1614,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
-@@ -1588,6 +1588,72 @@ static struct board_info __initdata boar
+@@ -1598,6 +1598,72 @@ static struct board_info __initdata boar
.pci_dev = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1635,6 +1701,7 @@ static const struct board_info __initcon
+@@ -1645,6 +1711,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
-@@ -941,6 +941,65 @@ static struct board_info __initdata boar
+@@ -951,6 +951,65 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1689,6 +1748,7 @@ static const struct board_info __initcon
+@@ -1699,6 +1758,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1727,6 +1787,22 @@ void __init board_bcm963xx_init(void)
+@@ -1737,6 +1797,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",
-@@ -1749,6 +1807,7 @@ static const struct board_info __initcon
+@@ -1759,6 +1817,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",
-@@ -1808,6 +1861,7 @@ static const struct board_info __initcon
+@@ -1818,6 +1871,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
-@@ -1343,6 +1343,8 @@ static struct board_info __initdata boar
+@@ -1353,6 +1353,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,
-@@ -1359,6 +1361,7 @@ static struct board_info __initdata boar
+@@ -1369,6 +1371,7 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.of_board_id = "brcm,bcm96348gw",
-@@ -1865,6 +1936,7 @@ static const struct board_info __initcon
+@@ -1875,6 +1946,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",
-@@ -1938,6 +1972,7 @@ static const struct board_info __initcon
+@@ -1948,6 +1982,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
-@@ -1936,6 +1936,86 @@ static struct board_info __initdata boar
+@@ -1946,6 +1946,86 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1987,6 +2067,10 @@ static const struct board_info __initcon
+@@ -1997,6 +2077,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
-@@ -2013,6 +2013,73 @@ static struct board_info __initdata boar
+@@ -2023,6 +2023,73 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -2070,6 +2137,7 @@ static const struct board_info __initcon
+@@ -2080,6 +2147,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2123,6 +2194,7 @@ static const struct board_info __initcon
+@@ -2133,6 +2204,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2195,6 +2300,7 @@ static const struct board_info __initcon
+@@ -2205,6 +2310,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,
-@@ -2330,6 +2383,7 @@ static const struct board_info __initcon
+@@ -2340,6 +2393,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
/*
* known 3368 boards
*/
-@@ -2051,6 +2057,125 @@ static struct board_info __initdata boar
+@@ -2061,6 +2067,125 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.of_board_id = "huawei,hg553",
-@@ -2395,6 +2520,7 @@ static const struct board_info __initcon
+@@ -2405,6 +2530,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
-@@ -2319,6 +2319,74 @@ static struct board_info __initdata boar
+@@ -2329,6 +2329,74 @@ static struct board_info __initdata boar
},
}
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -2523,6 +2591,7 @@ static const struct board_info __initcon
+@@ -2533,6 +2601,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
-@@ -2389,6 +2392,105 @@ static struct board_info __initdata boar
+@@ -2399,6 +2402,105 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* known 6368 boards
*/
-@@ -2594,6 +2696,10 @@ static const struct board_info __initcon
+@@ -2604,6 +2706,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",
-@@ -2667,6 +2718,7 @@ static const struct board_info __initcon
+@@ -2677,6 +2728,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,
-@@ -2699,6 +2827,7 @@ static const struct board_info __initcon
+@@ -2709,6 +2837,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",
.of_board_id = "brcm,bcm963281TAN",
-@@ -2826,6 +2936,7 @@ static const struct board_info __initcon
+@@ -2836,6 +2946,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 },
-@@ -2936,6 +3022,7 @@ static const struct board_info __initcon
+@@ -2946,6 +3032,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3036,6 +3085,7 @@ static const struct board_info __initcon
+@@ -3046,6 +3095,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>
-@@ -2681,6 +2682,405 @@ static struct board_info __initdata boar
+@@ -2691,6 +2692,405 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3121,6 +3521,9 @@ static const struct board_info __initcon
+@@ -3131,6 +3531,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -3486,6 +3540,7 @@ static const struct board_info __initcon
+@@ -3496,6 +3550,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -3530,6 +3646,7 @@ static const struct board_info __initcon
+@@ -3540,6 +3656,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
-@@ -3483,6 +3483,96 @@ static struct board_info __initdata boar
+@@ -3493,6 +3493,96 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
-@@ -3702,6 +3792,7 @@ static const struct board_info __initcon
+@@ -3712,6 +3802,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
-@@ -2307,6 +2307,99 @@ static struct board_info __initdata boar
+@@ -2317,6 +2317,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2129,6 +2147,8 @@ static struct board_info __initdata boar
+@@ -2139,6 +2157,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2183,6 +2203,8 @@ static struct board_info __initdata boar
+@@ -2193,6 +2213,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2325,6 +2347,8 @@ static struct board_info __initdata boar
+@@ -2335,6 +2357,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2444,6 +2468,8 @@ static struct board_info __initdata boar
+@@ -2454,6 +2478,8 @@ static struct board_info __initdata boar
},
.enet1 = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2476,6 +2476,94 @@ static struct board_info __initdata boar
+@@ -2486,6 +2486,94 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -3960,6 +4047,9 @@ static const struct board_info __initcon
+@@ -3970,6 +4057,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -4049,6 +4137,7 @@ static const struct board_info __initcon
+@@ -4059,6 +4147,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
-@@ -4129,6 +4129,75 @@ static struct board_info __initdata boar
+@@ -4139,6 +4139,75 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -4209,6 +4278,9 @@ static const struct board_info __initcon
+@@ -4219,6 +4288,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
-@@ -4249,6 +4295,7 @@ static const struct board_info __initcon
+@@ -4259,6 +4305,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
-@@ -4241,6 +4241,108 @@ static struct board_info __initdata boar
+@@ -4251,6 +4251,108 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -4327,6 +4429,7 @@ static const struct board_info __initcon
+@@ -4337,6 +4439,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
-@@ -4178,6 +4178,131 @@ static struct board_info __initdata boar
+@@ -4188,6 +4188,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,
-@@ -4428,6 +4553,7 @@ static const struct board_info __initcon
+@@ -4438,6 +4563,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>
-@@ -4172,6 +4173,118 @@ static struct board_info __initdata boar
+@@ -4182,6 +4183,118 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -4551,6 +4664,7 @@ static const struct board_info __initcon
+@@ -4561,6 +4674,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
-@@ -4174,6 +4174,117 @@ static struct board_info __initdata boar
+@@ -4184,6 +4184,117 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4664,6 +4775,7 @@ static const struct board_info __initcon
+@@ -4674,6 +4785,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
-@@ -4285,6 +4285,117 @@ static struct board_info __initdata boar
+@@ -4295,6 +4295,117 @@ static struct board_info __initdata boar
},
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -4776,6 +4887,7 @@ static const struct board_info __initcon
+@@ -4786,6 +4897,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
-@@ -4183,6 +4183,97 @@ static struct sprom_fixup __initdata vr3
+@@ -4193,6 +4193,97 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.of_board_id = "comtrend,vr-3025u",
-@@ -4886,6 +4977,7 @@ static const struct board_info __initcon
+@@ -4896,6 +4987,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
-@@ -3227,6 +3227,57 @@ static struct board_info __initdata boar
+@@ -3237,6 +3237,57 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(ct6373_spi_devices),
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.of_board_id = "huawei,hg553",
-@@ -4961,6 +5012,7 @@ static const struct board_info __initcon
+@@ -4971,6 +5022,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",
.of_board_id = "adb,a4001n1",
-@@ -4963,6 +5053,7 @@ static const struct board_info __initcon
+@@ -4973,6 +5063,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -5047,6 +5182,7 @@ static const struct board_info __initcon
+@@ -5057,6 +5192,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,