+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
-+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -10,6 +10,8 @@
- #include <linux/init.h>
- #include <linux/kernel.h>
- #include <linux/string.h>
-+#include <linux/gpio_keys.h>
-+#include <linux/input.h>
- #include <asm/addrspace.h>
- #include <bcm63xx_board.h>
- #include <bcm63xx_cpu.h>
-@@ -26,6 +28,9 @@
-
- #define HCS_OFFSET_128K 0x20000
-
-+#define BCM963XX_KEYS_POLL_INTERVAL 20
-+#define BCM963XX_KEYS_DEBOUNCE_INTERVAL (BCM963XX_KEYS_POLL_INTERVAL * 3)
-+
- /*
- * known 3368 boards
- */
---- a/arch/mips/bcm63xx/boards/board_common.c
-+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -12,6 +12,7 @@
- #include <linux/string.h>
- #include <linux/platform_device.h>
- #include <linux/ssb/ssb.h>
-+#include <linux/gpio_keys.h>
- #include <asm/addrspace.h>
- #include <bcm63xx_board.h>
- #include <bcm63xx_cpu.h>
-@@ -32,6 +33,8 @@
-
- #define PFX "board: "
-
-+#define BCM963XX_KEYS_POLL_INTERVAL 20
-+
- static struct board_info board;
-
- /*
-@@ -151,11 +154,23 @@ static struct platform_device bcm63xx_gp
- .dev.platform_data = &bcm63xx_led_data,
- };
-
-+static struct gpio_keys_platform_data bcm63xx_gpio_keys_data = {
-+ .poll_interval = BCM963XX_KEYS_POLL_INTERVAL,
-+};
-+
-+static struct platform_device bcm63xx_gpio_keys_device = {
-+ .name = "gpio-keys-polled",
-+ .id = 0,
-+ .dev.platform_data = &bcm63xx_gpio_keys_data,
-+};
-+
- /*
- * third stage init callback, register all board devices.
- */
- int __init board_register_devices(void)
- {
-+ int button_count = 0;
-+
- if (board.has_uart0)
- bcm63xx_uart_register(0);
-
-@@ -217,5 +232,16 @@ int __init board_register_devices(void)
- gpio_request_one(board.ephy_reset_gpio,
- board.ephy_reset_gpio_flags, "ephy-reset");
-
-+ /* count number of BUTTONs defined by this device */
-+ while (button_count < ARRAY_SIZE(board.buttons) && board.buttons[button_count].desc)
-+ button_count++;
-+
-+ if (button_count) {
-+ bcm63xx_gpio_keys_data.nbuttons = button_count;
-+ bcm63xx_gpio_keys_data.buttons = board.buttons;
-+
-+ platform_device_register(&bcm63xx_gpio_keys_device);
-+ }
-+
- return 0;
- }
---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -3,6 +3,7 @@
-
- #include <linux/types.h>
- #include <linux/gpio.h>
-+#include <linux/gpio_keys.h>
- #include <linux/leds.h>
- #include <bcm63xx_dev_enet.h>
- #include <bcm63xx_dev_usb_usbd.h>
-@@ -48,6 +49,9 @@ struct board_info {
- /* GPIO LEDs */
- struct gpio_led leds[5];
-
-+ /* Buttons */
-+ struct gpio_keys_button buttons[4];
-+
- /* External PHY reset GPIO */
- unsigned int ephy_reset_gpio;
-
+++ /dev/null
---- a/arch/mips/bcm63xx/boards/board_common.c
-+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -170,6 +170,7 @@ static struct platform_device bcm63xx_gp
- int __init board_register_devices(void)
- {
- int button_count = 0;
-+ int led_count = 0;
-
- if (board.has_uart0)
- bcm63xx_uart_register(0);
-@@ -223,10 +224,16 @@ int __init board_register_devices(void)
-
- bcm63xx_flash_register();
-
-- bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);
-- bcm63xx_led_data.leds = board.leds;
-+ /* count number of LEDs defined by this device */
-+ while (led_count < ARRAY_SIZE(board.leds) && board.leds[led_count].name)
-+ led_count++;
-+
-+ if (led_count) {
-+ bcm63xx_led_data.num_leds = led_count;
-+ bcm63xx_led_data.leds = board.leds;
-
-- platform_device_register(&bcm63xx_gpio_leds);
-+ platform_device_register(&bcm63xx_gpio_leds);
-+ }
-
- if (board.ephy_reset_gpio && board.ephy_reset_gpio_flags)
- gpio_request_one(board.ephy_reset_gpio,
---- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -47,7 +47,7 @@ struct board_info {
- struct bcm63xx_dsp_platform_data dsp;
-
- /* GPIO LEDs */
-- struct gpio_led leds[5];
-+ struct gpio_led leds[14];
-
- /* Buttons */
- struct gpio_keys_button buttons[4];
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -222,6 +222,9 @@ int __init board_register_devices(void)
+@@ -206,6 +206,9 @@ int __init board_register_devices(void)
bcm63xx_hsspi_register();
+
bcm63xx_flash_register();
- /* count number of LEDs defined by this device */
+ bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -57,6 +57,10 @@ struct board_info {
+@@ -53,6 +53,10 @@ struct board_info {
/* External PHY reset GPIO flags from gpio.h */
unsigned long ephy_reset_gpio_flags;
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -13,6 +13,7 @@
+@@ -12,6 +12,7 @@
+ #include <linux/string.h>
#include <linux/platform_device.h>
#include <linux/ssb/ssb.h>
- #include <linux/gpio_keys.h>
+#include <linux/spi/spi.h>
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -225,6 +226,9 @@ int __init board_register_devices(void)
+@@ -209,6 +210,9 @@ int __init board_register_devices(void)
if (board.num_devs)
platform_add_devices(board.devs, board.num_devs);
+
bcm63xx_flash_register();
- /* count number of LEDs defined by this device */
+ bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -61,6 +61,10 @@ struct board_info {
+@@ -57,6 +57,10 @@ struct board_info {
/* Additional platform devices */
struct platform_device **devs;
unsigned int num_devs;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -727,10 +727,20 @@ void __init board_prom_init(void)
+@@ -722,10 +722,20 @@ void __init board_prom_init(void)
/* dump cfe version */
cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
source "arch/mips/bcm63xx/boards/Kconfig"
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -717,7 +717,7 @@ void __init board_prom_init(void)
+@@ -712,7 +712,7 @@ void __init board_prom_init(void)
/* read base address of boot chip select (0)
* 6328/6362 do not have MPI but boot from a fixed address
*/
select SYS_HAS_CPU_BMIPS4350
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -717,7 +717,7 @@ void __init board_prom_init(void)
+@@ -712,7 +712,7 @@ void __init board_prom_init(void)
/* read base address of boot chip select (0)
* 6328/6362 do not have MPI but boot from a fixed address
*/
* _REG relative to RSET_USBD
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -129,6 +129,15 @@ void __init board_early_setup(const stru
+@@ -126,6 +126,15 @@ void __init board_early_setup(const stru
}
bcm_gpio_writel(val, GPIO_MODE_REG);
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -42,6 +42,7 @@ struct board_info {
+@@ -41,6 +41,7 @@ struct board_info {
/* USB config */
struct bcm63xx_usbd_platform_data usbd;
#endif /* BCM63XX_DEV_USB_OHCI_H_ */
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -181,6 +181,7 @@ int __init board_register_devices(void)
+@@ -166,6 +166,8 @@ static struct platform_device bcm63xx_gp
+ */
+ int __init board_register_devices(void)
{
- int button_count = 0;
- int led_count = 0;
+ int usbh_ports = 0;
-
++
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -203,14 +204,21 @@ int __init board_register_devices(void)
+
+@@ -187,14 +189,21 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enetsw.mac_addr))
bcm63xx_enetsw_register(&board.enetsw);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -596,6 +596,7 @@ static struct board_info __initdata boar
+@@ -591,6 +591,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
+endmenu
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -706,7 +706,7 @@ static const struct board_info __initcon
+@@ -701,7 +701,7 @@ static const struct board_info __initcon
/*
* early init callback, read nvram data from flash and checksum it
*/
u8 *boot_addr, *cfe;
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -15,6 +15,8 @@
- #include <linux/gpio_keys.h>
+@@ -14,6 +14,8 @@
+ #include <linux/ssb/ssb.h>
#include <linux/spi/spi.h>
#include <asm/addrspace.h>
+#include <asm/bootinfo.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_uart.h>
-@@ -32,6 +34,8 @@
+@@ -31,6 +33,8 @@
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
+
#define PFX "board: "
- #define BCM963XX_KEYS_POLL_INTERVAL 20
-@@ -84,6 +88,15 @@ const char *board_get_name(void)
+ static struct board_info board;
+@@ -81,6 +85,15 @@ const char *board_get_name(void)
return board.name;
}
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -43,44 +43,6 @@
+@@ -40,44 +40,6 @@
static struct board_info board;
/*
* return board name for /proc/cpuinfo
*/
const char *board_get_name(void)
-@@ -195,6 +157,7 @@ int __init board_register_devices(void)
- int button_count = 0;
- int led_count = 0;
+@@ -180,6 +142,7 @@ static struct platform_device bcm63xx_gp
+ int __init board_register_devices(void)
+ {
int usbh_ports = 0;
+ u8 mac[ETH_ALEN];
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -239,15 +202,10 @@ int __init board_register_devices(void)
+@@ -224,15 +187,10 @@ int __init board_register_devices(void)
/* Generate MAC address for WLAN and register our SPROM,
* do this after registering enet devices
*/
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -157,7 +157,6 @@ int __init board_register_devices(void)
- int button_count = 0;
- int led_count = 0;
+@@ -142,7 +142,6 @@ static struct platform_device bcm63xx_gp
+ int __init board_register_devices(void)
+ {
int usbh_ports = 0;
- u8 mac[ETH_ALEN];
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -203,8 +202,8 @@ int __init board_register_devices(void)
+@@ -188,8 +187,8 @@ int __init board_register_devices(void)
* do this after registering enet devices
*/
#endif
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -8,6 +8,7 @@
+@@ -7,6 +7,7 @@
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_usb_usbd.h>
#include <bcm63xx_dev_dsp.h>
/*
* flash mapping
-@@ -59,6 +60,9 @@ struct board_info {
+@@ -55,6 +56,9 @@ struct board_info {
/* External PHY reset GPIO flags from gpio.h */
unsigned long ephy_reset_gpio_flags;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -74,6 +74,7 @@ static struct board_info __initdata boar
+@@ -69,6 +69,7 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_pci = 1,
.has_usbd = 0,
.usbd = {
.use_fullspeed = 0,
-@@ -223,6 +224,7 @@ static struct board_info __initdata boar
+@@ -218,6 +219,7 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -268,6 +270,7 @@ static struct board_info __initdata boar
+@@ -263,6 +265,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -328,6 +331,7 @@ static struct board_info __initdata boar
+@@ -323,6 +326,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -382,6 +386,7 @@ static struct board_info __initdata boar
+@@ -377,6 +381,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -440,6 +445,7 @@ static struct board_info __initdata boar
+@@ -435,6 +440,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -463,6 +469,7 @@ static struct board_info __initdata boar
+@@ -458,6 +464,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -481,6 +488,7 @@ static struct board_info __initdata boar
+@@ -476,6 +483,7 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_pci = 1,
.has_ohci0 = 1,
.has_enet0 = 1,
-@@ -503,6 +511,7 @@ static struct board_info __initdata boar
+@@ -498,6 +506,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -529,6 +538,7 @@ static struct board_info __initdata boar
+@@ -524,6 +533,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -581,6 +591,7 @@ static struct board_info __initdata boar
+@@ -576,6 +586,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -652,6 +663,7 @@ static struct board_info __initdata boar
+@@ -647,6 +658,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.has_phy = 1,
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -202,8 +202,9 @@ int __init board_register_devices(void)
+@@ -187,8 +187,9 @@ int __init board_register_devices(void)
* do this after registering enet devices
*/
bcm63xx_spi_register();
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -35,6 +35,7 @@ struct board_info {
+@@ -34,6 +34,7 @@ struct board_info {
unsigned int has_dsp:1;
unsigned int has_uart0:1;
unsigned int has_uart1:1;
select SSB
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -10,6 +10,8 @@
+@@ -10,12 +10,15 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/string.h>
+#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/ssb/ssb.h>
- #include <linux/gpio_keys.h>
-@@ -17,6 +19,7 @@
+ #include <linux/spi/spi.h>
#include <asm/addrspace.h>
#include <asm/bootinfo.h>
#include <asm/fw/cfe/cfe_api.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_uart.h>
-@@ -129,8 +132,23 @@ void __init board_setup(void)
+@@ -126,8 +129,23 @@ void __init board_setup(void)
/* make sure we're running on expected cpu */
if (bcm63xx_get_cpu_id() != board.expected_cpu_id)
panic("unexpected CPU for bcm963xx board");
static struct gpio_led_platform_data bcm63xx_led_data;
static struct platform_device bcm63xx_gpio_leds = {
-@@ -149,6 +167,13 @@ static struct platform_device bcm63xx_gp
- .dev.platform_data = &bcm63xx_gpio_keys_data,
+@@ -136,6 +154,13 @@ static struct platform_device bcm63xx_gp
+ .dev.platform_data = &bcm63xx_led_data,
};
+#if CONFIG_OF
/*
* third stage init callback, register all board devices.
*/
-@@ -158,6 +183,15 @@ int __init board_register_devices(void)
- int led_count = 0;
+@@ -143,6 +168,15 @@ int __init board_register_devices(void)
+ {
int usbh_ports = 0;
+#if CONFIG_OF
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -715,6 +715,10 @@ static const struct board_info __initcon
+@@ -710,6 +710,10 @@ static const struct board_info __initcon
#endif
};
/*
* early init callback, read nvram data from flash and checksum it
*/
-@@ -726,6 +730,7 @@ void __init board_bcm963xx_init(void)
+@@ -721,6 +725,7 @@ void __init board_bcm963xx_init(void)
char *board_name = NULL;
u32 val;
struct bcm_hcs *hcs;
/* read base address of boot chip select (0)
* 6328/6362 do not have MPI but boot from a fixed address
-@@ -765,6 +770,16 @@ void __init board_bcm963xx_init(void)
+@@ -760,6 +765,16 @@ void __init board_bcm963xx_init(void)
} else {
board_name = bcm63xx_nvram_get_name();
}
if (strncmp(board_name, bcm963xx_boards[i]->name, 16))
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -281,3 +281,21 @@ int __init board_register_devices(void)
+@@ -249,3 +249,21 @@ int __init board_register_devices(void)
return 0;
}
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -716,6 +716,48 @@ static const struct board_info __initcon
+@@ -711,6 +711,48 @@ static const struct board_info __initcon
};
static struct of_device_id const bcm963xx_boards_dt[] = {
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -147,6 +147,18 @@ void __init device_tree_init(void)
+@@ -144,6 +144,18 @@ void __init device_tree_init(void)
unflatten_and_copy_device_tree();
}
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -204,6 +204,8 @@ int __init board_register_devices(void)
+@@ -189,6 +189,8 @@ int __init board_register_devices(void)
}
#endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -59,7 +59,7 @@ static struct board_info __initdata boar
+@@ -54,7 +54,7 @@ static struct board_info __initdata boar
},
.ephy_reset_gpio = 36,
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -278,9 +278,10 @@ int __init board_register_devices(void)
- platform_device_register(&bcm63xx_gpio_leds);
- }
+@@ -257,9 +257,10 @@ int __init board_register_devices(void)
+
+ platform_device_register(&bcm63xx_gpio_leds);
- if (board.ephy_reset_gpio && board.ephy_reset_gpio_flags)
- gpio_request_one(board.ephy_reset_gpio,
+ board.ephy_reset_gpio_flags);
+ }
- /* count number of BUTTONs defined by this device */
- while (button_count < ARRAY_SIZE(board.buttons) && board.buttons[button_count].desc)
+ return 0;
+ }
--- a/arch/mips/bcm63xx/gpio.c
+++ b/arch/mips/bcm63xx/gpio.c
@@ -8,15 +8,24 @@
{
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -4,6 +4,7 @@
+@@ -3,6 +3,7 @@
+
#include <linux/types.h>
#include <linux/gpio.h>
- #include <linux/gpio_keys.h>
+#include <linux/gpio/machine.h>
#include <linux/leds.h>
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_usb_usbd.h>
-@@ -58,8 +59,8 @@ struct board_info {
+@@ -54,8 +55,8 @@ struct board_info {
/* External PHY reset GPIO */
unsigned int ephy_reset_gpio;
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -104,6 +104,8 @@ void __init board_early_setup(const stru
+@@ -101,6 +101,8 @@ void __init board_early_setup(const stru
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G3_EXT_MII |
GPIO_MODE_6348_G0_EXT_MII;
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -36,6 +36,7 @@
+@@ -35,6 +35,7 @@
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
#include "board_common.h"
-@@ -196,6 +197,7 @@ int __init board_register_devices(void)
- int button_count = 0;
- int led_count = 0;
+@@ -181,6 +182,7 @@ static struct of_device_id of_ids[] = {
+ int __init board_register_devices(void)
+ {
int usbh_ports = 0;
+ int i;
#if CONFIG_OF
if (of_have_populated_dt()) {
-@@ -296,6 +298,10 @@ int __init board_register_devices(void)
- platform_device_register(&bcm63xx_gpio_keys_device);
+@@ -264,6 +266,10 @@ int __init board_register_devices(void)
+ board.ephy_reset_gpio_flags);
}
+ /* register any fixups */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -10,6 +10,7 @@
+@@ -9,6 +9,7 @@
#include <bcm63xx_dev_usb_usbd.h>
#include <bcm63xx_dev_dsp.h>
#include <bcm63xx_fallback_sprom.h>
/*
* flash mapping
-@@ -17,6 +18,11 @@
+@@ -16,6 +17,11 @@
#define BCM963XX_CFE_VERSION_OFFSET 0x570
#define BCM963XX_NVRAM_OFFSET 0x580
/*
* board definition
*/
-@@ -37,6 +43,10 @@ struct board_info {
+@@ -36,6 +42,10 @@ struct board_info {
unsigned int has_uart0:1;
unsigned int has_uart1:1;
unsigned int use_fallback_sprom:1;
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -269,7 +269,7 @@ int __init board_register_devices(void)
+@@ -254,7 +254,7 @@ int __init board_register_devices(void)
if (board.num_spis)
spi_register_board_info(board.spis, board.num_spis);
- bcm63xx_flash_register();
+ bcm63xx_flash_register(board.has_caldata, board.caldata);
- /* count number of LEDs defined by this device */
- while (led_count < ARRAY_SIZE(board.leds) && board.leds[led_count].name)
+ bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);
+ bcm63xx_led_data.leds = board.leds;
--- a/arch/mips/bcm63xx/dev-flash.c
+++ b/arch/mips/bcm63xx/dev-flash.c
@@ -38,12 +38,15 @@ static struct mtd_partition mtd_partitio
#endif /* _PCI_ATH9K_FIXUP */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -21,6 +21,7 @@
+@@ -20,6 +20,7 @@
struct ath9k_caldata {
unsigned int slot;
u32 caldata_offset;
return;
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -300,7 +300,8 @@ int __init board_register_devices(void)
+@@ -268,7 +268,8 @@ int __init board_register_devices(void)
/* register any fixups */
for (i = 0; i < board.has_caldata; i++)
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -301,7 +301,7 @@ int __init board_register_devices(void)
+@@ -269,7 +269,7 @@ int __init board_register_devices(void)
/* register any fixups */
for (i = 0; i < board.has_caldata; i++)
pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
return;
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -22,6 +22,7 @@ struct ath9k_caldata {
+@@ -21,6 +21,7 @@ struct ath9k_caldata {
unsigned int slot;
u32 caldata_offset;
unsigned int endian_check:1;
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -37,6 +37,7 @@
+@@ -36,6 +36,7 @@
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
#include <pci_ath9k_fixup.h>
#include "board_common.h"
-@@ -299,9 +300,19 @@ int __init board_register_devices(void)
+@@ -267,9 +268,19 @@ int __init board_register_devices(void)
}
/* register any fixups */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -11,6 +11,7 @@
+@@ -10,6 +10,7 @@
#include <bcm63xx_dev_dsp.h>
#include <bcm63xx_fallback_sprom.h>
#include <pci_ath9k_fixup.h>
/*
* flash mapping
-@@ -18,11 +19,15 @@
+@@ -17,11 +18,15 @@
#define BCM963XX_CFE_VERSION_OFFSET 0x570
#define BCM963XX_NVRAM_OFFSET 0x580
};
/*
-@@ -48,7 +53,7 @@ struct board_info {
+@@ -47,7 +52,7 @@ struct board_info {
unsigned int has_caldata:2;
/* wifi calibration data config */
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -123,6 +123,8 @@ static struct board_info __initdata boar
+@@ -118,6 +118,8 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -166,6 +168,8 @@ static struct board_info __initdata boar
+@@ -161,6 +163,8 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_enet0 = 1,
.enet0 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -277,6 +281,8 @@ static struct board_info __initdata boar
+@@ -272,6 +276,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -339,6 +345,8 @@ static struct board_info __initdata boar
+@@ -334,6 +340,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -393,6 +401,8 @@ static struct board_info __initdata boar
+@@ -388,6 +396,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -453,6 +463,8 @@ static struct board_info __initdata boar
+@@ -448,6 +458,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -476,6 +488,8 @@ static struct board_info __initdata boar
+@@ -471,6 +483,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -495,6 +509,8 @@ static struct board_info __initdata boar
+@@ -490,6 +504,8 @@ static struct board_info __initdata boar
.has_enet1 = 1,
.enet0 = {
.has_phy = 1,
.use_internal_phy = 1,
},
.enet1 = {
-@@ -518,6 +534,8 @@ static struct board_info __initdata boar
+@@ -513,6 +529,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -546,6 +564,8 @@ static struct board_info __initdata boar
+@@ -541,6 +559,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -599,6 +619,8 @@ static struct board_info __initdata boar
+@@ -594,6 +614,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -648,6 +670,8 @@ static struct board_info __initdata boar
+@@ -643,6 +665,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -671,6 +695,8 @@ static struct board_info __initdata boar
+@@ -666,6 +690,8 @@ static struct board_info __initdata boar
},
.enet1 = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -61,7 +61,7 @@ static struct board_info __initdata boar
+@@ -56,7 +56,7 @@ static struct board_info __initdata boar
.ephy_reset_gpio = 36,
.ephy_reset_gpio_flags = GPIO_ACTIVE_LOW,
};
/*
* known 6328 boards
-@@ -110,7 +110,7 @@ static struct board_info __initdata boar
+@@ -105,7 +105,7 @@ static struct board_info __initdata boar
},
},
};
/*
* known 6338 boards
-@@ -203,7 +203,7 @@ static struct board_info __initdata boar
+@@ -198,7 +198,7 @@ static struct board_info __initdata boar
},
},
};
/*
* known 6345 boards
-@@ -215,7 +215,7 @@ static struct board_info __initdata boar
+@@ -210,7 +210,7 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
/*
* known 6348 boards
-@@ -542,7 +542,7 @@ static struct board_info __initdata boar
+@@ -537,7 +537,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
/*
* known 6358 boards
-@@ -703,7 +703,7 @@ static struct board_info __initdata boar
+@@ -698,7 +698,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
-@@ -542,6 +542,22 @@ static struct board_info __initdata boar
+@@ -537,6 +537,22 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -731,6 +747,7 @@ static const struct board_info __initcon
+@@ -726,6 +742,7 @@ static const struct board_info __initcon
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -762,6 +779,7 @@ static struct of_device_id const bcm963x
+@@ -757,6 +774,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
{ .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -719,6 +719,62 @@ static struct board_info __initdata boar
+@@ -714,6 +714,62 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -755,6 +811,8 @@ static const struct board_info __initcon
+@@ -750,6 +806,8 @@ static const struct board_info __initcon
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
#endif
};
-@@ -796,6 +854,8 @@ static struct of_device_id const bcm963x
+@@ -791,6 +849,8 @@ static struct of_device_id const bcm963x
{ .compatible = "pirelli,a226m", .data = &board_DWVS0, },
{ .compatible = "pirelli,a226m-fwb", .data = &board_DWVS0, },
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -203,6 +203,20 @@ static struct board_info __initdata boar
+@@ -198,6 +198,20 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -790,6 +804,7 @@ static const struct board_info __initcon
+@@ -785,6 +799,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
-@@ -827,6 +842,7 @@ static struct of_device_id const bcm963x
+@@ -822,6 +837,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6338
{ .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
{ .compatible = "brcm,bcm96338w", .data = &board_96338w, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -685,6 +685,26 @@ static struct board_info __initdata boar
+@@ -680,6 +680,26 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
-@@ -825,6 +845,7 @@ static const struct board_info __initcon
+@@ -820,6 +840,7 @@ static const struct board_info __initcon
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
-@@ -872,6 +893,7 @@ static struct of_device_id const bcm963x
+@@ -867,6 +888,7 @@ static struct of_device_id const bcm963x
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
{ .compatible = "sfr,nb4-ser-r0", .data = &board_nb4_ser_r0, },
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -754,6 +754,23 @@ static struct board_info __initdata boar
+@@ -749,6 +749,23 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
static struct board_info __initdata board_nb4_ser_r0 = {
.name = "NB4-SER-r0",
.expected_cpu_id = 0x6358,
-@@ -847,6 +864,7 @@ static const struct board_info __initcon
+@@ -842,6 +859,7 @@ static const struct board_info __initcon
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
-@@ -886,6 +904,7 @@ static struct of_device_id const bcm963x
+@@ -881,6 +899,7 @@ static struct of_device_id const bcm963x
{ .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
{ .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -572,6 +572,45 @@ static struct board_info __initdata boar
+@@ -567,6 +567,45 @@ static struct board_info __initdata boar
.force_duplex_full = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -856,6 +895,7 @@ static const struct board_info __initcon
+@@ -851,6 +890,7 @@ static const struct board_info __initcon
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -897,6 +937,7 @@ static struct of_device_id const bcm963x
+@@ -892,6 +932,7 @@ static struct of_device_id const bcm963x
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -461,6 +461,66 @@ static struct board_info __initdata boar
+@@ -456,6 +456,66 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
-@@ -888,6 +948,8 @@ static const struct board_info __initcon
+@@ -883,6 +943,8 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
-@@ -938,6 +1000,8 @@ static struct of_device_id const bcm963x
+@@ -933,6 +995,8 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
{ .compatible = "t-com,spw500v", .data = &board_spw500v, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -671,6 +671,40 @@ static struct board_info __initdata boar
+@@ -666,6 +666,40 @@ static struct board_info __initdata boar
.num_board_fixups = ARRAY_SIZE(spw500v_fixups),
},
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -958,6 +992,7 @@ static const struct board_info __initcon
+@@ -953,6 +987,7 @@ static const struct board_info __initcon
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1002,6 +1037,7 @@ static struct of_device_id const bcm963x
+@@ -997,6 +1032,7 @@ static struct of_device_id const bcm963x
{ .compatible = "t-com,spw500v", .data = &board_spw500v, },
{ .compatible = "tecom,gw6000", .data = &board_gw6000, },
{ .compatible = "tecom,gw6200", .data = &board_gw6200, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -959,6 +959,34 @@ static struct board_info __initdata boar
+@@ -954,6 +954,34 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
.num_usbh_ports = 2,
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1004,6 +1032,7 @@ static const struct board_info __initcon
+@@ -999,6 +1027,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
};
-@@ -1047,6 +1076,7 @@ static struct of_device_id const bcm963x
+@@ -1042,6 +1071,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -217,6 +217,21 @@ static struct board_info __initdata boar
+@@ -212,6 +212,21 @@ static struct board_info __initdata boar
.force_duplex_full = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -1003,6 +1018,7 @@ static const struct board_info __initcon
+@@ -998,6 +1013,7 @@ static const struct board_info __initcon
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
-@@ -1047,6 +1063,7 @@ static struct of_device_id const bcm963x
+@@ -1042,6 +1058,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6338
{ .compatible = "brcm,bcm96338gw", .data = &board_96338gw, },
{ .compatible = "brcm,bcm96338w", .data = &board_96338w, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1002,6 +1002,21 @@ static struct board_info __initdata boar
+@@ -997,6 +997,21 @@ static struct board_info __initdata boar
.pci_dev = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1049,6 +1064,7 @@ static const struct board_info __initcon
+@@ -1044,6 +1059,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_HW553,
#endif
};
-@@ -1100,6 +1116,7 @@ static struct of_device_id const bcm963x
+@@ -1095,6 +1111,7 @@ static struct of_device_id const bcm963x
{ .compatible = "pirelli,agpf-s0", .data = &board_AGPFS0, },
{ .compatible = "sfr,nb4-ser-r0", .data = &board_nb4_ser_r0, },
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -720,6 +720,27 @@ static struct board_info __initdata boar
+@@ -715,6 +715,27 @@ static struct board_info __initdata boar
.ext_irq = 2,
},
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -1052,6 +1073,7 @@ static const struct board_info __initcon
+@@ -1047,6 +1068,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1091,6 +1113,7 @@ static struct of_device_id const bcm963x
+@@ -1086,6 +1108,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
{ .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
{ .compatible = "d-link,dsl-2640b-b", .data = &board_96348_D4PW, },
{ .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
-@@ -1150,6 +1173,22 @@ void __init board_bcm963xx_init(void)
+@@ -1145,6 +1168,22 @@ void __init board_bcm963xx_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
-@@ -415,6 +415,25 @@ static struct board_info __initdata boar
+@@ -410,6 +410,25 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1074,6 +1093,7 @@ static const struct board_info __initcon
+@@ -1069,6 +1088,7 @@ static const struct board_info __initcon
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1113,6 +1133,7 @@ static struct of_device_id const bcm963x
+@@ -1108,6 +1128,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-10", .data = &board_96348gw_10, },
{ .compatible = "brcm,bcm96348gw-11", .data = &board_96348gw_11, },
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
+obj-$(CONFIG_BOARD_LIVEBOX) += board_livebox.o
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -61,7 +61,7 @@ void __init board_prom_init(void)
+@@ -58,7 +58,7 @@ void __init board_prom_init(void)
if (fw_arg3 == CFE_EPTSEAL)
board_bcm963xx_init();
else
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -434,6 +434,34 @@ static struct board_info __initdata boar
+@@ -429,6 +429,34 @@ static struct board_info __initdata boar
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1094,6 +1122,7 @@ static const struct board_info __initcon
+@@ -1089,6 +1117,7 @@ static const struct board_info __initcon
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1135,6 +1164,8 @@ static struct of_device_id const bcm963x
+@@ -1130,6 +1159,8 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96348gw-a", .data = &board_96348gw_a, },
{ .compatible = "bt,v2110", .data = &board_V2110, },
{ .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -950,6 +950,8 @@ static struct board_info __initdata boar
+@@ -945,6 +945,8 @@ static struct board_info __initdata boar
.name = "DWV-S0",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -968,6 +970,7 @@ static struct board_info __initdata boar
+@@ -963,6 +965,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
-@@ -462,6 +462,31 @@ static struct board_info __initdata boar
+@@ -457,6 +457,31 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -1126,6 +1151,7 @@ static const struct board_info __initcon
+@@ -1121,6 +1146,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1168,6 +1194,7 @@ static struct of_device_id const bcm963x
+@@ -1163,6 +1189,7 @@ static struct of_device_id const bcm963x
{ .compatible = "bt,v2110", .data = &board_V2110, },
{ .compatible = "bt,v2500v-bb", .data = &board_V2500V_BB, },
{ .compatible = "comtrend,ct-536+", .data = &board_ct536_ct5621, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -639,6 +639,7 @@ static struct board_info __initdata boar
+@@ -634,6 +634,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
-@@ -433,6 +433,27 @@ static struct board_info __initdata boar
+@@ -428,6 +428,27 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_ct536_ct5621 = {
.name = "CT536_CT5621",
-@@ -1153,6 +1174,7 @@ static const struct board_info __initcon
+@@ -1148,6 +1169,7 @@ static const struct board_info __initcon
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1205,6 +1227,7 @@ static struct of_device_id const bcm963x
+@@ -1200,6 +1222,7 @@ static struct of_device_id const bcm963x
{ .compatible = "t-com,spw500v", .data = &board_spw500v, },
{ .compatible = "tecom,gw6000", .data = &board_gw6000, },
{ .compatible = "tecom,gw6200", .data = &board_gw6200, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1138,6 +1138,59 @@ static struct board_info __initdata boar
+@@ -1133,6 +1133,59 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1189,6 +1242,10 @@ static const struct board_info __initcon
+@@ -1184,6 +1237,10 @@ static const struct board_info __initcon
&board_HW553,
&board_spw303v,
#endif
};
static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -1249,6 +1306,7 @@ static struct of_device_id const bcm963x
+@@ -1244,6 +1301,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
#endif
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -88,12 +88,25 @@ void __init board_early_setup(const stru
+@@ -85,12 +85,25 @@ void __init board_early_setup(const stru
bcm63xx_pci_enabled = 1;
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
-@@ -1188,6 +1188,46 @@ static struct board_info __initdata boar
+@@ -1183,6 +1183,46 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -1245,6 +1285,7 @@ static const struct board_info __initcon
+@@ -1240,6 +1280,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
#endif
};
-@@ -1306,6 +1347,7 @@ static struct of_device_id const bcm963x
+@@ -1301,6 +1342,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -109,6 +109,33 @@ static struct board_info __initdata boar
+@@ -104,6 +104,33 @@ 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
-@@ -137,6 +137,41 @@ static struct board_info __initdata boar
+@@ -132,6 +132,41 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -1266,6 +1301,7 @@ static const struct board_info __initcon
+@@ -1261,6 +1296,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1322,6 +1358,7 @@ static struct of_device_id const bcm963x
+@@ -1317,6 +1353,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -172,6 +172,51 @@ static struct board_info __initdata boar
+@@ -167,6 +167,51 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -1302,6 +1347,7 @@ static const struct board_info __initcon
+@@ -1297,6 +1342,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1360,6 +1406,7 @@ static struct of_device_id const bcm963x
+@@ -1355,6 +1401,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6328
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -833,6 +833,25 @@ static struct board_info __initdata boar
+@@ -828,6 +828,25 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
static struct board_info __initdata board_96348_D4PW = {
.name = "D-4P-W",
.expected_cpu_id = 0x6348,
-@@ -1377,6 +1396,7 @@ static const struct board_info __initcon
+@@ -1372,6 +1391,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1432,6 +1452,7 @@ static struct of_device_id const bcm963x
+@@ -1427,6 +1447,7 @@ static struct of_device_id const bcm963x
{ .compatible = "davolink,dv-201amr", .data = &board_DV201AMR, },
{ .compatible = "dynalink,rta1025w", .data = &board_rta1025w_16, },
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1219,6 +1219,31 @@ static struct board_info __initdata boar
+@@ -1214,6 +1214,31 @@ static struct board_info __initdata boar
.num_usbh_ports = 2,
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -1408,6 +1433,7 @@ static const struct board_info __initcon
+@@ -1403,6 +1428,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_HW553,
&board_spw303v,
#endif
-@@ -1466,6 +1492,7 @@ static struct of_device_id const bcm963x
+@@ -1461,6 +1487,7 @@ static struct of_device_id const bcm963x
{ .compatible = "alcatel,rg100a", .data = &board_96358vw2, },
{ .compatible = "brcm,bcm96358vw", .data = &board_96358vw, },
{ .compatible = "brcm,bcm96358vw2", .data = &board_96358vw2, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1286,6 +1286,36 @@ static struct board_info __initdata boar
+@@ -1281,6 +1281,36 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1436,6 +1466,7 @@ static const struct board_info __initcon
+@@ -1431,6 +1461,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1495,6 +1526,7 @@ static struct of_device_id const bcm963x
+@@ -1490,6 +1521,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,ct-6373", .data = &board_ct6373_1, },
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -12,6 +12,8 @@
+@@ -10,6 +10,8 @@
+ #include <linux/init.h>
+ #include <linux/kernel.h>
#include <linux/string.h>
- #include <linux/gpio_keys.h>
- #include <linux/input.h>
+#include <linux/platform_device.h>
+#include <linux/rtl8367.h>
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -31,6 +33,9 @@
- #define BCM963XX_KEYS_POLL_INTERVAL 20
- #define BCM963XX_KEYS_DEBOUNCE_INTERVAL (BCM963XX_KEYS_POLL_INTERVAL * 3)
+@@ -26,6 +28,9 @@
+
+ #define HCS_OFFSET_128K 0x20000
+#define NB6_GPIO_RTL8367_SDA 18
+#define NB6_GPIO_RTL8367_SCK 20
/*
* known 3368 boards
*/
-@@ -1318,6 +1323,69 @@ static struct board_info __initdata boar
+@@ -1313,6 +1318,69 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* known 6368 boards
*/
-@@ -1469,6 +1537,10 @@ static const struct board_info __initcon
+@@ -1464,6 +1532,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -1537,6 +1609,9 @@ static struct of_device_id const bcm963x
+@@ -1532,6 +1604,9 @@ static struct of_device_id const bcm963x
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -768,6 +768,23 @@ static struct board_info __initdata boar
+@@ -763,6 +763,23 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -1508,6 +1525,7 @@ static const struct board_info __initcon
+@@ -1503,6 +1520,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
-@@ -1583,6 +1601,7 @@ static struct of_device_id const bcm963x
+@@ -1578,6 +1596,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,dg834gtpn", .data = &board_96348gw_10, },
{ .compatible = "netgear,dg834g-v4", .data = &board_96348W3, },
{ .compatible = "sagem,f@st2404", .data = &board_FAST2404, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -178,6 +178,50 @@ static struct board_info __initdata boar
+@@ -173,6 +173,50 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -1506,6 +1550,7 @@ static const struct board_info __initcon
+@@ -1501,6 +1545,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
&board_dsl_274xb_f1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
-@@ -1571,6 +1616,7 @@ static struct of_device_id const bcm963x
+@@ -1566,6 +1611,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -143,6 +143,79 @@ static struct board_info __initdata boar
+@@ -138,6 +138,79 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
-@@ -1549,6 +1622,7 @@ static const struct board_info __initcon
+@@ -1544,6 +1617,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
-@@ -1619,6 +1693,7 @@ static struct of_device_id const bcm963x
+@@ -1614,6 +1688,7 @@ static struct of_device_id const bcm963x
{ .compatible = "adb,a4001n1", .data = &board_A4001N1, },
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -143,6 +143,61 @@ static struct board_info __initdata boar
+@@ -138,6 +138,61 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata ar5387un_fixups[] = {
{ .offset = 2, .value = 0x05bb },
{ .offset = 65, .value = 0x1204 },
-@@ -1622,6 +1677,7 @@ static const struct board_info __initcon
+@@ -1617,6 +1672,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
-@@ -1693,6 +1749,7 @@ static struct of_device_id const bcm963x
+@@ -1688,6 +1744,7 @@ static struct of_device_id const bcm963x
{ .compatible = "adb,a4001n1", .data = &board_A4001N1, },
{ .compatible = "brcm,bcm963281TAN", .data = &board_963281TAN, },
{ .compatible = "brcm,bcm96328avng", .data = &board_96328avng, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -528,6 +528,22 @@ static struct board_info __initdata boar
+@@ -523,6 +523,22 @@ static struct board_info __initdata boar
.has_uart0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -1691,6 +1707,7 @@ static const struct board_info __initcon
+@@ -1686,6 +1702,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
-@@ -1761,6 +1778,7 @@ static struct of_device_id const bcm963x
+@@ -1756,6 +1773,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -12,6 +12,7 @@
+@@ -10,6 +10,7 @@
+ #include <linux/init.h>
+ #include <linux/kernel.h>
#include <linux/string.h>
- #include <linux/gpio_keys.h>
- #include <linux/input.h>
+#include <linux/pci_ids.h>
#include <linux/platform_device.h>
#include <linux/rtl8367.h>
#include <asm/addrspace.h>
-@@ -1482,6 +1483,93 @@ static struct board_info __initdata boar
+@@ -1477,6 +1478,93 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -1743,6 +1831,9 @@ static const struct board_info __initcon
+@@ -1738,6 +1826,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -1815,6 +1906,9 @@ static struct of_device_id const bcm963x
+@@ -1810,6 +1901,9 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
{ .compatible = "huawei,hg553", .data = &board_HW553, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -545,6 +545,27 @@ static struct board_info __initdata boar
+@@ -540,6 +540,27 @@ static struct board_info __initdata boar
.force_duplex_full = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -1796,6 +1817,7 @@ static const struct board_info __initcon
+@@ -1791,6 +1812,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
-@@ -1870,6 +1892,7 @@ static struct of_device_id const bcm963x
+@@ -1865,6 +1887,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6345
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
{ .compatible = "dynalink,rta770bw", .data = &board_rta770bw, },
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -395,6 +395,44 @@ static struct board_info __initdata boar
+@@ -390,6 +390,44 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -1807,6 +1845,7 @@ static const struct board_info __initcon
+@@ -1802,6 +1840,7 @@ static const struct board_info __initcon
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1882,6 +1921,7 @@ static struct of_device_id const bcm963x
+@@ -1877,6 +1916,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, },
{ .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, },
{ .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1736,6 +1736,43 @@ static struct board_info __initdata boar
+@@ -1731,6 +1731,43 @@ static struct board_info __initdata boar
.devs = nb6_devices,
.num_devs = ARRAY_SIZE(nb6_devices),
};
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
-@@ -1901,6 +1938,7 @@ static const struct board_info __initcon
+@@ -1896,6 +1933,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6362
&board_nb6,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1982,6 +2020,7 @@ static struct of_device_id const bcm963x
+@@ -1977,6 +2015,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6362
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -56,14 +56,6 @@ static struct board_info __initdata boar
+@@ -51,14 +51,6 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.ephy_reset_gpio = 36,
.ephy_reset_gpio_flags = GPIO_ACTIVE_LOW,
};
-@@ -87,35 +79,6 @@ static struct board_info __initdata boar
+@@ -82,35 +74,6 @@ static struct board_info __initdata boar
.port_no = 0,
},
.has_enetsw = 1,
.enetsw = {
-@@ -453,35 +416,6 @@ static struct board_info __initdata boar
+@@ -448,35 +411,6 @@ static struct board_info __initdata boar
},
.has_ohci0 = 1,
};
static struct board_info __initdata board_96338w = {
-@@ -496,35 +430,6 @@ static struct board_info __initdata boar
+@@ -491,35 +425,6 @@ static struct board_info __initdata boar
.force_speed_100 = 1,
.force_duplex_full = 1,
},
};
static struct board_info __initdata board_96338w2_e7t = {
-@@ -623,36 +528,6 @@ static struct board_info __initdata boar
+@@ -618,36 +523,6 @@ static struct board_info __initdata boar
.has_phy = 1,
.use_internal_phy = 1,
},
};
static struct board_info __initdata board_96348gw_10 = {
-@@ -687,35 +562,6 @@ static struct board_info __initdata boar
+@@ -682,35 +557,6 @@ static struct board_info __initdata boar
.cs = 2,
.ext_irq = 2,
},
};
static struct board_info __initdata board_96348gw_11 = {
-@@ -744,35 +590,6 @@ static struct board_info __initdata boar
+@@ -739,35 +585,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
};
-@@ -898,35 +715,6 @@ static struct board_info __initdata boar
+@@ -893,35 +710,6 @@ static struct board_info __initdata boar
.ext_irq = 2,
.cs = 2,
},
};
static struct board_info __initdata board_gw6200 = {
-@@ -1263,33 +1051,6 @@ static struct board_info __initdata boar
+@@ -1258,33 +1046,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
};
static struct board_info __initdata board_96358vw2 = {
-@@ -1319,29 +1080,6 @@ static struct board_info __initdata boar
+@@ -1314,29 +1075,6 @@ static struct board_info __initdata boar
.has_pccard = 1,
.has_ehci0 = 1,
.num_usbh_ports = 2,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -62,6 +62,56 @@ static struct board_info __initdata boar
+@@ -57,6 +57,56 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_3368 */
/*
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -1613,6 +1663,9 @@ static const struct board_info __initcon
+@@ -1608,6 +1658,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5381u,
-@@ -1690,6 +1743,9 @@ static struct of_device_id const bcm963x
+@@ -1685,6 +1738,9 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_3368
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -109,6 +109,51 @@ static struct board_info __initdata boar
+@@ -104,6 +104,51 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -1665,6 +1710,7 @@ static const struct board_info __initcon
+@@ -1660,6 +1705,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -1745,6 +1791,7 @@ static struct of_device_id const bcm963x
+@@ -1740,6 +1786,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1702,6 +1702,52 @@ static struct board_info __initdata boar
+@@ -1697,6 +1697,52 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1782,6 +1828,9 @@ static const struct board_info __initcon
+@@ -1777,6 +1823,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
};
static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -1869,6 +1918,7 @@ static struct of_device_id const bcm963x
+@@ -1864,6 +1913,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
---
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -687,6 +687,22 @@ static struct board_info __initdata boar
+@@ -682,6 +682,22 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
-@@ -1799,6 +1815,7 @@ static const struct board_info __initcon
+@@ -1794,6 +1810,7 @@ static const struct board_info __initcon
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1863,6 +1880,7 @@ static struct of_device_id const bcm963x
+@@ -1858,6 +1875,7 @@ static struct of_device_id const bcm963x
{ .compatible = "dynalink,rta770w", .data = &board_rta770w, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1761,6 +1761,53 @@ static struct board_info __initdata boar
+@@ -1756,6 +1756,53 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -1847,6 +1894,7 @@ static const struct board_info __initcon
+@@ -1842,6 +1889,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
#endif
};
-@@ -1937,6 +1985,7 @@ static struct of_device_id const bcm963x
+@@ -1932,6 +1980,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
{ .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1721,6 +1721,66 @@ static struct board_info __initdata boar
+@@ -1716,6 +1716,66 @@ 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,
-@@ -1893,6 +1953,7 @@ static const struct board_info __initcon
+@@ -1888,6 +1948,7 @@ static const struct board_info __initcon
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
&board_vw6339gu,
#endif
-@@ -1984,6 +2045,7 @@ static struct of_device_id const bcm963x
+@@ -1979,6 +2040,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -14,7 +14,9 @@
- #include <linux/input.h>
+@@ -12,7 +12,9 @@
+ #include <linux/string.h>
#include <linux/pci_ids.h>
#include <linux/platform_device.h>
+#include <linux/platform_data/b53.h>
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -1715,6 +1717,65 @@ static struct board_info __initdata boar
+@@ -1710,6 +1712,65 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -1951,6 +2012,7 @@ static const struct board_info __initcon
+@@ -1946,6 +2007,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
-@@ -2043,6 +2105,7 @@ static struct of_device_id const bcm963x
+@@ -2038,6 +2100,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1718,6 +1718,60 @@ static struct board_info __initdata boar
+@@ -1713,6 +1713,60 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -2012,6 +2066,7 @@ static const struct board_info __initcon
+@@ -2007,6 +2061,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2105,6 +2160,7 @@ static struct of_device_id const bcm963x
+@@ -2100,6 +2155,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6368
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1772,6 +1772,60 @@ static struct board_info __initdata boar
+@@ -1767,6 +1767,60 @@ static struct board_info __initdata boar
},
};
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
-@@ -2067,6 +2121,7 @@ static const struct board_info __initcon
+@@ -2062,6 +2116,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2161,6 +2216,7 @@ static struct of_device_id const bcm963x
+@@ -2156,6 +2211,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1727,6 +1727,49 @@ static struct sprom_fixup __initdata vr3
+@@ -1722,6 +1722,49 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -2120,6 +2163,7 @@ static const struct board_info __initcon
+@@ -2115,6 +2158,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
-@@ -2218,6 +2262,7 @@ static struct of_device_id const bcm963x
+@@ -2213,6 +2257,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1365,6 +1365,37 @@ static struct board_info __initdata boar
+@@ -1360,6 +1360,37 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -2147,6 +2178,7 @@ static const struct board_info __initcon
+@@ -2142,6 +2173,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
&board_HW556_A,
&board_HW556_B,
-@@ -2239,6 +2271,7 @@ static struct of_device_id const bcm963x
+@@ -2234,6 +2266,7 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-274xb-c2", .data = &board_dsl_274xb_rev_c, },
{ .compatible = "d-link,dsl-2650u", .data = &board_96358vw2, },
{ .compatible = "d-link,dva-g3810bn/tl", .data = &board_DVAG3810BN, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -367,6 +367,50 @@ static struct board_info __initdata boar
+@@ -362,6 +362,50 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
-@@ -2129,6 +2173,7 @@ static const struct board_info __initcon
+@@ -2124,6 +2168,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
-@@ -2217,6 +2262,7 @@ static struct of_device_id const bcm963x
+@@ -2212,6 +2257,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -156,6 +156,75 @@ static struct board_info __initdata boar
+@@ -151,6 +151,75 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2167,6 +2236,7 @@ static const struct board_info __initcon
+@@ -2162,6 +2231,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -2260,6 +2330,7 @@ static struct of_device_id const bcm963x
+@@ -2255,6 +2325,7 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_6318
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1862,6 +1862,48 @@ static struct board_info __initdata boar
+@@ -1857,6 +1857,48 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2310,6 +2352,7 @@ static const struct board_info __initcon
+@@ -2305,6 +2347,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2412,6 +2455,7 @@ static struct of_device_id const bcm963x
+@@ -2407,6 +2450,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1478,6 +1478,32 @@ static struct board_info __initdata boar
+@@ -1473,6 +1473,32 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_HW520 = {
.name = "HW6358GW_B",
.expected_cpu_id = 0x6358,
-@@ -2335,6 +2361,7 @@ static const struct board_info __initcon
+@@ -2330,6 +2356,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW520,
&board_HW553,
&board_HW556_A,
-@@ -2444,6 +2471,7 @@ static struct of_device_id const bcm963x
+@@ -2439,6 +2466,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb4-fxc-r1", .data = &board_nb4_fxc_r1, },
{ .compatible = "t-com,spw303v", .data = &board_spw303v, },
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1930,6 +1930,53 @@ static struct board_info __initdata boar
+@@ -1925,6 +1925,53 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(DGND3700v1_3800B_spi_devices),
};
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2380,6 +2427,7 @@ static const struct board_info __initcon
+@@ -2375,6 +2422,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2483,6 +2531,7 @@ static struct of_device_id const bcm963x
+@@ -2478,6 +2526,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -225,6 +225,46 @@ static struct board_info __initdata boar
+@@ -220,6 +220,46 @@ static struct board_info __initdata boar
.num_board_fixups = ARRAY_SIZE(dsl2751b_e1_fixups),
},
};
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2352,6 +2392,7 @@ static const struct board_info __initcon
+@@ -2347,6 +2387,7 @@ static const struct board_info __initcon
&board_96318ref,
&board_96318ref_p300,
&board_dsl_2751b_d1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -2449,6 +2490,7 @@ static struct of_device_id const bcm963x
+@@ -2444,6 +2485,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96318ref", .data = &board_96318ref, },
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
{ .compatible = "d-link,dsl-275xb-d", .data = &board_dsl_2751b_d1, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2168,6 +2168,60 @@ static struct board_info __initdata boar
- },
+@@ -2163,6 +2163,60 @@ static struct board_info __initdata boar
+ },
};
-
+
+static struct sprom_fixup __initdata vr3026e_fixups[] = {
+ { .offset = 97, .value = 0xfeb3 },
+ { .offset = 98, .value = 0x1618 },
+};
+
static struct b53_platform_data WAP5813n_b53_pdata = {
- .alias = "eth0",
+ .alias = "eth0",
};
-@@ -2472,6 +2526,7 @@ static const struct board_info __initcon
- &board_P870HW51A_V2,
- &board_VR3025u,
- &board_VR3025un,
+@@ -2467,6 +2521,7 @@ static const struct board_info __initcon
+ &board_P870HW51A_V2,
+ &board_VR3025u,
+ &board_VR3025un,
+ &board_VR3026e,
- &board_WAP5813n,
+ &board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2572,6 +2627,7 @@ static struct of_device_id const bcm963x
- { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
- { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
- { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
+@@ -2567,6 +2622,7 @@ static struct of_device_id const bcm963x
+ { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
+ { .compatible = "comtrend,vr-3025u", .data = &board_VR3025u, },
+ { .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
+ { .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
- { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
- { .compatible = "huawei,hg655b", .data = &board_HG655b, },
- { .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, },
+ { .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
+ { .compatible = "huawei,hg655b", .data = &board_HG655b, },
+ { .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, },