--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -29,12 +29,16 @@
+@@ -30,12 +30,16 @@
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <board_bcm963xx.h>
static struct bcm963xx_nvram nvram;
static unsigned int mac_addr_used;
static struct board_info board;
-@@ -725,6 +729,29 @@ static int board_get_mac_address(u8 *mac
+@@ -726,6 +730,29 @@ static int board_get_mac_address(u8 *mac
return 0;
}
/*
* early init callback, read nvram data from flash and checksum it
*/
-@@ -766,6 +793,11 @@ void __init board_prom_init(void)
+@@ -767,6 +794,11 @@ void __init board_prom_init(void)
return;
}
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -825,7 +825,6 @@ void __init board_prom_init(void)
+@@ -826,7 +826,6 @@ void __init board_prom_init(void)
#ifdef CONFIG_PCI
if (board.has_pci) {
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G2_PCI;
}
-@@ -997,5 +996,10 @@ int __init board_register_devices(void)
+@@ -998,5 +997,10 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_keys_device);
}
#include <linux/ssb/ssb.h>
#include <linux/gpio_keys.h>
#include <linux/input.h>
-@@ -26,6 +23,7 @@
+@@ -27,6 +24,7 @@
#include <bcm63xx_dev_pci.h>
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_dsp.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <board_bcm963xx.h>
-@@ -865,40 +863,6 @@ void __init board_setup(void)
+@@ -866,40 +864,6 @@ void __init board_setup(void)
panic("unexpected CPU for bcm963xx board");
}
static struct gpio_led_platform_data bcm63xx_led_data;
static struct platform_device bcm63xx_gpio_leds = {
-@@ -922,7 +886,6 @@ static struct platform_device bcm63xx_gp
+@@ -923,7 +887,6 @@ static struct platform_device bcm63xx_gp
*/
int __init board_register_devices(void)
{
int button_count = 0;
int led_count = 0;
-@@ -967,14 +930,7 @@ int __init board_register_devices(void)
+@@ -968,14 +931,7 @@ int __init board_register_devices(void)
if (board.num_spis)
spi_register_board_info(board.spis, board.num_spis);
select HW_HAS_PCI
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -760,9 +760,14 @@ void __init board_prom_init(void)
+@@ -761,9 +761,14 @@ void __init board_prom_init(void)
char cfe_version[32];
u32 val;
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -26,6 +26,7 @@
+@@ -27,6 +27,7 @@
#include <bcm63xx_dev_flash.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <board_bcm963xx.h>
#include <bcm_tag.h>
-@@ -911,6 +912,9 @@ int __init board_register_devices(void)
+@@ -912,6 +913,9 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enet1.mac_addr))
bcm63xx_enet_register(1, &board.enet1);
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -27,6 +27,7 @@
+@@ -28,6 +28,7 @@
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <bcm63xx_dev_usb_ohci.h>
#include <board_bcm963xx.h>
#include <bcm_tag.h>
-@@ -912,6 +913,9 @@ int __init board_register_devices(void)
+@@ -913,6 +914,9 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enet1.mac_addr))
bcm63xx_enet_register(1, &board.enet1);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -850,6 +850,8 @@ void __init board_prom_init(void)
+@@ -851,6 +851,8 @@ void __init board_prom_init(void)
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G3_EXT_MII |
GPIO_MODE_6348_G0_EXT_MII;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -915,6 +915,10 @@ int __init board_register_devices(void)
+@@ -916,6 +916,10 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enet1.mac_addr))
bcm63xx_enet_register(1, &board.enet1);
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -24,6 +24,7 @@
+@@ -25,6 +25,7 @@
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_dsp.h>
#include <bcm63xx_dev_flash.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <bcm63xx_dev_usb_ohci.h>
-@@ -940,6 +941,7 @@ int __init board_register_devices(void)
+@@ -941,6 +942,7 @@ int __init board_register_devices(void)
pr_err(PFX "failed to register fallback SPROM\n");
}
#endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -20,6 +20,7 @@
+@@ -21,6 +21,7 @@
#include <bcm63xx_dev_uart.h>
#include <bcm63xx_regs.h>
#include <bcm63xx_io.h>
#include <bcm63xx_dev_pci.h>
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_dsp.h>
-@@ -40,8 +41,6 @@
+@@ -41,8 +42,6 @@
#define CFE_OFFSET_64K 0x10000
#define CFE_OFFSET_128K 0x20000
static struct board_info board;
/*
-@@ -695,50 +694,16 @@ const char *board_get_name(void)
+@@ -696,50 +695,16 @@ const char *board_get_name(void)
return board.name;
}
/* No tag found */
printk(KERN_DEBUG "No bcm_tag found!\n");
return;
-@@ -748,9 +713,9 @@ static void __init boardid_fixup(u8 *boo
+@@ -749,9 +714,9 @@ static void __init boardid_fixup(u8 *boo
if (tag->information1[0] != '+')
return;
}
/*
-@@ -758,9 +723,10 @@ static void __init boardid_fixup(u8 *boo
+@@ -759,9 +724,10 @@ static void __init boardid_fixup(u8 *boo
*/
void __init board_prom_init(void)
{
u32 val;
/* read base address of boot chip select (0)
-@@ -782,32 +748,19 @@ void __init board_prom_init(void)
+@@ -783,32 +749,19 @@ void __init board_prom_init(void)
strcpy(cfe_version, "unknown");
printk(KERN_INFO PFX "CFE version: %s\n", cfe_version);
continue;
/* copy, board desc array is marked initdata */
memcpy(&board, bcm963xx_boards[i], sizeof(board));
-@@ -817,7 +770,7 @@ void __init board_prom_init(void)
+@@ -818,7 +771,7 @@ void __init board_prom_init(void)
/* bail out if board is not found, will complain later */
if (!board.name[0]) {
char name[17];
name[16] = 0;
printk(KERN_ERR PFX "unknown bcm963xx board: %s\n",
name);
-@@ -909,15 +862,15 @@ int __init board_register_devices(void)
+@@ -910,15 +863,15 @@ int __init board_register_devices(void)
bcm63xx_pcmcia_register();
if (board.has_enet0 &&
bcm63xx_enetsw_register(&board.enetsw);
if (board.has_ehci0)
-@@ -933,7 +886,7 @@ int __init board_register_devices(void)
+@@ -934,7 +887,7 @@ int __init board_register_devices(void)
* do this after registering enet devices
*/
#ifdef CONFIG_SSB_PCIHOST
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -32,6 +32,7 @@
+@@ -33,6 +33,7 @@
#include <bcm63xx_dev_usb_ehci.h>
#include <board_bcm963xx.h>
#include <bcm_tag.h>
#define PFX "board_bcm963xx: "
-@@ -851,6 +852,7 @@ int __init board_register_devices(void)
+@@ -852,6 +853,7 @@ int __init board_register_devices(void)
{
int button_count = 0;
int led_count = 0;
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -886,7 +888,8 @@ int __init board_register_devices(void)
+@@ -887,7 +889,8 @@ int __init board_register_devices(void)
* do this after registering enet devices
*/
#ifdef CONFIG_SSB_PCIHOST
memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN);
memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN);
if (ssb_arch_register_fallback_sprom(
-@@ -931,5 +934,9 @@ int __init board_register_devices(void)
+@@ -932,5 +935,9 @@ int __init board_register_devices(void)
bcm63xx_pci_register();
#endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -907,7 +907,7 @@ int __init board_register_devices(void)
+@@ -908,7 +908,7 @@ int __init board_register_devices(void)
if (board.num_spis)
spi_register_board_info(board.spis, board.num_spis);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -131,6 +131,55 @@ static struct board_info __initdata boar
- },
- },
+@@ -469,6 +469,54 @@ static struct board_info __initdata boar
+
+ .has_ohci0 = 1,
};
+
+static struct board_info __initdata board_96348_D4PW = {
+ },
+ },
+};
-+
#endif
/*
-@@ -639,6 +688,7 @@ static const struct board_info __initdat
+@@ -640,6 +688,7 @@ static const struct board_info __initdat
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -14,6 +14,9 @@
- #include <linux/ssb/ssb.h>
+@@ -15,6 +15,8 @@
#include <linux/gpio_keys.h>
#include <linux/input.h>
-+#include <linux/spi/spi.h>
+ #include <linux/spi/spi.h>
+#include <linux/spi/spi_gpio.h>
+#include <linux/spi/74x164.h>
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -42,6 +45,12 @@
+@@ -43,6 +45,12 @@
#define CFE_OFFSET_64K 0x10000
#define CFE_OFFSET_128K 0x20000
static struct board_info board;
/*
-@@ -666,6 +675,496 @@ static struct board_info __initdata boar
+@@ -666,6 +674,496 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif
/*
-@@ -696,9 +1195,31 @@ static const struct board_info __initdat
+@@ -696,9 +1194,31 @@ static const struct board_info __initdat
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
/*
* Register a sane SPROMv2 to make the on-board
* bcm4318 WLAN work
-@@ -807,6 +1328,9 @@ void __init board_prom_init(void)
+@@ -807,6 +1327,9 @@ void __init board_prom_init(void)
boardid_fixup(boot_addr);
}
board_name = bcm63xx_nvram_get_name();
/* find board by name */
for (i = 0; i < ARRAY_SIZE(bcm963xx_boards); i++) {
+--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+@@ -52,7 +52,7 @@ struct board_info {
+ struct bcm63xx_dsp_platform_data dsp;
+
+ /* GPIO LEDs */
+- struct gpio_led leds[5];
++ struct gpio_led leds[9];
+
+ /* Buttons */
+ struct gpio_keys_button buttons[4];
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -201,6 +201,38 @@ static struct board_info __initdata boar
-
- .has_uart0 = 1,
+@@ -140,6 +140,38 @@ static struct board_info __initdata boar
+ },
+ },
};
+
+static struct board_info __initdata board_96338w2_e7t = {
#endif
/*
-@@ -1174,6 +1206,7 @@ static const struct board_info __initdat
+@@ -1173,6 +1205,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -664,6 +664,98 @@ static struct board_info __initdata boar
+@@ -663,6 +663,98 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
-@@ -1227,6 +1319,7 @@ static const struct board_info __initdat
+@@ -1226,6 +1318,7 @@ static const struct board_info __initdat
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_ser_r1,
+--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+@@ -52,7 +52,7 @@ struct board_info {
+ struct bcm63xx_dsp_platform_data dsp;
+
+ /* GPIO LEDs */
+- struct gpio_led leds[9];
++ struct gpio_led leds[10];
+
+ /* Buttons */
+ struct gpio_keys_button buttons[4];
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -800,6 +800,59 @@ static struct board_info __initdata boar
+@@ -799,6 +799,59 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
struct spi_gpio_platform_data nb4_spi_gpio_data = {
.sck = NB4_SPI_GPIO_CLK,
.mosi = NB4_SPI_GPIO_MOSI,
-@@ -1321,6 +1374,7 @@ static const struct board_info __initdat
+@@ -1320,6 +1373,7 @@ static const struct board_info __initdat
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -189,6 +189,67 @@ static struct board_info __initdata boar
+@@ -557,6 +557,67 @@ static struct board_info __initdata boar
+ },
},
};
-
++
+static struct board_info __initdata board_spw500v = {
+ .name = "SPW500V",
+ .expected_cpu_id = 0x6348,
+ },
+ },
+};
-+
#endif
/*
-@@ -1366,6 +1427,7 @@ static const struct board_info __initdat
+@@ -1365,6 +1426,7 @@ static const struct board_info __initdat
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -536,6 +536,112 @@ static struct board_info __initdata boar
+@@ -426,6 +426,112 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
-@@ -1420,6 +1526,8 @@ static const struct board_info __initdat
+@@ -1419,6 +1525,8 @@ static const struct board_info __initdat
#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
-@@ -250,6 +250,76 @@ static struct board_info __initdata boar
+@@ -724,6 +724,76 @@ static struct board_info __initdata boar
+ },
},
};
-
++
+static struct board_info __initdata board_96348sv = {
+ .name = "MAGIC",
-+ .expected_cpu_id = 0x6348,
++ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
+ .has_enet0 = 1,
+ .has_pci = 1,
+
+ .enet0 = {
-+ .has_phy = 1,
++ .has_phy = 1,
+ .use_internal_phy = 1,
+ },
+ .enet1 = {
-+ /* is has BP_ENET_EXTERNAL_PHY */
++ /* it has BP_ENET_EXTERNAL_PHY */
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
+ },
+ .dsp = {
+ .gpio_rst = 25,
+ .gpio_int = 34,
-+ .cs = 2,
++ .cs = 2,
+ .ext_irq = 2,
+ },
+
+ },
+ },
+};
-+
#endif
/*
-@@ -1536,6 +1606,7 @@ static const struct board_info __initdat
+@@ -1535,6 +1605,7 @@ static const struct board_info __initdat
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1579,6 +1579,81 @@ static struct board_info __initdata boar
+@@ -1578,6 +1578,81 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
#endif
/*
-@@ -1621,6 +1696,7 @@ static const struct board_info __initdat
+@@ -1620,6 +1695,7 @@ static const struct board_info __initdat
&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
-@@ -364,6 +364,43 @@ static struct board_info __initdata boar
+@@ -172,6 +172,43 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1664,6 +1701,7 @@ static const struct board_info __initdat
+@@ -1663,6 +1700,7 @@ static const struct board_info __initdat
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1691,6 +1691,72 @@ static struct board_info __initdata boar
+@@ -1690,6 +1690,72 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1735,6 +1801,7 @@ static const struct board_info __initdat
+@@ -1734,6 +1800,7 @@ static const struct board_info __initdat
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
&board_HW553,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -320,6 +320,63 @@ static struct board_info __initdata boar
+@@ -831,6 +831,63 @@ static struct board_info __initdata boar
+ },
},
};
-
-+ static struct board_info __initdata board_V2500V_BB = {
-+ .name = "V2500V_BB",
++
++static struct board_info __initdata board_V2500V_BB = {
++ .name = "V2500V_BB",
+ .expected_cpu_id = 0x6348,
+
+ .has_uart0 = 1,
+ .enet1 = {
+ .force_speed_100 = 1,
+ .force_duplex_full = 1,
-+ },
++ },
+
-+ .leds = {
++ .leds = {
+ {
+ .name = "power:green",
+ .gpio = 0,
+ },
+ },
+};
-+
#endif
/*
-@@ -1786,6 +1843,7 @@ static const struct board_info __initdat
+@@ -1785,6 +1842,7 @@ static const struct board_info __initdat
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1912,6 +1970,23 @@ void __init board_prom_init(void)
+@@ -1911,6 +1969,23 @@ void __init board_prom_init(void)
val &= MPI_CSBASE_BASE_MASK;
}
boot_addr = (u8 *)KSEG1ADDR(val);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -632,6 +632,62 @@ static struct board_info __initdata boar
+@@ -395,6 +395,62 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1844,6 +1900,7 @@ static const struct board_info __initdat
+@@ -1843,6 +1899,7 @@ static const struct board_info __initdat
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -688,6 +688,49 @@ static struct board_info __initdata boar
+@@ -451,6 +451,49 @@ static struct board_info __initdata boar
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1901,6 +1944,7 @@ static const struct board_info __initdat
+@@ -1900,6 +1943,7 @@ static const struct board_info __initdat
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1213,6 +1213,8 @@ static struct board_info __initdata boar
+@@ -1212,6 +1212,8 @@ static struct board_info __initdata boar
.name = "DWV-S0",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -1228,6 +1230,7 @@ static struct board_info __initdata boar
+@@ -1227,6 +1229,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
-@@ -377,6 +377,67 @@ static struct board_info __initdata boar
+@@ -494,6 +494,67 @@ static struct board_info __initdata boar
},
};
+ },
+};
+
- #endif
-
- /*
-@@ -1948,6 +2009,7 @@ static const struct board_info __initdat
+ static struct board_info __initdata board_96348gw = {
+ .name = "96348GW",
+ .expected_cpu_id = 0x6348,
+@@ -1947,6 +2008,7 @@ static const struct board_info __initdat
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -994,6 +994,7 @@ static struct board_info __initdata boar
+@@ -757,6 +757,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -438,6 +438,42 @@ static struct board_info __initdata boar
+@@ -1049,6 +1049,44 @@ static struct board_info __initdata boar
+ },
},
};
-
++
+static struct board_info __initdata board_CPVA502plus = {
+ .name = "CPVA502+",
+ .expected_cpu_id = 0x6348,
+ },
+ },
+};
++
#endif
/*
-@@ -2011,6 +2047,7 @@ static const struct board_info __initdat
+@@ -2010,6 +2048,7 @@ static const struct board_info __initdat
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2017,6 +2017,80 @@ static struct board_info __initdata boar
+@@ -2018,6 +2018,80 @@ static struct board_info __initdata boar
#endif
/*
* all boards
*/
static const struct board_info __initdata *bcm963xx_boards[] = {
-@@ -2065,6 +2139,10 @@ static const struct board_info __initdat
+@@ -2066,6 +2140,10 @@ static const struct board_info __initdat
&board_HW553,
&board_spw303v,
#endif
};
static void __init nb4_nvram_fixup(void)
-@@ -2242,12 +2320,25 @@ void __init board_prom_init(void)
+@@ -2243,12 +2321,25 @@ void __init board_prom_init(void)
if (board.has_pci) {
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G2_PCI;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2088,6 +2088,72 @@ static struct board_info __initdata boar
+@@ -2089,6 +2089,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif
/*
-@@ -2142,6 +2208,7 @@ static const struct board_info __initdat
+@@ -2143,6 +2209,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
* known 6338 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6338
-@@ -2160,6 +2234,9 @@ static struct board_info __initdata boar
+@@ -2161,6 +2235,9 @@ static struct board_info __initdata boar
* all boards
*/
static const struct board_info __initdata *bcm963xx_boards[] = {
#endif
/*
-@@ -2236,6 +2306,7 @@ static struct board_info __initdata boar
+@@ -2237,6 +2307,7 @@ static struct board_info __initdata boar
static const struct board_info __initdata *bcm963xx_boards[] = {
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
/*
-@@ -2307,6 +2410,7 @@ static const struct board_info __initdat
+@@ -2308,6 +2411,7 @@ static const struct board_info __initdat
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1552,6 +1552,99 @@ static struct board_info __initdata boar
+@@ -1553,6 +1553,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
struct bcm63xx_dsp_platform_data dsp;
/* GPIO LEDs */
-- struct gpio_led leds[5];
+- struct gpio_led leds[10];
+ struct gpio_led leds[14];
/* Buttons */
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1332,6 +1332,19 @@ static struct board_info __initdata boar
+@@ -1059,6 +1059,19 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
+ }
+ },
};
- #endif
+ static struct board_info __initdata board_96348_D4PW = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -910,6 +910,17 @@ static struct board_info __initdata boar
+@@ -576,6 +576,17 @@ static struct board_info __initdata boar
.active_low = 1,
},
},
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
#include <linux/spi/74x164.h>
-@@ -2603,7 +2604,7 @@ static void __init nb4_nvram_fixup(void)
+@@ -2604,7 +2605,7 @@ static void __init nb4_nvram_fixup(void)
* bcm4318 WLAN work
*/
#ifdef CONFIG_SSB_PCIHOST
.revision = 0x02,
.board_rev = 0x17,
.country_code = 0x0,
-@@ -2623,6 +2624,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -2624,6 +2625,7 @@ static struct ssb_sprom bcm63xx_sprom =
.boardflags_lo = 0x2848,
.boardflags_hi = 0x0000,
};