There is no driver and it crashes the kernel, so just remove it.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
--- /dev/null
+From 51559154375fff4a94bbbc249fdd9248a80827b3 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Tue, 18 Dec 2018 10:19:02 +0100
+Subject: [PATCH] MIPS: BCM63XX: drop unused and broken DSP platform device
+
+Trying to register the DSP platform device results in a null pointer
+access:
+
+[ 0.124184] CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 804e305c, ra == 804e6f20
+[ 0.135208] Oops[#1]:
+[ 0.137514] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.87
+...
+[ 0.197117] epc : 804e305c bcm63xx_dsp_register+0x80/0xa4
+[ 0.202838] ra : 804e6f20 board_register_devices+0x258/0x390
+...
+
+This happens because it tries to copy the passed platform data over the
+platform_device's unpopulated platform_data.
+
+Since this code has been broken since its submission, no driver was ever
+submitted for it, and apparently nobody was using it, just remove it
+instead of trying to fix it.
+
+Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.")
+Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+---
+ arch/mips/bcm63xx/Makefile | 6 +--
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 20 --------
+ arch/mips/bcm63xx/dev-dsp.c | 56 ----------------------
+ .../include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h | 14 ------
+ .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 5 --
+ 5 files changed, 3 insertions(+), 98 deletions(-)
+ delete mode 100644 arch/mips/bcm63xx/dev-dsp.c
+ delete mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
+
+--- a/arch/mips/bcm63xx/Makefile
++++ b/arch/mips/bcm63xx/Makefile
+@@ -1,8 +1,8 @@
+ # SPDX-License-Identifier: GPL-2.0
+ obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
+- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
+- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
+- dev-wdt.o dev-usb-usbd.o
++ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
++ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
++ dev-usb-usbd.o
+ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
+
+ obj-y += boards/
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -23,7 +23,6 @@
+ #include <bcm63xx_nvram.h>
+ #include <bcm63xx_dev_pci.h>
+ #include <bcm63xx_dev_enet.h>
+-#include <bcm63xx_dev_dsp.h>
+ #include <bcm63xx_dev_flash.h>
+ #include <bcm63xx_dev_hsspi.h>
+ #include <bcm63xx_dev_pcmcia.h>
+@@ -289,14 +288,6 @@ static struct board_info __initdata boar
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+
+- .has_dsp = 1,
+- .dsp = {
+- .gpio_rst = 6,
+- .gpio_int = 34,
+- .cs = 2,
+- .ext_irq = 2,
+- },
+-
+ .leds = {
+ {
+ .name = "adsl-fail",
+@@ -401,14 +392,6 @@ static struct board_info __initdata boar
+
+ .has_ohci0 = 1,
+
+- .has_dsp = 1,
+- .dsp = {
+- .gpio_rst = 6,
+- .gpio_int = 34,
+- .ext_irq = 2,
+- .cs = 2,
+- },
+-
+ .leds = {
+ {
+ .name = "adsl-fail",
+@@ -898,9 +881,6 @@ int __init board_register_devices(void)
+ if (board.has_usbd)
+ bcm63xx_usbd_register(&board.usbd);
+
+- if (board.has_dsp)
+- bcm63xx_dsp_register(&board.dsp);
+-
+ /* Generate MAC address for WLAN and register our SPROM,
+ * do this after registering enet devices
+ */
+--- a/arch/mips/bcm63xx/dev-dsp.c
++++ /dev/null
+@@ -1,56 +0,0 @@
+-/*
+- * Broadcom BCM63xx VoIP DSP registration
+- *
+- * This file is subject to the terms and conditions of the GNU General Public
+- * License. See the file "COPYING" in the main directory of this archive
+- * for more details.
+- *
+- * Copyright (C) 2009 Florian Fainelli <florian@openwrt.org>
+- */
+-
+-#include <linux/init.h>
+-#include <linux/kernel.h>
+-#include <linux/platform_device.h>
+-
+-#include <bcm63xx_cpu.h>
+-#include <bcm63xx_dev_dsp.h>
+-#include <bcm63xx_regs.h>
+-#include <bcm63xx_io.h>
+-
+-static struct resource voip_dsp_resources[] = {
+- {
+- .start = -1, /* filled at runtime */
+- .end = -1, /* filled at runtime */
+- .flags = IORESOURCE_MEM,
+- },
+- {
+- .start = -1, /* filled at runtime */
+- .flags = IORESOURCE_IRQ,
+- },
+-};
+-
+-static struct platform_device bcm63xx_voip_dsp_device = {
+- .name = "bcm63xx-voip-dsp",
+- .id = -1,
+- .num_resources = ARRAY_SIZE(voip_dsp_resources),
+- .resource = voip_dsp_resources,
+-};
+-
+-int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd)
+-{
+- struct bcm63xx_dsp_platform_data *dpd;
+- u32 val;
+-
+- /* Get the memory window */
+- val = bcm_mpi_readl(MPI_CSBASE_REG(pd->cs - 1));
+- val &= MPI_CSBASE_BASE_MASK;
+- voip_dsp_resources[0].start = val;
+- voip_dsp_resources[0].end = val + 0xFFFFFFF;
+- voip_dsp_resources[1].start = pd->ext_irq;
+-
+- /* copy given platform data */
+- dpd = bcm63xx_voip_dsp_device.dev.platform_data;
+- memcpy(dpd, pd, sizeof (*pd));
+-
+- return platform_device_register(&bcm63xx_voip_dsp_device);
+-}
+--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
++++ /dev/null
+@@ -1,14 +0,0 @@
+-/* SPDX-License-Identifier: GPL-2.0 */
+-#ifndef __BCM63XX_DSP_H
+-#define __BCM63XX_DSP_H
+-
+-struct bcm63xx_dsp_platform_data {
+- unsigned gpio_rst;
+- unsigned gpio_int;
+- unsigned cs;
+- unsigned ext_irq;
+-};
+-
+-int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd);
+-
+-#endif /* __BCM63XX_DSP_H */
+--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+@@ -7,7 +7,6 @@
+ #include <linux/leds.h>
+ #include <bcm63xx_dev_enet.h>
+ #include <bcm63xx_dev_usb_usbd.h>
+-#include <bcm63xx_dev_dsp.h>
+
+ /*
+ * flash mapping
+@@ -31,7 +30,6 @@ struct board_info {
+ unsigned int has_ohci0:1;
+ unsigned int has_ehci0:1;
+ unsigned int has_usbd:1;
+- unsigned int has_dsp:1;
+ unsigned int has_uart0:1;
+ unsigned int has_uart1:1;
+
+@@ -43,9 +41,6 @@ struct board_info {
+ /* USB config */
+ struct bcm63xx_usbd_platform_data usbd;
+
+- /* DSP config */
+- struct bcm63xx_dsp_platform_data dsp;
+-
+ /* GPIO LEDs */
+ struct gpio_led leds[5];
+
+++ b/arch/mips/bcm63xx/Makefile
@@ -2,7 +2,7 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
-- dev-wdt.o dev-usb-usbd.o
-+ dev-wdt.o dev-usb-usbd.o usb-common.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
+- dev-usb-usbd.o
++ dev-usb-usbd.o usb-common.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
+++ b/arch/mips/bcm63xx/Makefile
@@ -2,7 +2,7 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
-- dev-wdt.o dev-usb-usbd.o usb-common.o
-+ dev-wdt.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
+- dev-usb-usbd.o usb-common.o
++ dev-usb-ohci.o dev-usb-usbd.o usb-common.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -28,6 +28,7 @@
+@@ -27,6 +27,7 @@
#include <bcm63xx_dev_hsspi.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
-@@ -898,6 +899,9 @@ int __init board_register_devices(void)
+@@ -881,6 +882,9 @@ int __init board_register_devices(void)
if (board.has_usbd)
bcm63xx_usbd_register(&board.usbd);
+ if (board.has_ohci0)
+ bcm63xx_ohci_register();
+
- if (board.has_dsp)
- bcm63xx_dsp_register(&board.dsp);
-
+ /* Generate MAC address for WLAN and register our SPROM,
+ * do this after registering enet devices
+ */
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
-@@ -2,7 +2,8 @@
+@@ -2,7 +2,7 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
-- dev-wdt.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o
-+ dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
-+ usb-common.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
+- dev-usb-ohci.o dev-usb-usbd.o usb-common.o
++ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -28,6 +28,7 @@
+@@ -27,6 +27,7 @@
#include <bcm63xx_dev_hsspi.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
-@@ -899,6 +900,9 @@ int __init board_register_devices(void)
+@@ -882,6 +883,9 @@ int __init board_register_devices(void)
if (board.has_usbd)
bcm63xx_usbd_register(&board.usbd);
obj-$(CONFIG_BOARD_BCM963XX) += board_bcm963xx.o
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -12,34 +12,21 @@
+@@ -12,33 +12,21 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <bcm63xx_nvram.h>
-#include <bcm63xx_dev_pci.h>
-#include <bcm63xx_dev_enet.h>
--#include <bcm63xx_dev_dsp.h>
-#include <bcm63xx_dev_flash.h>
-#include <bcm63xx_dev_hsspi.h>
-#include <bcm63xx_dev_pcmcia.h>
/*
* known 3368 boards
*/
-@@ -712,52 +699,6 @@ static const struct board_info __initcon
+@@ -695,52 +683,6 @@ static const struct board_info __initcon
};
/*
* early init callback, read nvram data from flash and checksum it
*/
void __init board_prom_init(void)
-@@ -802,140 +743,15 @@ void __init board_prom_init(void)
+@@ -785,137 +727,15 @@ void __init board_prom_init(void)
if (strncmp(board_name, bcm963xx_boards[i]->name, 16))
continue;
/* copy, board desc array is marked initdata */
- bcm63xx_pci_enabled = 1;
- if (BCMCPU_IS_6348())
- val |= GPIO_MODE_6348_G2_PCI;
-- }
+ }
-#endif
-
- if (board.has_pccard) {
- if (board.has_ohci0)
- bcm63xx_ohci_register();
-
-- if (board.has_dsp)
-- bcm63xx_dsp_register(&board.dsp);
--
- /* Generate MAC address for WLAN and register our SPROM,
- * do this after registering enet devices
- */
- if (ssb_arch_register_fallback_sprom(
- &bcm63xx_get_fallback_sprom) < 0)
- pr_err("failed to register fallback SPROM\n");
- }
+- }
-#endif
-
- bcm63xx_spi_register();
}
--- /dev/null
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -0,0 +1,218 @@
+@@ -0,0 +1,214 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+#include <bcm63xx_gpio.h>
+#include <bcm63xx_dev_pci.h>
+#include <bcm63xx_dev_enet.h>
-+#include <bcm63xx_dev_dsp.h>
+#include <bcm63xx_dev_flash.h>
+#include <bcm63xx_dev_hsspi.h>
+#include <bcm63xx_dev_pcmcia.h>
+ if (board.has_ohci0)
+ bcm63xx_ohci_register();
+
-+ if (board.has_dsp)
-+ bcm63xx_dsp_register(&board.dsp);
-+
+ /* Generate MAC address for WLAN and register our SPROM,
+ * do this after registering enet devices
+ */
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -743,7 +743,8 @@ void __init board_prom_init(void)
+@@ -727,7 +727,8 @@ void __init board_prom_init(void)
if (strncmp(board_name, bcm963xx_boards[i]->name, 16))
continue;
/* copy, board desc array is marked initdata */
#include <bcm63xx_gpio.h>
#include <bcm63xx_dev_pci.h>
#include <bcm63xx_dev_enet.h>
-@@ -82,15 +81,20 @@ const char *board_get_name(void)
+@@ -81,15 +80,20 @@ const char *board_get_name(void)
return board.name;
}
/* setup pin multiplexing depending on board enabled device,
* this has to be done this early since PCI init is done
* inside arch_initcall */
-@@ -163,15 +167,15 @@ int __init board_register_devices(void)
+@@ -162,15 +166,15 @@ int __init board_register_devices(void)
bcm63xx_pcmcia_register();
if (board.has_enet0 &&
bcm63xx_enetsw_register(&board.enetsw);
if (board.has_usbd)
-@@ -190,7 +194,7 @@ int __init board_register_devices(void)
+@@ -186,7 +190,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
-@@ -723,10 +723,20 @@ void __init board_prom_init(void)
+@@ -707,10 +707,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
-@@ -713,7 +713,7 @@ void __init board_prom_init(void)
+@@ -697,7 +697,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
-@@ -713,7 +713,7 @@ void __init board_prom_init(void)
+@@ -697,7 +697,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
-@@ -126,6 +126,15 @@ void __init board_early_setup(const stru
+@@ -125,6 +125,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 {
+@@ -40,6 +40,7 @@ struct board_info {
/* USB config */
struct bcm63xx_usbd_platform_data usbd;
+ unsigned int num_usbh_ports:2;
- /* DSP config */
- struct bcm63xx_dsp_platform_data dsp;
+ /* GPIO LEDs */
+ struct gpio_led leds[5];
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_ehci.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_ehci.h
@@ -1,6 +1,6 @@
#endif /* BCM63XX_DEV_USB_OHCI_H_ */
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -166,6 +166,8 @@ static struct platform_device bcm63xx_gp
+@@ -165,6 +165,8 @@ static struct platform_device bcm63xx_gp
*/
int __init board_register_devices(void)
{
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -187,14 +189,21 @@ int __init board_register_devices(void)
+@@ -186,14 +188,21 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enetsw.mac_addr))
bcm63xx_enetsw_register(&board.enetsw);
- bcm63xx_ohci_register();
+ bcm63xx_ohci_register(usbh_ports);
- if (board.has_dsp)
- bcm63xx_dsp_register(&board.dsp);
+ /* Generate MAC address for WLAN and register our SPROM,
+ * do this after registering enet devices
--- a/arch/mips/bcm63xx/dev-usb-ehci.c
+++ b/arch/mips/bcm63xx/dev-usb-ehci.c
@@ -79,12 +79,14 @@ static struct platform_device bcm63xx_eh
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -592,6 +592,7 @@ static struct board_info __initdata boar
+@@ -576,6 +576,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
-@@ -702,7 +702,7 @@ static const struct board_info __initcon
+@@ -686,7 +686,7 @@ static const struct board_info __initcon
/*
* early init callback, read nvram data from flash and checksum it
*/
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_uart.h>
-@@ -31,6 +33,8 @@
+@@ -30,6 +32,8 @@
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
#define PFX "board: "
static struct board_info board;
-@@ -81,6 +85,15 @@ const char *board_get_name(void)
+@@ -80,6 +84,15 @@ const char *board_get_name(void)
return board.name;
}
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
-@@ -3,7 +3,7 @@ obj-y += clk.o cpu.o cs.o gpio.o irq.o
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
-- usb-common.o
-+ usb-common.o sprom.o
+@@ -2,7 +2,8 @@
+ obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
+- dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o
++ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
++ sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -40,44 +40,6 @@
+@@ -39,44 +39,6 @@
static struct board_info board;
/*
* return board name for /proc/cpuinfo
*/
const char *board_get_name(void)
-@@ -180,6 +142,7 @@ static struct platform_device bcm63xx_gp
+@@ -179,6 +141,7 @@ static struct platform_device bcm63xx_gp
int __init board_register_devices(void)
{
int usbh_ports = 0;
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -224,15 +187,10 @@ int __init board_register_devices(void)
+@@ -220,15 +183,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
-@@ -142,7 +142,6 @@ static struct platform_device bcm63xx_gp
+@@ -141,7 +141,6 @@ static struct platform_device bcm63xx_gp
int __init board_register_devices(void)
{
int usbh_ports = 0;
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -188,8 +187,8 @@ int __init board_register_devices(void)
+@@ -184,8 +183,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 <linux/leds.h>
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_usb_usbd.h>
- #include <bcm63xx_dev_dsp.h>
+#include <bcm63xx_fallback_sprom.h>
/*
* flash mapping
-@@ -55,6 +56,9 @@ struct board_info {
+@@ -50,6 +51,9 @@ struct board_info {
/* External PHY reset GPIO flags from gpio.h */
unsigned long ephy_reset_gpio_flags;
.enet0 = {
.has_phy = 1,
-@@ -324,6 +327,7 @@ static struct board_info __initdata boar
+@@ -316,6 +319,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -378,6 +382,7 @@ static struct board_info __initdata boar
+@@ -370,6 +374,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -436,6 +441,7 @@ static struct board_info __initdata boar
+@@ -420,6 +425,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -459,6 +465,7 @@ static struct board_info __initdata boar
+@@ -443,6 +449,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -477,6 +484,7 @@ static struct board_info __initdata boar
+@@ -461,6 +468,7 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_pci = 1,
.has_ohci0 = 1,
.has_enet0 = 1,
-@@ -499,6 +507,7 @@ static struct board_info __initdata boar
+@@ -483,6 +491,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -525,6 +534,7 @@ static struct board_info __initdata boar
+@@ -509,6 +518,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -577,6 +587,7 @@ static struct board_info __initdata boar
+@@ -561,6 +571,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -648,6 +659,7 @@ static struct board_info __initdata boar
+@@ -632,6 +643,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
-@@ -187,8 +187,9 @@ int __init board_register_devices(void)
+@@ -183,8 +183,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 {
- unsigned int has_dsp:1;
+@@ -33,6 +33,7 @@ struct board_info {
+ unsigned int has_usbd:1;
unsigned int has_uart0:1;
unsigned int has_uart1:1;
+ unsigned int use_fallback_sprom:1;
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_uart.h>
-@@ -126,8 +129,23 @@ void __init board_setup(void)
+@@ -125,8 +128,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 = {
-@@ -136,6 +154,13 @@ static struct platform_device bcm63xx_gp
+@@ -135,6 +153,13 @@ static struct platform_device bcm63xx_gp
.dev.platform_data = &bcm63xx_led_data,
};
/*
* third stage init callback, register all board devices.
*/
-@@ -143,6 +168,15 @@ int __init board_register_devices(void)
+@@ -142,6 +167,15 @@ int __init board_register_devices(void)
{
int usbh_ports = 0;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -711,6 +711,10 @@ static const struct board_info __initcon
+@@ -695,6 +695,10 @@ static const struct board_info __initcon
#endif
};
/*
* early init callback, read nvram data from flash and checksum it
*/
-@@ -722,6 +726,7 @@ void __init board_bcm963xx_init(void)
+@@ -706,6 +710,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
-@@ -761,6 +766,16 @@ void __init board_bcm963xx_init(void)
+@@ -745,6 +750,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
-@@ -243,3 +243,21 @@ int __init board_register_devices(void)
+@@ -239,3 +239,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
-@@ -712,6 +712,48 @@ static const struct board_info __initcon
+@@ -696,6 +696,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
-@@ -144,6 +144,18 @@ void __init device_tree_init(void)
+@@ -143,6 +143,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
-@@ -189,6 +189,8 @@ int __init board_register_devices(void)
+@@ -188,6 +188,8 @@ int __init board_register_devices(void)
}
#endif
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -251,9 +251,10 @@ int __init board_register_devices(void)
+@@ -247,9 +247,10 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_leds);
#include <linux/leds.h>
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_usb_usbd.h>
-@@ -55,8 +56,8 @@ struct board_info {
+@@ -50,8 +51,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
-@@ -28,9 +28,7 @@
+@@ -27,9 +27,7 @@
+ #include <bcm63xx_dev_pci.h>
#include <bcm63xx_dev_enet.h>
- #include <bcm63xx_dev_dsp.h>
#include <bcm63xx_dev_flash.h>
-#include <bcm63xx_dev_hsspi.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_usb_ehci.h>
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_usbd.h>
-@@ -240,10 +238,6 @@ int __init board_register_devices(void)
+@@ -236,10 +234,6 @@ int __init board_register_devices(void)
bcm63xx_register_fallback_sprom(&board.fallback_sprom)))
pr_err(PFX "failed to register fallback SPROM\n");
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
-- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
-+ dev-pcmcia.o dev-rng.o dev-uart.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
- usb-common.o sprom.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+- dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
++ dev-rng.o dev-uart.o dev-wdt.o \
+ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
+ sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
--- a/arch/mips/bcm63xx/dev-hsspi.c
+++ /dev/null
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
-- dev-pcmcia.o dev-rng.o dev-uart.o \
-+ dev-pcmcia.o dev-rng.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
- usb-common.o sprom.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+- dev-rng.o dev-uart.o dev-wdt.o \
++ dev-rng.o dev-wdt.o \
+ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
+ sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
--- a/arch/mips/bcm63xx/dev-uart.c
+++ /dev/null
-#endif /* BCM63XX_DEV_UART_H_ */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -34,8 +34,6 @@ struct board_info {
+@@ -32,8 +32,6 @@ struct board_info {
+ unsigned int has_ohci0:1;
unsigned int has_ehci0:1;
unsigned int has_usbd:1;
- unsigned int has_dsp:1;
- unsigned int has_uart0:1;
- unsigned int has_uart1:1;
unsigned int use_fallback_sprom:1;
#include <bcm63xx_regs.h>
#include <bcm63xx_io.h>
#include <bcm63xx_gpio.h>
-@@ -189,12 +188,6 @@ int __init board_register_devices(void)
+@@ -188,12 +187,6 @@ int __init board_register_devices(void)
bcm63xx_gpio_init();
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -323,7 +313,6 @@ static struct board_info __initdata boar
+@@ -315,7 +305,6 @@ static struct board_info __initdata boar
.name = "96348GW-11",
.expected_cpu_id = 0x6348,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -378,7 +367,6 @@ static struct board_info __initdata boar
+@@ -370,7 +359,6 @@ static struct board_info __initdata boar
.name = "96348GW",
.expected_cpu_id = 0x6348,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -437,7 +425,6 @@ static struct board_info __initdata boar
+@@ -421,7 +409,6 @@ static struct board_info __initdata boar
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -482,7 +469,6 @@ static struct board_info __initdata boar
+@@ -466,7 +453,6 @@ static struct board_info __initdata boar
.name = "DV201AMR",
.expected_cpu_id = 0x6348,
.has_pci = 1,
.use_fallback_sprom = 1,
.has_ohci0 = 1,
-@@ -503,7 +489,6 @@ static struct board_info __initdata boar
+@@ -487,7 +473,6 @@ static struct board_info __initdata boar
.name = "96348GW-A",
.expected_cpu_id = 0x6348,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -530,7 +515,6 @@ static struct board_info __initdata boar
+@@ -514,7 +499,6 @@ static struct board_info __initdata boar
.name = "96358VW",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -583,7 +567,6 @@ static struct board_info __initdata boar
+@@ -567,7 +551,6 @@ static struct board_info __initdata boar
.name = "96358VW2",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -633,7 +616,6 @@ static struct board_info __initdata boar
+@@ -617,7 +600,6 @@ static struct board_info __initdata boar
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
};
static struct board_info __initdata board_96348gw_10 = {
-@@ -278,35 +153,6 @@ static struct board_info __initdata boar
- .cs = 2,
- .ext_irq = 2,
- },
+@@ -270,35 +145,6 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
-
- .leds = {
- {
};
static struct board_info __initdata board_96348gw_11 = {
-@@ -332,35 +178,6 @@ static struct board_info __initdata boar
+@@ -324,35 +170,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
};
static struct board_info __initdata board_96348gw = {
-@@ -390,35 +207,6 @@ static struct board_info __initdata boar
- .ext_irq = 2,
- .cs = 2,
+@@ -374,35 +191,6 @@ static struct board_info __initdata boar
},
+
+ .has_ohci0 = 1,
-
- .leds = {
- {
};
static struct board_info __initdata board_FAST2404 = {
-@@ -534,33 +322,6 @@ static struct board_info __initdata boar
+@@ -518,33 +306,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
};
static struct board_info __initdata board_96358vw2 = {
-@@ -587,29 +348,6 @@ static struct board_info __initdata boar
+@@ -571,29 +332,6 @@ static struct board_info __initdata boar
.has_pccard = 1,
.has_ehci0 = 1,
.num_usbh_ports = 2,
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -98,6 +98,8 @@ void __init board_early_setup(const stru
+@@ -97,6 +97,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
-@@ -32,6 +32,7 @@
+@@ -31,6 +31,7 @@
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
#include "board_common.h"
-@@ -178,6 +179,7 @@ static struct of_device_id of_ids[] = {
+@@ -177,6 +178,7 @@ static struct of_device_id of_ids[] = {
int __init board_register_devices(void)
{
int usbh_ports = 0;
#if CONFIG_OF
if (of_have_populated_dt()) {
-@@ -245,6 +247,10 @@ int __init board_register_devices(void)
+@@ -241,6 +243,10 @@ int __init board_register_devices(void)
board.ephy_reset_gpio_flags);
}
--- 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_enet.h>
#include <bcm63xx_dev_usb_usbd.h>
- #include <bcm63xx_dev_dsp.h>
#include <bcm63xx_fallback_sprom.h>
+#include <pci_ath9k_fixup.h>
/*
* flash mapping
-@@ -17,6 +18,11 @@
+@@ -16,6 +17,11 @@
#define BCM963XX_CFE_VERSION_OFFSET 0x570
#define BCM963XX_NVRAM_OFFSET 0x580
/*
* board definition
*/
-@@ -35,6 +41,10 @@ struct board_info {
+@@ -33,6 +39,10 @@ struct board_info {
+ unsigned int has_ehci0:1;
unsigned int has_usbd:1;
- unsigned int has_dsp:1;
unsigned int use_fallback_sprom:1;
+ unsigned int has_caldata:2;
+
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
@@ -3,7 +3,7 @@ obj-y += clk.o cpu.o cs.o gpio.o irq.o
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
-- usb-common.o sprom.o
-+ pci-ath9k-fixup.o usb-common.o sprom.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-wdt.o \
+ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
+- sprom.o
++ pci-ath9k-fixup.o sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
#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
-@@ -249,7 +249,8 @@ int __init board_register_devices(void)
+@@ -245,7 +245,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
-@@ -250,7 +250,7 @@ int __init board_register_devices(void)
+@@ -246,7 +246,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,8 @@ struct ath9k_caldata {
+@@ -21,6 +21,8 @@ struct ath9k_caldata {
unsigned int slot;
u32 caldata_offset;
unsigned int endian_check:1;
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
@@ -3,7 +3,7 @@ obj-y += clk.o cpu.o cs.o gpio.o irq.o
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
-- pci-ath9k-fixup.o usb-common.o sprom.o
-+ pci-ath9k-fixup.o pci-rt2x00-fixup.o usb-common.o sprom.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-wdt.o \
+ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
+- pci-ath9k-fixup.o sprom.o
++ pci-ath9k-fixup.o pci-rt2x00-fixup.o sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -33,6 +33,7 @@
+@@ -32,6 +32,7 @@
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
#include <pci_ath9k_fixup.h>
#include "board_common.h"
-@@ -248,9 +249,19 @@ int __init board_register_devices(void)
+@@ -244,9 +245,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 @@
- #include <bcm63xx_dev_dsp.h>
+@@ -10,6 +10,7 @@
+ #include <bcm63xx_dev_usb_usbd.h>
#include <bcm63xx_fallback_sprom.h>
#include <pci_ath9k_fixup.h>
+#include <pci_rt2x00_fixup.h>
/*
* flash mapping
-@@ -18,12 +19,16 @@
+@@ -17,12 +18,16 @@
#define BCM963XX_CFE_VERSION_OFFSET 0x570
#define BCM963XX_NVRAM_OFFSET 0x580
};
/*
-@@ -47,7 +52,7 @@ struct board_info {
+@@ -45,7 +50,7 @@ struct board_info {
unsigned int has_caldata:2;
/* wifi calibration data config */
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -170,6 +176,8 @@ static struct board_info __initdata boar
+@@ -162,6 +168,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -194,6 +202,8 @@ static struct board_info __initdata boar
+@@ -186,6 +194,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -224,6 +234,8 @@ static struct board_info __initdata boar
+@@ -208,6 +218,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -247,6 +259,8 @@ static struct board_info __initdata boar
+@@ -231,6 +243,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -268,6 +282,8 @@ static struct board_info __initdata boar
+@@ -252,6 +266,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -287,6 +303,8 @@ static struct board_info __initdata boar
+@@ -271,6 +287,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -314,6 +332,8 @@ static struct board_info __initdata boar
+@@ -298,6 +316,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -339,6 +359,8 @@ static struct board_info __initdata boar
+@@ -323,6 +343,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -364,6 +386,8 @@ static struct board_info __initdata boar
+@@ -348,6 +370,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -387,6 +411,8 @@ static struct board_info __initdata boar
+@@ -371,6 +395,8 @@ static struct board_info __initdata boar
},
.enet1 = {
/*
* known 6348 boards
-@@ -311,7 +311,7 @@ static struct board_info __initdata boar
+@@ -295,7 +295,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
/*
* known 6358 boards
-@@ -419,7 +419,7 @@ static struct board_info __initdata boar
+@@ -403,7 +403,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
-@@ -311,6 +311,21 @@ static struct board_info __initdata boar
+@@ -295,6 +295,21 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -447,6 +462,7 @@ static const struct board_info __initcon
+@@ -431,6 +446,7 @@ static const struct board_info __initcon
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -478,6 +494,7 @@ static struct of_device_id const bcm963x
+@@ -462,6 +478,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
-@@ -434,6 +434,60 @@ static struct board_info __initdata boar
+@@ -418,6 +418,60 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -470,6 +524,8 @@ static const struct board_info __initcon
+@@ -454,6 +508,8 @@ static const struct board_info __initcon
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
#endif
};
-@@ -511,6 +567,8 @@ static struct of_device_id const bcm963x
+@@ -495,6 +551,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, },
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -503,6 +517,7 @@ static const struct board_info __initcon
+@@ -487,6 +501,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
-@@ -540,6 +555,7 @@ static struct of_device_id const bcm963x
+@@ -524,6 +539,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
-@@ -401,6 +401,25 @@ static struct board_info __initdata boar
+@@ -385,6 +385,25 @@ static struct board_info __initdata boar
.num_usbh_ports = 2,
};
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
-@@ -538,6 +557,7 @@ static const struct board_info __initcon
+@@ -522,6 +541,7 @@ static const struct board_info __initcon
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
-@@ -585,6 +605,7 @@ static struct of_device_id const bcm963x
+@@ -569,6 +589,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
-@@ -468,6 +468,22 @@ static struct board_info __initdata boar
+@@ -452,6 +452,22 @@ 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,
-@@ -559,6 +575,7 @@ static const struct board_info __initcon
+@@ -543,6 +559,7 @@ static const struct board_info __initcon
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
-@@ -598,6 +615,7 @@ static struct of_device_id const bcm963x
+@@ -582,6 +599,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
-@@ -340,6 +340,44 @@ static struct board_info __initdata boar
+@@ -324,6 +324,36 @@ static struct board_info __initdata boar
.force_duplex_full = 1,
},
};
+ .use_internal_phy = 1,
+ },
+
-+ .has_dsp = 1,
-+ .dsp = {
-+ .gpio_rst = 6,
-+ .gpio_int = 34,
-+ .ext_irq = 2,
-+ .cs = 2,
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -567,6 +605,7 @@ static const struct board_info __initcon
+@@ -551,6 +581,7 @@ static const struct board_info __initcon
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -608,6 +647,7 @@ static struct of_device_id const bcm963x
+@@ -592,6 +623,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
-@@ -233,6 +233,64 @@ static struct board_info __initdata boar
- },
+@@ -217,6 +217,48 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
};
+static struct board_info __initdata board_gw6200 = {
+ },
+
+ .has_ohci0 = 1,
-+
-+ .has_dsp = 1,
-+ .dsp = {
-+ .gpio_rst = 8, /* FIXME: What is real GPIO here? */
-+ .gpio_int = 34,
-+ .ext_irq = 2,
-+ .cs = 2,
-+ },
+};
+
+static struct board_info __initdata board_gw6000 = {
+ },
+
+ .has_ohci0 = 1,
-+
-+ .has_dsp = 1,
-+ .dsp = {
-+ .gpio_rst = 6,
-+ .gpio_int = 34,
-+ .ext_irq = 2,
-+ .cs = 2,
-+ },
+};
+
+
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
-@@ -598,6 +656,8 @@ static const struct board_info __initcon
+@@ -574,6 +616,8 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
-@@ -648,6 +708,8 @@ static struct of_device_id const bcm963x
+@@ -624,6 +668,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
-@@ -436,6 +436,39 @@ static struct board_info __initdata boar
+@@ -396,6 +396,31 @@ static struct board_info __initdata boar
.num_board_fixups = ARRAY_SIZE(spw500v_fixups),
},
};
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
-+
-+ .has_dsp = 1,
-+ .dsp = {
-+ .gpio_rst = 25,
-+ .gpio_int = 34,
-+ .cs = 2,
-+ .ext_irq = 2,
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -666,6 +699,7 @@ static const struct board_info __initcon
+@@ -626,6 +651,7 @@ static const struct board_info __initcon
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -710,6 +744,7 @@ static struct of_device_id const bcm963x
+@@ -670,6 +696,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
-@@ -666,6 +666,32 @@ static struct board_info __initdata boar
+@@ -618,6 +618,32 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
.num_usbh_ports = 2,
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -711,6 +737,7 @@ static const struct board_info __initcon
+@@ -663,6 +689,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
};
-@@ -754,6 +781,7 @@ static struct of_device_id const bcm963x
+@@ -706,6 +733,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, },
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -708,6 +722,7 @@ static const struct board_info __initcon
+@@ -660,6 +674,7 @@ static const struct board_info __initcon
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
-@@ -752,6 +767,7 @@ static struct of_device_id const bcm963x
+@@ -704,6 +719,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
-@@ -706,6 +706,20 @@ static struct board_info __initdata boar
+@@ -658,6 +658,20 @@ static struct board_info __initdata boar
.pci_dev = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -753,6 +767,7 @@ static const struct board_info __initcon
+@@ -705,6 +719,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_HW553,
#endif
};
-@@ -804,6 +819,7 @@ static struct of_device_id const bcm963x
+@@ -756,6 +771,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
-@@ -483,6 +483,26 @@ static struct board_info __initdata boar
- .ext_irq = 2,
- },
+@@ -435,6 +435,26 @@ static struct board_info __initdata boar
+ .has_pccard = 1,
+ .has_ehci0 = 1,
};
+
+static struct board_info __initdata board_V2500V_BB = {
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -755,6 +775,7 @@ static const struct board_info __initcon
+@@ -707,6 +727,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -794,6 +815,7 @@ static struct of_device_id const bcm963x
+@@ -746,6 +767,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, },
-@@ -853,6 +875,22 @@ void __init board_bcm963xx_init(void)
+@@ -805,6 +827,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
-@@ -216,6 +216,24 @@ static struct board_info __initdata boar
+@@ -208,6 +208,24 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -776,6 +794,7 @@ static const struct board_info __initcon
+@@ -728,6 +746,7 @@ static const struct board_info __initcon
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -815,6 +834,7 @@ static struct of_device_id const bcm963x
+@@ -767,6 +786,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
-@@ -55,7 +55,7 @@ void __init board_prom_init(void)
+@@ -54,7 +54,7 @@ void __init board_prom_init(void)
if (fw_arg3 == CFE_EPTSEAL)
board_bcm963xx_init();
else
#endif /* __BOARD_COMMON_H */
--- /dev/null
+++ b/arch/mips/bcm63xx/boards/board_livebox.c
-@@ -0,0 +1,163 @@
+@@ -0,0 +1,155 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+
+ .has_ohci0 = 1,
+ .has_pccard = 1,
-+
-+ .has_dsp = 0, /*TODO some Liveboxes have dsp*/
-+ .dsp = {
-+ .gpio_rst = 6,
-+ .gpio_int = 35,
-+ .cs = 2,
-+ .ext_irq = 2,
-+ },
+};
+#endif
+
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -234,6 +234,33 @@ static struct board_info __initdata boar
+@@ -226,6 +226,33 @@ static struct board_info __initdata boar
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -795,6 +822,7 @@ static const struct board_info __initcon
+@@ -747,6 +774,7 @@ static const struct board_info __initcon
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -836,6 +864,8 @@ static struct of_device_id const bcm963x
+@@ -788,6 +816,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
-@@ -674,6 +674,7 @@ static struct board_info __initdata boar
+@@ -626,6 +626,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
-@@ -261,6 +261,30 @@ static struct board_info __initdata boar
+@@ -253,6 +253,30 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -824,6 +848,7 @@ static const struct board_info __initcon
+@@ -776,6 +800,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -866,6 +891,7 @@ static struct of_device_id const bcm963x
+@@ -818,6 +843,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
-@@ -233,6 +233,33 @@ static struct board_info __initdata boar
+@@ -225,6 +225,33 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_ct536_ct5621 = {
.name = "CT536_CT5621",
-@@ -849,6 +876,7 @@ static const struct board_info __initcon
+@@ -801,6 +828,7 @@ static const struct board_info __initcon
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -901,6 +929,7 @@ static struct of_device_id const bcm963x
+@@ -853,6 +881,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
-@@ -840,6 +840,58 @@ static struct board_info __initdata boar
+@@ -792,6 +792,58 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -891,6 +943,10 @@ static const struct board_info __initcon
+@@ -843,6 +895,10 @@ static const struct board_info __initcon
&board_HW553,
&board_spw303v,
#endif
};
static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -951,6 +1007,7 @@ static struct of_device_id const bcm963x
+@@ -903,6 +959,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
-@@ -82,12 +82,25 @@ void __init board_early_setup(const stru
+@@ -81,12 +81,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
-@@ -889,6 +889,45 @@ static struct board_info __initdata boar
+@@ -841,6 +841,45 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -946,6 +985,7 @@ static const struct board_info __initcon
+@@ -898,6 +937,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
#endif
};
-@@ -1007,6 +1047,7 @@ static struct of_device_id const bcm963x
+@@ -959,6 +999,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -966,6 +1000,7 @@ static const struct board_info __initcon
+@@ -918,6 +952,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1022,6 +1057,7 @@ static struct of_device_id const bcm963x
+@@ -974,6 +1009,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -1001,6 +1046,7 @@ static const struct board_info __initcon
+@@ -953,6 +998,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1059,6 +1105,7 @@ static struct of_device_id const bcm963x
+@@ -1011,6 +1057,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
-@@ -600,6 +600,24 @@ static struct board_info __initdata boar
+@@ -568,6 +568,24 @@ 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,
-@@ -1076,6 +1094,7 @@ static const struct board_info __initcon
+@@ -1028,6 +1046,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1131,6 +1150,7 @@ static struct of_device_id const bcm963x
+@@ -1083,6 +1102,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
-@@ -922,6 +922,30 @@ static struct board_info __initdata boar
+@@ -874,6 +874,30 @@ static struct board_info __initdata boar
.num_usbh_ports = 2,
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -1106,6 +1130,7 @@ static const struct board_info __initcon
+@@ -1058,6 +1082,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
-@@ -1164,6 +1189,7 @@ static struct of_device_id const bcm963x
+@@ -1116,6 +1141,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
-@@ -985,6 +985,35 @@ static struct board_info __initdata boar
+@@ -937,6 +937,35 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1133,6 +1162,7 @@ static const struct board_info __initcon
+@@ -1085,6 +1114,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1192,6 +1222,7 @@ static struct of_device_id const bcm963x
+@@ -1144,6 +1174,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
-@@ -1016,6 +1016,32 @@ static struct board_info __initdata boar
+@@ -968,6 +968,32 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* known 6368 boards
*/
-@@ -1165,6 +1191,10 @@ static const struct board_info __initcon
+@@ -1117,6 +1143,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -1233,6 +1263,9 @@ static struct of_device_id const bcm963x
+@@ -1185,6 +1215,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
-@@ -533,6 +533,22 @@ static struct board_info __initdata boar
+@@ -501,6 +501,22 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -1162,6 +1178,7 @@ static const struct board_info __initcon
+@@ -1114,6 +1130,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
-@@ -1237,6 +1254,7 @@ static struct of_device_id const bcm963x
+@@ -1189,6 +1206,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, },
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -1159,6 +1202,7 @@ static const struct board_info __initcon
+@@ -1111,6 +1154,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
-@@ -1224,6 +1268,7 @@ static struct of_device_id const bcm963x
+@@ -1176,6 +1220,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
-@@ -1201,6 +1273,7 @@ static const struct board_info __initcon
+@@ -1153,6 +1225,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
-@@ -1271,6 +1344,7 @@ static struct of_device_id const bcm963x
+@@ -1223,6 +1296,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, },
static struct sprom_fixup __initdata ar5387un_fixups[] = {
{ .offset = 2, .value = 0x05bb },
{ .offset = 65, .value = 0x1204 },
-@@ -1273,6 +1327,7 @@ static const struct board_info __initcon
+@@ -1225,6 +1279,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
-@@ -1344,6 +1399,7 @@ static struct of_device_id const bcm963x
+@@ -1296,6 +1351,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, },
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -1341,6 +1355,7 @@ static const struct board_info __initcon
+@@ -1293,6 +1307,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
-@@ -1411,6 +1426,7 @@ static struct of_device_id const bcm963x
+@@ -1363,6 +1378,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -1171,6 +1172,92 @@ static struct board_info __initdata boar
+@@ -1123,6 +1124,92 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -1391,6 +1478,9 @@ static const struct board_info __initcon
+@@ -1343,6 +1430,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -1463,6 +1553,9 @@ static struct of_device_id const bcm963x
+@@ -1415,6 +1505,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, },
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -1443,6 +1462,7 @@ static const struct board_info __initcon
+@@ -1395,6 +1414,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
-@@ -1517,6 +1537,7 @@ static struct of_device_id const bcm963x
+@@ -1469,6 +1489,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, },
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -1452,6 +1489,7 @@ static const struct board_info __initcon
+@@ -1404,6 +1441,7 @@ static const struct board_info __initcon
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1527,6 +1565,7 @@ static struct of_device_id const bcm963x
+@@ -1479,6 +1517,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
-@@ -1382,6 +1382,41 @@ static struct board_info __initdata boar
+@@ -1334,6 +1334,41 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
-@@ -1545,6 +1580,7 @@ static const struct board_info __initcon
+@@ -1497,6 +1532,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6362
&board_nb6,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1626,6 +1662,7 @@ static struct of_device_id const bcm963x
+@@ -1578,6 +1614,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6362
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -1517,6 +1566,9 @@ static const struct board_info __initcon
+@@ -1469,6 +1518,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5381u,
-@@ -1594,6 +1646,9 @@ static struct of_device_id const bcm963x
+@@ -1546,6 +1598,9 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_3368
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -1568,6 +1612,7 @@ static const struct board_info __initcon
+@@ -1520,6 +1564,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -1648,6 +1693,7 @@ static struct of_device_id const bcm963x
+@@ -1600,6 +1645,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
-@@ -1604,6 +1604,50 @@ static struct board_info __initdata boar
+@@ -1556,6 +1556,50 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1684,6 +1728,9 @@ static const struct board_info __initcon
+@@ -1636,6 +1680,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
};
static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -1771,6 +1818,7 @@ static struct of_device_id const bcm963x
+@@ -1723,6 +1770,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
-@@ -655,6 +655,21 @@ static struct board_info __initdata boar
+@@ -647,6 +647,21 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
-@@ -1699,6 +1714,7 @@ static const struct board_info __initcon
+@@ -1651,6 +1666,7 @@ static const struct board_info __initcon
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1763,6 +1779,7 @@ static struct of_device_id const bcm963x
+@@ -1715,6 +1731,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
-@@ -1660,6 +1660,51 @@ static struct board_info __initdata boar
+@@ -1612,6 +1612,51 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -1746,6 +1791,7 @@ static const struct board_info __initcon
+@@ -1698,6 +1743,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
#endif
};
-@@ -1836,6 +1882,7 @@ static struct of_device_id const bcm963x
+@@ -1788,6 +1834,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
-@@ -1622,6 +1622,64 @@ static struct board_info __initdata boar
+@@ -1574,6 +1574,64 @@ 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,
-@@ -1790,6 +1848,7 @@ static const struct board_info __initcon
+@@ -1742,6 +1800,7 @@ static const struct board_info __initcon
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
&board_vw6339gu,
#endif
-@@ -1881,6 +1940,7 @@ static struct of_device_id const bcm963x
+@@ -1833,6 +1892,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -1616,6 +1618,47 @@ static struct board_info __initdata boar
+@@ -1568,6 +1570,47 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -1846,6 +1889,7 @@ static const struct board_info __initcon
+@@ -1798,6 +1841,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,
-@@ -1938,6 +1982,7 @@ static struct of_device_id const bcm963x
+@@ -1890,6 +1934,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
-@@ -1619,6 +1619,59 @@ static struct board_info __initdata boar
+@@ -1571,6 +1571,59 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
-@@ -1889,6 +1942,7 @@ static const struct board_info __initcon
+@@ -1841,6 +1894,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -1982,6 +2036,7 @@ static struct of_device_id const bcm963x
+@@ -1934,6 +1988,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
-@@ -1672,6 +1672,59 @@ static struct board_info __initdata boar
+@@ -1624,6 +1624,59 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
-@@ -1943,6 +1996,7 @@ static const struct board_info __initcon
+@@ -1895,6 +1948,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2037,6 +2091,7 @@ static struct of_device_id const bcm963x
+@@ -1989,6 +2043,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
-@@ -1628,6 +1628,48 @@ static struct sprom_fixup __initdata vr3
+@@ -1580,6 +1580,48 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -1995,6 +2037,7 @@ static const struct board_info __initcon
+@@ -1947,6 +1989,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
-@@ -2093,6 +2136,7 @@ static struct of_device_id const bcm963x
+@@ -2045,6 +2088,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
-@@ -1312,6 +1312,36 @@ static struct board_info __initdata boar
+@@ -1264,6 +1264,36 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -2021,6 +2051,7 @@ static const struct board_info __initcon
+@@ -1973,6 +2003,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,
-@@ -2113,6 +2144,7 @@ static struct of_device_id const bcm963x
+@@ -2065,6 +2096,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, },
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
-@@ -2002,6 +2045,7 @@ static const struct board_info __initcon
+@@ -1954,6 +1997,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
-@@ -2090,6 +2134,7 @@ static struct of_device_id const bcm963x
+@@ -2042,6 +2086,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2039,6 +2107,7 @@ static const struct board_info __initcon
+@@ -1991,6 +2059,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,
-@@ -2132,6 +2201,7 @@ static struct of_device_id const bcm963x
+@@ -2084,6 +2153,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
-@@ -1760,6 +1760,30 @@ static struct board_info __initdata boar
+@@ -1712,6 +1712,30 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2181,6 +2205,7 @@ static const struct board_info __initcon
+@@ -2133,6 +2157,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2283,6 +2308,7 @@ static struct of_device_id const bcm963x
+@@ -2235,6 +2260,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
-@@ -1423,6 +1423,31 @@ static struct board_info __initdata boar
+@@ -1375,6 +1375,31 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_HW520 = {
.name = "HW6358GW_B",
.expected_cpu_id = 0x6358,
-@@ -2188,6 +2213,7 @@ static const struct board_info __initcon
+@@ -2140,6 +2165,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,
-@@ -2297,6 +2323,7 @@ static struct of_device_id const bcm963x
+@@ -2249,6 +2275,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
-@@ -1809,6 +1809,52 @@ static struct board_info __initdata boar
+@@ -1761,6 +1761,52 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2232,6 +2278,7 @@ static const struct board_info __initcon
+@@ -2184,6 +2230,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2335,6 +2382,7 @@ static struct of_device_id const bcm963x
+@@ -2287,6 +2334,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, },
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2203,6 +2242,7 @@ static const struct board_info __initcon
+@@ -2155,6 +2194,7 @@ static const struct board_info __initcon
&board_96318ref,
&board_96318ref_p300,
&board_dsl_2751b_d1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -2300,6 +2340,7 @@ static struct of_device_id const bcm963x
+@@ -2252,6 +2292,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
-@@ -2042,6 +2042,59 @@ static struct board_info __initdata boar
+@@ -1994,6 +1994,59 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
-@@ -2322,6 +2375,7 @@ static const struct board_info __initcon
+@@ -2274,6 +2327,7 @@ static const struct board_info __initcon
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2422,6 +2476,7 @@ static struct of_device_id const bcm963x
+@@ -2374,6 +2428,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, },
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2306,6 +2350,7 @@ static const struct board_info __initcon
+@@ -2258,6 +2302,7 @@ static const struct board_info __initcon
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -2404,6 +2449,7 @@ static struct of_device_id const bcm963x
+@@ -2356,6 +2401,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
-@@ -1938,6 +1938,52 @@ static struct board_info __initdata boar
+@@ -1890,6 +1890,52 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2416,6 +2462,7 @@ static const struct board_info __initcon
+@@ -2368,6 +2414,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
&board_HG655b,
&board_P870HW51A_V2,
&board_VR3025u,
-@@ -2524,6 +2571,7 @@ static struct of_device_id const bcm963x
+@@ -2476,6 +2523,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1892,6 +1892,42 @@ static struct board_info __initdata boar
+@@ -1844,6 +1844,42 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_HG655b = {
.name = "HW65x",
.expected_cpu_id = 0x6368,
-@@ -2462,6 +2498,7 @@ static const struct board_info __initcon
+@@ -2414,6 +2450,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
&board_HG622,
&board_HG655b,
&board_P870HW51A_V2,
-@@ -2574,6 +2611,7 @@ static struct of_device_id const bcm963x
+@@ -2526,6 +2563,7 @@ static struct of_device_id const bcm963x
{ .compatible = "huawei,hg622", .data = &board_HG622, },
{ .compatible = "huawei,hg655b", .data = &board_HG655b, },
{ .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1782,6 +1782,51 @@ static struct board_info __initdata boar
+@@ -1734,6 +1734,51 @@ static struct board_info __initdata boar
* known 6368 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6368
static struct board_info __initdata board_96368mvwg = {
.name = "96368MVWG",
.expected_cpu_id = 0x6368,
-@@ -2495,6 +2540,7 @@ static const struct board_info __initcon
+@@ -2447,6 +2492,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
-@@ -2602,6 +2648,7 @@ static struct of_device_id const bcm963x
+@@ -2554,6 +2600,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2266,6 +2266,106 @@ static struct board_info __initdata boar
+@@ -2218,6 +2218,106 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
-@@ -2548,6 +2648,7 @@ static const struct board_info __initcon
+@@ -2500,6 +2600,7 @@ static const struct board_info __initcon
&board_HG622,
&board_HG655b,
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
&board_VR3026e,
-@@ -2659,6 +2760,7 @@ static struct of_device_id const bcm963x
+@@ -2611,6 +2712,7 @@ static struct of_device_id const bcm963x
{ .compatible = "huawei,hg655b", .data = &board_HG655b, },
{ .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, },
{ .compatible = "netgear,evg2000", .data = &board_EVG2000, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2116,6 +2116,29 @@ static struct board_info __initdata boar
+@@ -2068,6 +2068,29 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -2648,6 +2671,7 @@ static const struct board_info __initcon
+@@ -2600,6 +2623,7 @@ static const struct board_info __initcon
&board_HG622,
&board_HG655b,
&board_P870HW51A_V2,
&board_VH4032N,
&board_VR3025u,
&board_VR3025un,
-@@ -2749,6 +2773,7 @@ static struct of_device_id const bcm963x
+@@ -2701,6 +2725,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
{ .offset = 96, .value = 0x2046 },
{ .offset = 97, .value = 0xfe9d },
-@@ -2588,6 +2649,7 @@ static const struct board_info __initcon
+@@ -2540,6 +2601,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,
&board_dsl_2751b_d1,
&board_FAST2704N,
#endif
-@@ -2693,6 +2755,7 @@ static struct of_device_id const bcm963x
+@@ -2645,6 +2707,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, },
static struct sprom_fixup __initdata ar5381u_fixups[] = {
{ .offset = 97, .value = 0xfee5 },
{ .offset = 98, .value = 0x157c },
-@@ -2655,6 +2722,7 @@ static const struct board_info __initcon
+@@ -2607,6 +2674,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
-@@ -2769,6 +2837,7 @@ static struct of_device_id const bcm963x
+@@ -2721,6 +2789,7 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
{ .compatible = "nucom,r5010unv2", .data = &board_R5010UNV2, },
{ .compatible = "sagem,f@st2704v2", .data = &board_FAST2704V2, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2704,6 +2704,49 @@ static struct board_info __initdata boar
+@@ -2656,6 +2656,49 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -2812,6 +2855,7 @@ static const struct board_info __initcon
+@@ -2764,6 +2807,7 @@ static const struct board_info __initcon
&board_963268bu_p300,
&board_963269bhr,
&board_vw6339gu,
#endif
};
-@@ -2924,6 +2968,7 @@ static struct of_device_id const bcm963x
+@@ -2876,6 +2920,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm963268bu_p300", .data = &board_963268bu_p300, },
{ .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
{ .compatible = "inteno,vg50", .data = &board_vw6339gu, },
--- /dev/null
+From 51559154375fff4a94bbbc249fdd9248a80827b3 Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Tue, 18 Dec 2018 10:19:02 +0100
+Subject: [PATCH] MIPS: BCM63XX: drop unused and broken DSP platform device
+
+Trying to register the DSP platform device results in a null pointer
+access:
+
+[ 0.124184] CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 804e305c, ra == 804e6f20
+[ 0.135208] Oops[#1]:
+[ 0.137514] CPU: 0 PID: 1 Comm: swapper Not tainted 4.14.87
+...
+[ 0.197117] epc : 804e305c bcm63xx_dsp_register+0x80/0xa4
+[ 0.202838] ra : 804e6f20 board_register_devices+0x258/0x390
+...
+
+This happens because it tries to copy the passed platform data over the
+platform_device's unpopulated platform_data.
+
+Since this code has been broken since its submission, no driver was ever
+submitted for it, and apparently nobody was using it, just remove it
+instead of trying to fix it.
+
+Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.")
+Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+---
+ arch/mips/bcm63xx/Makefile | 6 +--
+ arch/mips/bcm63xx/boards/board_bcm963xx.c | 20 --------
+ arch/mips/bcm63xx/dev-dsp.c | 56 ----------------------
+ .../include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h | 14 ------
+ .../mips/include/asm/mach-bcm63xx/board_bcm963xx.h | 5 --
+ 5 files changed, 3 insertions(+), 98 deletions(-)
+ delete mode 100644 arch/mips/bcm63xx/dev-dsp.c
+ delete mode 100644 arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
+
+--- a/arch/mips/bcm63xx/Makefile
++++ b/arch/mips/bcm63xx/Makefile
+@@ -1,7 +1,7 @@
+ obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
+- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
+- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
+- dev-wdt.o dev-usb-usbd.o
++ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
++ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
++ dev-usb-usbd.o
+ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
+
+ obj-y += boards/
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -23,7 +23,6 @@
+ #include <bcm63xx_nvram.h>
+ #include <bcm63xx_dev_pci.h>
+ #include <bcm63xx_dev_enet.h>
+-#include <bcm63xx_dev_dsp.h>
+ #include <bcm63xx_dev_flash.h>
+ #include <bcm63xx_dev_hsspi.h>
+ #include <bcm63xx_dev_pcmcia.h>
+@@ -289,14 +288,6 @@ static struct board_info __initdata boar
+ .has_pccard = 1,
+ .has_ehci0 = 1,
+
+- .has_dsp = 1,
+- .dsp = {
+- .gpio_rst = 6,
+- .gpio_int = 34,
+- .cs = 2,
+- .ext_irq = 2,
+- },
+-
+ .leds = {
+ {
+ .name = "adsl-fail",
+@@ -401,14 +392,6 @@ static struct board_info __initdata boar
+
+ .has_ohci0 = 1,
+
+- .has_dsp = 1,
+- .dsp = {
+- .gpio_rst = 6,
+- .gpio_int = 34,
+- .ext_irq = 2,
+- .cs = 2,
+- },
+-
+ .leds = {
+ {
+ .name = "adsl-fail",
+@@ -898,9 +881,6 @@ int __init board_register_devices(void)
+ if (board.has_usbd)
+ bcm63xx_usbd_register(&board.usbd);
+
+- if (board.has_dsp)
+- bcm63xx_dsp_register(&board.dsp);
+-
+ /* Generate MAC address for WLAN and register our SPROM,
+ * do this after registering enet devices
+ */
+--- a/arch/mips/bcm63xx/dev-dsp.c
++++ /dev/null
+@@ -1,56 +0,0 @@
+-/*
+- * Broadcom BCM63xx VoIP DSP registration
+- *
+- * This file is subject to the terms and conditions of the GNU General Public
+- * License. See the file "COPYING" in the main directory of this archive
+- * for more details.
+- *
+- * Copyright (C) 2009 Florian Fainelli <florian@openwrt.org>
+- */
+-
+-#include <linux/init.h>
+-#include <linux/kernel.h>
+-#include <linux/platform_device.h>
+-
+-#include <bcm63xx_cpu.h>
+-#include <bcm63xx_dev_dsp.h>
+-#include <bcm63xx_regs.h>
+-#include <bcm63xx_io.h>
+-
+-static struct resource voip_dsp_resources[] = {
+- {
+- .start = -1, /* filled at runtime */
+- .end = -1, /* filled at runtime */
+- .flags = IORESOURCE_MEM,
+- },
+- {
+- .start = -1, /* filled at runtime */
+- .flags = IORESOURCE_IRQ,
+- },
+-};
+-
+-static struct platform_device bcm63xx_voip_dsp_device = {
+- .name = "bcm63xx-voip-dsp",
+- .id = -1,
+- .num_resources = ARRAY_SIZE(voip_dsp_resources),
+- .resource = voip_dsp_resources,
+-};
+-
+-int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd)
+-{
+- struct bcm63xx_dsp_platform_data *dpd;
+- u32 val;
+-
+- /* Get the memory window */
+- val = bcm_mpi_readl(MPI_CSBASE_REG(pd->cs - 1));
+- val &= MPI_CSBASE_BASE_MASK;
+- voip_dsp_resources[0].start = val;
+- voip_dsp_resources[0].end = val + 0xFFFFFFF;
+- voip_dsp_resources[1].start = pd->ext_irq;
+-
+- /* copy given platform data */
+- dpd = bcm63xx_voip_dsp_device.dev.platform_data;
+- memcpy(dpd, pd, sizeof (*pd));
+-
+- return platform_device_register(&bcm63xx_voip_dsp_device);
+-}
+--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_dsp.h
++++ /dev/null
+@@ -1,13 +0,0 @@
+-#ifndef __BCM63XX_DSP_H
+-#define __BCM63XX_DSP_H
+-
+-struct bcm63xx_dsp_platform_data {
+- unsigned gpio_rst;
+- unsigned gpio_int;
+- unsigned cs;
+- unsigned ext_irq;
+-};
+-
+-int __init bcm63xx_dsp_register(const struct bcm63xx_dsp_platform_data *pd);
+-
+-#endif /* __BCM63XX_DSP_H */
+--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+@@ -6,7 +6,6 @@
+ #include <linux/leds.h>
+ #include <bcm63xx_dev_enet.h>
+ #include <bcm63xx_dev_usb_usbd.h>
+-#include <bcm63xx_dev_dsp.h>
+
+ /*
+ * flash mapping
+@@ -30,7 +29,6 @@ struct board_info {
+ unsigned int has_ohci0:1;
+ unsigned int has_ehci0:1;
+ unsigned int has_usbd:1;
+- unsigned int has_dsp:1;
+ unsigned int has_uart0:1;
+ unsigned int has_uart1:1;
+
+@@ -42,9 +40,6 @@ struct board_info {
+ /* USB config */
+ struct bcm63xx_usbd_platform_data usbd;
+
+- /* DSP config */
+- struct bcm63xx_dsp_platform_data dsp;
+-
+ /* GPIO LEDs */
+ struct gpio_led leds[5];
+
+++ b/arch/mips/bcm63xx/Makefile
@@ -1,7 +1,7 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
-- dev-wdt.o dev-usb-usbd.o
-+ dev-wdt.o dev-usb-usbd.o usb-common.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
+- dev-usb-usbd.o
++ dev-usb-usbd.o usb-common.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
+++ b/arch/mips/bcm63xx/Makefile
@@ -1,7 +1,7 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
-- dev-wdt.o dev-usb-usbd.o usb-common.o
-+ dev-wdt.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
+- dev-usb-usbd.o usb-common.o
++ dev-usb-ohci.o dev-usb-usbd.o usb-common.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -28,6 +28,7 @@
+@@ -27,6 +27,7 @@
#include <bcm63xx_dev_hsspi.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
-@@ -898,6 +899,9 @@ int __init board_register_devices(void)
+@@ -881,6 +882,9 @@ int __init board_register_devices(void)
if (board.has_usbd)
bcm63xx_usbd_register(&board.usbd);
+ if (board.has_ohci0)
+ bcm63xx_ohci_register();
+
- if (board.has_dsp)
- bcm63xx_dsp_register(&board.dsp);
-
+ /* Generate MAC address for WLAN and register our SPROM,
+ * do this after registering enet devices
+ */
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
-@@ -1,7 +1,8 @@
+@@ -1,7 +1,7 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
-- dev-wdt.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o
-+ dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
-+ usb-common.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
+- dev-usb-ohci.o dev-usb-usbd.o usb-common.o
++ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -28,6 +28,7 @@
+@@ -27,6 +27,7 @@
#include <bcm63xx_dev_hsspi.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_spi.h>
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
-@@ -899,6 +900,9 @@ int __init board_register_devices(void)
+@@ -882,6 +883,9 @@ int __init board_register_devices(void)
if (board.has_usbd)
bcm63xx_usbd_register(&board.usbd);
obj-$(CONFIG_BOARD_BCM963XX) += board_bcm963xx.o
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -12,34 +12,21 @@
+@@ -12,33 +12,21 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/string.h>
#include <bcm63xx_nvram.h>
-#include <bcm63xx_dev_pci.h>
-#include <bcm63xx_dev_enet.h>
--#include <bcm63xx_dev_dsp.h>
-#include <bcm63xx_dev_flash.h>
-#include <bcm63xx_dev_hsspi.h>
-#include <bcm63xx_dev_pcmcia.h>
/*
* known 3368 boards
*/
-@@ -712,52 +699,6 @@ static const struct board_info __initcon
+@@ -695,52 +683,6 @@ static const struct board_info __initcon
};
/*
* early init callback, read nvram data from flash and checksum it
*/
void __init board_prom_init(void)
-@@ -802,140 +743,15 @@ void __init board_prom_init(void)
+@@ -785,137 +727,15 @@ void __init board_prom_init(void)
if (strncmp(board_name, bcm963xx_boards[i]->name, 16))
continue;
/* copy, board desc array is marked initdata */
- bcm63xx_pci_enabled = 1;
- if (BCMCPU_IS_6348())
- val |= GPIO_MODE_6348_G2_PCI;
-- }
+ }
-#endif
-
- if (board.has_pccard) {
- if (board.has_ohci0)
- bcm63xx_ohci_register();
-
-- if (board.has_dsp)
-- bcm63xx_dsp_register(&board.dsp);
--
- /* Generate MAC address for WLAN and register our SPROM,
- * do this after registering enet devices
- */
- if (ssb_arch_register_fallback_sprom(
- &bcm63xx_get_fallback_sprom) < 0)
- pr_err("failed to register fallback SPROM\n");
- }
+- }
-#endif
-
- bcm63xx_spi_register();
}
--- /dev/null
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -0,0 +1,218 @@
+@@ -0,0 +1,214 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+#include <bcm63xx_gpio.h>
+#include <bcm63xx_dev_pci.h>
+#include <bcm63xx_dev_enet.h>
-+#include <bcm63xx_dev_dsp.h>
+#include <bcm63xx_dev_flash.h>
+#include <bcm63xx_dev_hsspi.h>
+#include <bcm63xx_dev_pcmcia.h>
+ if (board.has_ohci0)
+ bcm63xx_ohci_register();
+
-+ if (board.has_dsp)
-+ bcm63xx_dsp_register(&board.dsp);
-+
+ /* Generate MAC address for WLAN and register our SPROM,
+ * do this after registering enet devices
+ */
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -743,7 +743,8 @@ void __init board_prom_init(void)
+@@ -727,7 +727,8 @@ void __init board_prom_init(void)
if (strncmp(board_name, bcm963xx_boards[i]->name, 16))
continue;
/* copy, board desc array is marked initdata */
#include <bcm63xx_gpio.h>
#include <bcm63xx_dev_pci.h>
#include <bcm63xx_dev_enet.h>
-@@ -82,15 +81,20 @@ const char *board_get_name(void)
+@@ -81,15 +80,20 @@ const char *board_get_name(void)
return board.name;
}
/* setup pin multiplexing depending on board enabled device,
* this has to be done this early since PCI init is done
* inside arch_initcall */
-@@ -163,15 +167,15 @@ int __init board_register_devices(void)
+@@ -162,15 +166,15 @@ int __init board_register_devices(void)
bcm63xx_pcmcia_register();
if (board.has_enet0 &&
bcm63xx_enetsw_register(&board.enetsw);
if (board.has_usbd)
-@@ -190,7 +194,7 @@ int __init board_register_devices(void)
+@@ -186,7 +190,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
-@@ -723,10 +723,20 @@ void __init board_prom_init(void)
+@@ -707,10 +707,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
-@@ -713,7 +713,7 @@ void __init board_prom_init(void)
+@@ -697,7 +697,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
-@@ -713,7 +713,7 @@ void __init board_prom_init(void)
+@@ -697,7 +697,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
-@@ -126,6 +126,15 @@ void __init board_early_setup(const stru
+@@ -125,6 +125,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
-@@ -41,6 +41,7 @@ struct board_info {
+@@ -39,6 +39,7 @@ struct board_info {
/* USB config */
struct bcm63xx_usbd_platform_data usbd;
+ unsigned int num_usbh_ports:2;
- /* DSP config */
- struct bcm63xx_dsp_platform_data dsp;
+ /* GPIO LEDs */
+ struct gpio_led leds[5];
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_ehci.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_ehci.h
@@ -1,6 +1,6 @@
#endif /* BCM63XX_DEV_USB_OHCI_H_ */
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -166,6 +166,8 @@ static struct platform_device bcm63xx_gp
+@@ -165,6 +165,8 @@ static struct platform_device bcm63xx_gp
*/
int __init board_register_devices(void)
{
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -187,14 +189,21 @@ int __init board_register_devices(void)
+@@ -186,14 +188,21 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enetsw.mac_addr))
bcm63xx_enetsw_register(&board.enetsw);
- bcm63xx_ohci_register();
+ bcm63xx_ohci_register(usbh_ports);
- if (board.has_dsp)
- bcm63xx_dsp_register(&board.dsp);
+ /* Generate MAC address for WLAN and register our SPROM,
+ * do this after registering enet devices
--- a/arch/mips/bcm63xx/dev-usb-ehci.c
+++ b/arch/mips/bcm63xx/dev-usb-ehci.c
@@ -79,12 +79,14 @@ static struct platform_device bcm63xx_eh
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -592,6 +592,7 @@ static struct board_info __initdata boar
+@@ -576,6 +576,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
-@@ -702,7 +702,7 @@ static const struct board_info __initcon
+@@ -686,7 +686,7 @@ static const struct board_info __initcon
/*
* early init callback, read nvram data from flash and checksum it
*/
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_uart.h>
-@@ -31,6 +33,8 @@
+@@ -30,6 +32,8 @@
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
#define PFX "board: "
static struct board_info board;
-@@ -81,6 +85,15 @@ const char *board_get_name(void)
+@@ -80,6 +84,15 @@ const char *board_get_name(void)
return board.name;
}
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
-@@ -2,7 +2,7 @@ obj-y += clk.o cpu.o cs.o gpio.o irq.o
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
-- usb-common.o
-+ usb-common.o sprom.o
+@@ -1,7 +1,8 @@
+ obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
+- dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o
++ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
++ sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -40,44 +40,6 @@
+@@ -39,44 +39,6 @@
static struct board_info board;
/*
* return board name for /proc/cpuinfo
*/
const char *board_get_name(void)
-@@ -180,6 +142,7 @@ static struct platform_device bcm63xx_gp
+@@ -179,6 +141,7 @@ static struct platform_device bcm63xx_gp
int __init board_register_devices(void)
{
int usbh_ports = 0;
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -224,15 +187,10 @@ int __init board_register_devices(void)
+@@ -220,15 +183,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
-@@ -142,7 +142,6 @@ static struct platform_device bcm63xx_gp
+@@ -141,7 +141,6 @@ static struct platform_device bcm63xx_gp
int __init board_register_devices(void)
{
int usbh_ports = 0;
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -188,8 +187,8 @@ int __init board_register_devices(void)
+@@ -184,8 +183,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
-@@ -7,6 +7,7 @@
+@@ -6,6 +6,7 @@
+ #include <linux/leds.h>
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_usb_usbd.h>
- #include <bcm63xx_dev_dsp.h>
+#include <bcm63xx_fallback_sprom.h>
/*
* flash mapping
-@@ -54,6 +55,9 @@ struct board_info {
+@@ -49,6 +50,9 @@ struct board_info {
/* External PHY reset GPIO flags from gpio.h */
unsigned long ephy_reset_gpio_flags;
.enet0 = {
.has_phy = 1,
-@@ -324,6 +327,7 @@ static struct board_info __initdata boar
+@@ -316,6 +319,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -378,6 +382,7 @@ static struct board_info __initdata boar
+@@ -370,6 +374,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -436,6 +441,7 @@ static struct board_info __initdata boar
+@@ -420,6 +425,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -459,6 +465,7 @@ static struct board_info __initdata boar
+@@ -443,6 +449,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -477,6 +484,7 @@ static struct board_info __initdata boar
+@@ -461,6 +468,7 @@ static struct board_info __initdata boar
.has_uart0 = 1,
.has_pci = 1,
.has_ohci0 = 1,
.has_enet0 = 1,
-@@ -499,6 +507,7 @@ static struct board_info __initdata boar
+@@ -483,6 +491,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -525,6 +534,7 @@ static struct board_info __initdata boar
+@@ -509,6 +518,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -577,6 +587,7 @@ static struct board_info __initdata boar
+@@ -561,6 +571,7 @@ static struct board_info __initdata boar
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
.enet0 = {
.has_phy = 1,
-@@ -648,6 +659,7 @@ static struct board_info __initdata boar
+@@ -632,6 +643,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
-@@ -187,8 +187,9 @@ int __init board_register_devices(void)
+@@ -183,8 +183,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
-@@ -34,6 +34,7 @@ struct board_info {
- unsigned int has_dsp:1;
+@@ -32,6 +32,7 @@ struct board_info {
+ unsigned int has_usbd:1;
unsigned int has_uart0:1;
unsigned int has_uart1:1;
+ unsigned int use_fallback_sprom:1;
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_uart.h>
-@@ -126,8 +129,23 @@ void __init board_setup(void)
+@@ -125,8 +128,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 = {
-@@ -136,6 +154,13 @@ static struct platform_device bcm63xx_gp
+@@ -135,6 +153,13 @@ static struct platform_device bcm63xx_gp
.dev.platform_data = &bcm63xx_led_data,
};
/*
* third stage init callback, register all board devices.
*/
-@@ -143,6 +168,15 @@ int __init board_register_devices(void)
+@@ -142,6 +167,15 @@ int __init board_register_devices(void)
{
int usbh_ports = 0;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -711,6 +711,10 @@ static const struct board_info __initcon
+@@ -695,6 +695,10 @@ static const struct board_info __initcon
#endif
};
/*
* early init callback, read nvram data from flash and checksum it
*/
-@@ -722,6 +726,7 @@ void __init board_bcm963xx_init(void)
+@@ -706,6 +710,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
-@@ -761,6 +766,16 @@ void __init board_bcm963xx_init(void)
+@@ -745,6 +750,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
-@@ -243,3 +243,21 @@ int __init board_register_devices(void)
+@@ -239,3 +239,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
-@@ -712,6 +712,48 @@ static const struct board_info __initcon
+@@ -696,6 +696,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
-@@ -144,6 +144,18 @@ void __init device_tree_init(void)
+@@ -143,6 +143,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
-@@ -189,6 +189,8 @@ int __init board_register_devices(void)
+@@ -188,6 +188,8 @@ int __init board_register_devices(void)
}
#endif
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -251,9 +251,10 @@ int __init board_register_devices(void)
+@@ -247,9 +247,10 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_leds);
#include <linux/leds.h>
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_usb_usbd.h>
-@@ -54,8 +55,8 @@ struct board_info {
+@@ -49,8 +50,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
-@@ -28,9 +28,7 @@
+@@ -27,9 +27,7 @@
+ #include <bcm63xx_dev_pci.h>
#include <bcm63xx_dev_enet.h>
- #include <bcm63xx_dev_dsp.h>
#include <bcm63xx_dev_flash.h>
-#include <bcm63xx_dev_hsspi.h>
#include <bcm63xx_dev_pcmcia.h>
#include <bcm63xx_dev_usb_ehci.h>
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_usbd.h>
-@@ -240,10 +238,6 @@ int __init board_register_devices(void)
+@@ -236,10 +234,6 @@ int __init board_register_devices(void)
bcm63xx_register_fallback_sprom(&board.fallback_sprom)))
pr_err(PFX "failed to register fallback SPROM\n");
+++ b/arch/mips/bcm63xx/Makefile
@@ -1,6 +1,6 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
-- dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
-+ dev-pcmcia.o dev-rng.o dev-uart.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
- usb-common.o sprom.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+- dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
++ dev-rng.o dev-uart.o dev-wdt.o \
+ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
+ sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
--- a/arch/mips/bcm63xx/dev-hsspi.c
+++ /dev/null
+++ b/arch/mips/bcm63xx/Makefile
@@ -1,6 +1,6 @@
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
-- dev-pcmcia.o dev-rng.o dev-uart.o \
-+ dev-pcmcia.o dev-rng.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
- usb-common.o sprom.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+- dev-rng.o dev-uart.o dev-wdt.o \
++ dev-rng.o dev-wdt.o \
+ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
+ sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
--- a/arch/mips/bcm63xx/dev-uart.c
+++ /dev/null
-#endif /* BCM63XX_DEV_UART_H_ */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -33,8 +33,6 @@ struct board_info {
+@@ -31,8 +31,6 @@ struct board_info {
+ unsigned int has_ohci0:1;
unsigned int has_ehci0:1;
unsigned int has_usbd:1;
- unsigned int has_dsp:1;
- unsigned int has_uart0:1;
- unsigned int has_uart1:1;
unsigned int use_fallback_sprom:1;
#include <bcm63xx_regs.h>
#include <bcm63xx_io.h>
#include <bcm63xx_gpio.h>
-@@ -189,12 +188,6 @@ int __init board_register_devices(void)
+@@ -188,12 +187,6 @@ int __init board_register_devices(void)
bcm63xx_gpio_init();
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -323,7 +313,6 @@ static struct board_info __initdata boar
+@@ -315,7 +305,6 @@ static struct board_info __initdata boar
.name = "96348GW-11",
.expected_cpu_id = 0x6348,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -378,7 +367,6 @@ static struct board_info __initdata boar
+@@ -370,7 +359,6 @@ static struct board_info __initdata boar
.name = "96348GW",
.expected_cpu_id = 0x6348,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -437,7 +425,6 @@ static struct board_info __initdata boar
+@@ -421,7 +409,6 @@ static struct board_info __initdata boar
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -482,7 +469,6 @@ static struct board_info __initdata boar
+@@ -466,7 +453,6 @@ static struct board_info __initdata boar
.name = "DV201AMR",
.expected_cpu_id = 0x6348,
.has_pci = 1,
.use_fallback_sprom = 1,
.has_ohci0 = 1,
-@@ -503,7 +489,6 @@ static struct board_info __initdata boar
+@@ -487,7 +473,6 @@ static struct board_info __initdata boar
.name = "96348GW-A",
.expected_cpu_id = 0x6348,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -530,7 +515,6 @@ static struct board_info __initdata boar
+@@ -514,7 +499,6 @@ static struct board_info __initdata boar
.name = "96358VW",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -583,7 +567,6 @@ static struct board_info __initdata boar
+@@ -567,7 +551,6 @@ static struct board_info __initdata boar
.name = "96358VW2",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -633,7 +616,6 @@ static struct board_info __initdata boar
+@@ -617,7 +600,6 @@ static struct board_info __initdata boar
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
};
static struct board_info __initdata board_96348gw_10 = {
-@@ -278,35 +153,6 @@ static struct board_info __initdata boar
- .cs = 2,
- .ext_irq = 2,
- },
+@@ -270,35 +145,6 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
-
- .leds = {
- {
};
static struct board_info __initdata board_96348gw_11 = {
-@@ -332,35 +178,6 @@ static struct board_info __initdata boar
+@@ -324,35 +170,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
};
static struct board_info __initdata board_96348gw = {
-@@ -390,35 +207,6 @@ static struct board_info __initdata boar
- .ext_irq = 2,
- .cs = 2,
+@@ -374,35 +191,6 @@ static struct board_info __initdata boar
},
+
+ .has_ohci0 = 1,
-
- .leds = {
- {
};
static struct board_info __initdata board_FAST2404 = {
-@@ -534,33 +322,6 @@ static struct board_info __initdata boar
+@@ -518,33 +306,6 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_pccard = 1,
.has_ehci0 = 1,
};
static struct board_info __initdata board_96358vw2 = {
-@@ -587,29 +348,6 @@ static struct board_info __initdata boar
+@@ -571,29 +332,6 @@ static struct board_info __initdata boar
.has_pccard = 1,
.has_ehci0 = 1,
.num_usbh_ports = 2,
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -98,6 +98,8 @@ void __init board_early_setup(const stru
+@@ -97,6 +97,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
-@@ -32,6 +32,7 @@
+@@ -31,6 +31,7 @@
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
#include "board_common.h"
-@@ -178,6 +179,7 @@ static struct of_device_id of_ids[] = {
+@@ -177,6 +178,7 @@ static struct of_device_id of_ids[] = {
int __init board_register_devices(void)
{
int usbh_ports = 0;
#if CONFIG_OF
if (of_have_populated_dt()) {
-@@ -245,6 +247,10 @@ int __init board_register_devices(void)
+@@ -241,6 +243,10 @@ int __init board_register_devices(void)
board.ephy_reset_gpio_flags);
}
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -9,6 +9,7 @@
+@@ -8,6 +8,7 @@
+ #include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_usb_usbd.h>
- #include <bcm63xx_dev_dsp.h>
#include <bcm63xx_fallback_sprom.h>
+#include <pci_ath9k_fixup.h>
/*
* flash mapping
-@@ -16,6 +17,11 @@
+@@ -15,6 +16,11 @@
#define BCM963XX_CFE_VERSION_OFFSET 0x570
#define BCM963XX_NVRAM_OFFSET 0x580
/*
* board definition
*/
-@@ -34,6 +40,10 @@ struct board_info {
+@@ -32,6 +38,10 @@ struct board_info {
+ unsigned int has_ehci0:1;
unsigned int has_usbd:1;
- unsigned int has_dsp:1;
unsigned int use_fallback_sprom:1;
+ unsigned int has_caldata:2;
+
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
@@ -2,7 +2,7 @@ obj-y += clk.o cpu.o cs.o gpio.o irq.o
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
-- usb-common.o sprom.o
-+ pci-ath9k-fixup.o usb-common.o sprom.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-wdt.o \
+ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
+- sprom.o
++ pci-ath9k-fixup.o sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
#endif /* _PCI_ATH9K_FIXUP */
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
-@@ -20,6 +20,7 @@
+@@ -19,6 +19,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
-@@ -249,7 +249,8 @@ int __init board_register_devices(void)
+@@ -245,7 +245,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
-@@ -250,7 +250,7 @@ int __init board_register_devices(void)
+@@ -246,7 +246,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
-@@ -21,6 +21,8 @@ struct ath9k_caldata {
+@@ -20,6 +20,8 @@ struct ath9k_caldata {
unsigned int slot;
u32 caldata_offset;
unsigned int endian_check:1;
--- a/arch/mips/bcm63xx/Makefile
+++ b/arch/mips/bcm63xx/Makefile
@@ -2,7 +2,7 @@ obj-y += clk.o cpu.o cs.o gpio.o irq.o
- setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
- dev-pcmcia.o dev-rng.o \
- dev-wdt.o dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o \
-- pci-ath9k-fixup.o usb-common.o sprom.o
-+ pci-ath9k-fixup.o pci-rt2x00-fixup.o usb-common.o sprom.o
+ setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
+ dev-rng.o dev-wdt.o \
+ dev-usb-ehci.o dev-usb-ohci.o dev-usb-usbd.o usb-common.o \
+- pci-ath9k-fixup.o sprom.o
++ pci-ath9k-fixup.o pci-rt2x00-fixup.o sprom.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -33,6 +33,7 @@
+@@ -32,6 +32,7 @@
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
#include <pci_ath9k_fixup.h>
#include "board_common.h"
-@@ -248,9 +249,19 @@ int __init board_register_devices(void)
+@@ -244,9 +245,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
-@@ -10,6 +10,7 @@
- #include <bcm63xx_dev_dsp.h>
+@@ -9,6 +9,7 @@
+ #include <bcm63xx_dev_usb_usbd.h>
#include <bcm63xx_fallback_sprom.h>
#include <pci_ath9k_fixup.h>
+#include <pci_rt2x00_fixup.h>
/*
* flash mapping
-@@ -17,12 +18,16 @@
+@@ -16,12 +17,16 @@
#define BCM963XX_CFE_VERSION_OFFSET 0x570
#define BCM963XX_NVRAM_OFFSET 0x580
};
/*
-@@ -46,7 +51,7 @@ struct board_info {
+@@ -44,7 +49,7 @@ struct board_info {
unsigned int has_caldata:2;
/* wifi calibration data config */
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -170,6 +176,8 @@ static struct board_info __initdata boar
+@@ -162,6 +168,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -194,6 +202,8 @@ static struct board_info __initdata boar
+@@ -186,6 +194,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -224,6 +234,8 @@ static struct board_info __initdata boar
+@@ -208,6 +218,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -247,6 +259,8 @@ static struct board_info __initdata boar
+@@ -231,6 +243,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -268,6 +282,8 @@ static struct board_info __initdata boar
+@@ -252,6 +266,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -287,6 +303,8 @@ static struct board_info __initdata boar
+@@ -271,6 +287,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -314,6 +332,8 @@ static struct board_info __initdata boar
+@@ -298,6 +316,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -339,6 +359,8 @@ static struct board_info __initdata boar
+@@ -323,6 +343,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -364,6 +386,8 @@ static struct board_info __initdata boar
+@@ -348,6 +370,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -387,6 +411,8 @@ static struct board_info __initdata boar
+@@ -371,6 +395,8 @@ static struct board_info __initdata boar
},
.enet1 = {
/*
* known 6348 boards
-@@ -311,7 +311,7 @@ static struct board_info __initdata boar
+@@ -295,7 +295,7 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
/*
* known 6358 boards
-@@ -419,7 +419,7 @@ static struct board_info __initdata boar
+@@ -403,7 +403,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
-@@ -311,6 +311,21 @@ static struct board_info __initdata boar
+@@ -295,6 +295,21 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -447,6 +462,7 @@ static const struct board_info __initcon
+@@ -431,6 +446,7 @@ static const struct board_info __initcon
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -478,6 +494,7 @@ static struct of_device_id const bcm963x
+@@ -462,6 +478,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
-@@ -434,6 +434,60 @@ static struct board_info __initdata boar
+@@ -418,6 +418,60 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -470,6 +524,8 @@ static const struct board_info __initcon
+@@ -454,6 +508,8 @@ static const struct board_info __initcon
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
#endif
};
-@@ -511,6 +567,8 @@ static struct of_device_id const bcm963x
+@@ -495,6 +551,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, },
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -503,6 +517,7 @@ static const struct board_info __initcon
+@@ -487,6 +501,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
-@@ -540,6 +555,7 @@ static struct of_device_id const bcm963x
+@@ -524,6 +539,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
-@@ -401,6 +401,25 @@ static struct board_info __initdata boar
+@@ -385,6 +385,25 @@ static struct board_info __initdata boar
.num_usbh_ports = 2,
};
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
-@@ -538,6 +557,7 @@ static const struct board_info __initcon
+@@ -522,6 +541,7 @@ static const struct board_info __initcon
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
-@@ -585,6 +605,7 @@ static struct of_device_id const bcm963x
+@@ -569,6 +589,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
-@@ -468,6 +468,22 @@ static struct board_info __initdata boar
+@@ -452,6 +452,22 @@ 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,
-@@ -559,6 +575,7 @@ static const struct board_info __initcon
+@@ -543,6 +559,7 @@ static const struct board_info __initcon
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
-@@ -598,6 +615,7 @@ static struct of_device_id const bcm963x
+@@ -582,6 +599,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
-@@ -340,6 +340,44 @@ static struct board_info __initdata boar
+@@ -324,6 +324,36 @@ static struct board_info __initdata boar
.force_duplex_full = 1,
},
};
+ .use_internal_phy = 1,
+ },
+
-+ .has_dsp = 1,
-+ .dsp = {
-+ .gpio_rst = 6,
-+ .gpio_int = 34,
-+ .ext_irq = 2,
-+ .cs = 2,
-+ },
-+
+ .fallback_sprom = {
+ .type = SPROM_BCM4318,
+ .pci_bus = 0,
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -567,6 +605,7 @@ static const struct board_info __initcon
+@@ -551,6 +581,7 @@ static const struct board_info __initcon
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -608,6 +647,7 @@ static struct of_device_id const bcm963x
+@@ -592,6 +623,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
-@@ -233,6 +233,64 @@ static struct board_info __initdata boar
- },
+@@ -217,6 +217,48 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
};
+static struct board_info __initdata board_gw6200 = {
+ },
+
+ .has_ohci0 = 1,
-+
-+ .has_dsp = 1,
-+ .dsp = {
-+ .gpio_rst = 8, /* FIXME: What is real GPIO here? */
-+ .gpio_int = 34,
-+ .ext_irq = 2,
-+ .cs = 2,
-+ },
+};
+
+static struct board_info __initdata board_gw6000 = {
+ },
+
+ .has_ohci0 = 1,
-+
-+ .has_dsp = 1,
-+ .dsp = {
-+ .gpio_rst = 6,
-+ .gpio_int = 34,
-+ .ext_irq = 2,
-+ .cs = 2,
-+ },
+};
+
+
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
-@@ -598,6 +656,8 @@ static const struct board_info __initcon
+@@ -574,6 +616,8 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
-@@ -648,6 +708,8 @@ static struct of_device_id const bcm963x
+@@ -624,6 +668,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
-@@ -436,6 +436,39 @@ static struct board_info __initdata boar
+@@ -396,6 +396,31 @@ static struct board_info __initdata boar
.num_board_fixups = ARRAY_SIZE(spw500v_fixups),
},
};
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
-+
-+ .has_dsp = 1,
-+ .dsp = {
-+ .gpio_rst = 25,
-+ .gpio_int = 34,
-+ .cs = 2,
-+ .ext_irq = 2,
-+ },
+};
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -666,6 +699,7 @@ static const struct board_info __initcon
+@@ -626,6 +651,7 @@ static const struct board_info __initcon
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -710,6 +744,7 @@ static struct of_device_id const bcm963x
+@@ -670,6 +696,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
-@@ -666,6 +666,32 @@ static struct board_info __initdata boar
+@@ -618,6 +618,32 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
.num_usbh_ports = 2,
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -711,6 +737,7 @@ static const struct board_info __initcon
+@@ -663,6 +689,7 @@ static const struct board_info __initcon
&board_dsl_274xb_rev_c,
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
#endif
};
-@@ -754,6 +781,7 @@ static struct of_device_id const bcm963x
+@@ -706,6 +733,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, },
#endif /* CONFIG_BCM63XX_CPU_6338 */
/*
-@@ -708,6 +722,7 @@ static const struct board_info __initcon
+@@ -660,6 +674,7 @@ static const struct board_info __initcon
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
-@@ -752,6 +767,7 @@ static struct of_device_id const bcm963x
+@@ -704,6 +719,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
-@@ -706,6 +706,20 @@ static struct board_info __initdata boar
+@@ -658,6 +658,20 @@ static struct board_info __initdata boar
.pci_dev = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -753,6 +767,7 @@ static const struct board_info __initcon
+@@ -705,6 +719,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_HW553,
#endif
};
-@@ -804,6 +819,7 @@ static struct of_device_id const bcm963x
+@@ -756,6 +771,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
-@@ -483,6 +483,26 @@ static struct board_info __initdata boar
- .ext_irq = 2,
- },
+@@ -435,6 +435,26 @@ static struct board_info __initdata boar
+ .has_pccard = 1,
+ .has_ehci0 = 1,
};
+
+static struct board_info __initdata board_V2500V_BB = {
#endif /* CONFIG_BCM63XX_CPU_6348 */
/*
-@@ -755,6 +775,7 @@ static const struct board_info __initcon
+@@ -707,6 +727,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -794,6 +815,7 @@ static struct of_device_id const bcm963x
+@@ -746,6 +767,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, },
-@@ -853,6 +875,22 @@ void __init board_bcm963xx_init(void)
+@@ -805,6 +827,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
-@@ -216,6 +216,24 @@ static struct board_info __initdata boar
+@@ -208,6 +208,24 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -776,6 +794,7 @@ static const struct board_info __initcon
+@@ -728,6 +746,7 @@ static const struct board_info __initcon
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -815,6 +834,7 @@ static struct of_device_id const bcm963x
+@@ -767,6 +786,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
-@@ -55,7 +55,7 @@ void __init board_prom_init(void)
+@@ -54,7 +54,7 @@ void __init board_prom_init(void)
if (fw_arg3 == CFE_EPTSEAL)
board_bcm963xx_init();
else
#endif /* __BOARD_COMMON_H */
--- /dev/null
+++ b/arch/mips/bcm63xx/boards/board_livebox.c
-@@ -0,0 +1,163 @@
+@@ -0,0 +1,155 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+
+ .has_ohci0 = 1,
+ .has_pccard = 1,
-+
-+ .has_dsp = 0, /*TODO some Liveboxes have dsp*/
-+ .dsp = {
-+ .gpio_rst = 6,
-+ .gpio_int = 35,
-+ .cs = 2,
-+ .ext_irq = 2,
-+ },
+};
+#endif
+
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -234,6 +234,33 @@ static struct board_info __initdata boar
+@@ -226,6 +226,33 @@ static struct board_info __initdata boar
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -795,6 +822,7 @@ static const struct board_info __initcon
+@@ -747,6 +774,7 @@ static const struct board_info __initcon
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -836,6 +864,8 @@ static struct of_device_id const bcm963x
+@@ -788,6 +816,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
-@@ -674,6 +674,7 @@ static struct board_info __initdata boar
+@@ -626,6 +626,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
-@@ -261,6 +261,30 @@ static struct board_info __initdata boar
+@@ -253,6 +253,30 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -824,6 +848,7 @@ static const struct board_info __initcon
+@@ -776,6 +800,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -866,6 +891,7 @@ static struct of_device_id const bcm963x
+@@ -818,6 +843,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
-@@ -233,6 +233,33 @@ static struct board_info __initdata boar
+@@ -225,6 +225,33 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_ct536_ct5621 = {
.name = "CT536_CT5621",
-@@ -849,6 +876,7 @@ static const struct board_info __initcon
+@@ -801,6 +828,7 @@ static const struct board_info __initcon
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -901,6 +929,7 @@ static struct of_device_id const bcm963x
+@@ -853,6 +881,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
-@@ -840,6 +840,58 @@ static struct board_info __initdata boar
+@@ -792,6 +792,58 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -891,6 +943,10 @@ static const struct board_info __initcon
+@@ -843,6 +895,10 @@ static const struct board_info __initcon
&board_HW553,
&board_spw303v,
#endif
};
static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -951,6 +1007,7 @@ static struct of_device_id const bcm963x
+@@ -903,6 +959,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
-@@ -82,12 +82,25 @@ void __init board_early_setup(const stru
+@@ -81,12 +81,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
-@@ -889,6 +889,45 @@ static struct board_info __initdata boar
+@@ -841,6 +841,45 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -946,6 +985,7 @@ static const struct board_info __initcon
+@@ -898,6 +937,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
#endif
};
-@@ -1007,6 +1047,7 @@ static struct of_device_id const bcm963x
+@@ -959,6 +999,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -966,6 +1000,7 @@ static const struct board_info __initcon
+@@ -918,6 +952,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1022,6 +1057,7 @@ static struct of_device_id const bcm963x
+@@ -974,6 +1009,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -1001,6 +1046,7 @@ static const struct board_info __initcon
+@@ -953,6 +998,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1059,6 +1105,7 @@ static struct of_device_id const bcm963x
+@@ -1011,6 +1057,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
-@@ -600,6 +600,24 @@ static struct board_info __initdata boar
+@@ -568,6 +568,24 @@ 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,
-@@ -1076,6 +1094,7 @@ static const struct board_info __initcon
+@@ -1028,6 +1046,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1131,6 +1150,7 @@ static struct of_device_id const bcm963x
+@@ -1083,6 +1102,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
-@@ -922,6 +922,30 @@ static struct board_info __initdata boar
+@@ -874,6 +874,30 @@ static struct board_info __initdata boar
.num_usbh_ports = 2,
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -1106,6 +1130,7 @@ static const struct board_info __initcon
+@@ -1058,6 +1082,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
-@@ -1164,6 +1189,7 @@ static struct of_device_id const bcm963x
+@@ -1116,6 +1141,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
-@@ -985,6 +985,35 @@ static struct board_info __initdata boar
+@@ -937,6 +937,35 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
-@@ -1133,6 +1162,7 @@ static const struct board_info __initcon
+@@ -1085,6 +1114,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1192,6 +1222,7 @@ static struct of_device_id const bcm963x
+@@ -1144,6 +1174,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
-@@ -1016,6 +1016,32 @@ static struct board_info __initdata boar
+@@ -968,6 +968,32 @@ static struct board_info __initdata boar
};
#endif /* CONFIG_BCM63XX_CPU_6358 */
/*
* known 6368 boards
*/
-@@ -1165,6 +1191,10 @@ static const struct board_info __initcon
+@@ -1117,6 +1143,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -1233,6 +1263,9 @@ static struct of_device_id const bcm963x
+@@ -1185,6 +1215,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
-@@ -533,6 +533,22 @@ static struct board_info __initdata boar
+@@ -501,6 +501,22 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -1162,6 +1178,7 @@ static const struct board_info __initcon
+@@ -1114,6 +1130,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
-@@ -1237,6 +1254,7 @@ static struct of_device_id const bcm963x
+@@ -1189,6 +1206,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, },
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -1159,6 +1202,7 @@ static const struct board_info __initcon
+@@ -1111,6 +1154,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
-@@ -1224,6 +1268,7 @@ static struct of_device_id const bcm963x
+@@ -1176,6 +1220,7 @@ static struct of_device_id const bcm963x
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
-@@ -1201,6 +1273,7 @@ static const struct board_info __initcon
+@@ -1153,6 +1225,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
-@@ -1271,6 +1344,7 @@ static struct of_device_id const bcm963x
+@@ -1223,6 +1296,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, },
static struct sprom_fixup __initdata ar5387un_fixups[] = {
{ .offset = 2, .value = 0x05bb },
{ .offset = 65, .value = 0x1204 },
-@@ -1273,6 +1327,7 @@ static const struct board_info __initcon
+@@ -1225,6 +1279,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
-@@ -1344,6 +1399,7 @@ static struct of_device_id const bcm963x
+@@ -1296,6 +1351,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, },
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -1341,6 +1355,7 @@ static const struct board_info __initcon
+@@ -1293,6 +1307,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
-@@ -1411,6 +1426,7 @@ static struct of_device_id const bcm963x
+@@ -1363,6 +1378,7 @@ static struct of_device_id const bcm963x
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
{ .compatible = "brcm,bcm96345gw2", .data = &board_96345gw2, },
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -1171,6 +1172,92 @@ static struct board_info __initdata boar
+@@ -1123,6 +1124,92 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -1391,6 +1478,9 @@ static const struct board_info __initcon
+@@ -1343,6 +1430,9 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_ct6373_1,
&board_HW553,
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -1463,6 +1553,9 @@ static struct of_device_id const bcm963x
+@@ -1415,6 +1505,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, },
#endif /* CONFIG_BCM63XX_CPU_6345 */
/*
-@@ -1443,6 +1462,7 @@ static const struct board_info __initcon
+@@ -1395,6 +1414,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
#endif
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
-@@ -1517,6 +1537,7 @@ static struct of_device_id const bcm963x
+@@ -1469,6 +1489,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, },
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -1452,6 +1489,7 @@ static const struct board_info __initcon
+@@ -1404,6 +1441,7 @@ static const struct board_info __initcon
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -1527,6 +1565,7 @@ static struct of_device_id const bcm963x
+@@ -1479,6 +1517,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
-@@ -1382,6 +1382,41 @@ static struct board_info __initdata boar
+@@ -1334,6 +1334,41 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_6362 */
/*
-@@ -1545,6 +1580,7 @@ static const struct board_info __initcon
+@@ -1497,6 +1532,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6362
&board_nb6,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
-@@ -1626,6 +1662,7 @@ static struct of_device_id const bcm963x
+@@ -1578,6 +1614,7 @@ static struct of_device_id const bcm963x
{ .compatible = "telsey,cpva642", .data = &board_CPVA642, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6362
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -1517,6 +1566,9 @@ static const struct board_info __initcon
+@@ -1469,6 +1518,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5381u,
-@@ -1594,6 +1646,9 @@ static struct of_device_id const bcm963x
+@@ -1546,6 +1598,9 @@ static struct of_device_id const bcm963x
#ifdef CONFIG_BCM63XX_CPU_3368
{ .compatible = "netgear,cvg834g", .data = &board_cvg834g, },
#endif
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -1568,6 +1612,7 @@ static const struct board_info __initcon
+@@ -1520,6 +1564,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -1648,6 +1693,7 @@ static struct of_device_id const bcm963x
+@@ -1600,6 +1645,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
-@@ -1604,6 +1604,50 @@ static struct board_info __initdata boar
+@@ -1556,6 +1556,50 @@ static struct board_info __initdata boar
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -1684,6 +1728,9 @@ static const struct board_info __initcon
+@@ -1636,6 +1680,9 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
#endif
};
static struct of_device_id const bcm963xx_boards_dt[] = {
-@@ -1771,6 +1818,7 @@ static struct of_device_id const bcm963x
+@@ -1723,6 +1770,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
-@@ -655,6 +655,21 @@ static struct board_info __initdata boar
+@@ -647,6 +647,21 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
/* BT Voyager 2110 */
static struct board_info __initdata board_V2110 = {
-@@ -1699,6 +1714,7 @@ static const struct board_info __initcon
+@@ -1651,6 +1666,7 @@ static const struct board_info __initcon
&board_96348A_122,
&board_CPVA502plus,
&board_96348W3,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -1763,6 +1779,7 @@ static struct of_device_id const bcm963x
+@@ -1715,6 +1731,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
-@@ -1660,6 +1660,51 @@ static struct board_info __initdata boar
+@@ -1612,6 +1612,51 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -1746,6 +1791,7 @@ static const struct board_info __initcon
+@@ -1698,6 +1743,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
#endif
};
-@@ -1836,6 +1882,7 @@ static struct of_device_id const bcm963x
+@@ -1788,6 +1834,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
-@@ -1622,6 +1622,64 @@ static struct board_info __initdata boar
+@@ -1574,6 +1574,64 @@ 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,
-@@ -1790,6 +1848,7 @@ static const struct board_info __initcon
+@@ -1742,6 +1800,7 @@ static const struct board_info __initcon
&board_96368mvngr,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963269bhr,
&board_vw6339gu,
#endif
-@@ -1881,6 +1940,7 @@ static struct of_device_id const bcm963x
+@@ -1833,6 +1892,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
-@@ -1616,6 +1618,47 @@ static struct board_info __initdata boar
+@@ -1568,6 +1570,47 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
-@@ -1846,6 +1889,7 @@ static const struct board_info __initcon
+@@ -1798,6 +1841,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,
-@@ -1938,6 +1982,7 @@ static struct of_device_id const bcm963x
+@@ -1890,6 +1934,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
-@@ -1619,6 +1619,59 @@ static struct board_info __initdata boar
+@@ -1571,6 +1571,59 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
-@@ -1889,6 +1942,7 @@ static const struct board_info __initcon
+@@ -1841,6 +1894,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -1982,6 +2036,7 @@ static struct of_device_id const bcm963x
+@@ -1934,6 +1988,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
-@@ -1672,6 +1672,59 @@ static struct board_info __initdata boar
+@@ -1624,6 +1624,59 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
-@@ -1943,6 +1996,7 @@ static const struct board_info __initcon
+@@ -1895,6 +1948,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2037,6 +2091,7 @@ static struct of_device_id const bcm963x
+@@ -1989,6 +2043,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
-@@ -1628,6 +1628,48 @@ static struct sprom_fixup __initdata vr3
+@@ -1580,6 +1580,48 @@ static struct sprom_fixup __initdata vr3
{ .offset = 115, .value = 0xfad9 },
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -1995,6 +2037,7 @@ static const struct board_info __initcon
+@@ -1947,6 +1989,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
-@@ -2093,6 +2136,7 @@ static struct of_device_id const bcm963x
+@@ -2045,6 +2088,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
-@@ -1312,6 +1312,36 @@ static struct board_info __initdata boar
+@@ -1264,6 +1264,36 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -2021,6 +2051,7 @@ static const struct board_info __initcon
+@@ -1973,6 +2003,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,
-@@ -2113,6 +2144,7 @@ static struct of_device_id const bcm963x
+@@ -2065,6 +2096,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, },
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
-@@ -2002,6 +2045,7 @@ static const struct board_info __initcon
+@@ -1954,6 +1997,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
-@@ -2090,6 +2134,7 @@ static struct of_device_id const bcm963x
+@@ -2042,6 +2086,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2039,6 +2107,7 @@ static const struct board_info __initcon
+@@ -1991,6 +2059,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,
-@@ -2132,6 +2201,7 @@ static struct of_device_id const bcm963x
+@@ -2084,6 +2153,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
-@@ -1760,6 +1760,30 @@ static struct board_info __initdata boar
+@@ -1712,6 +1712,30 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2181,6 +2205,7 @@ static const struct board_info __initcon
+@@ -2133,6 +2157,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2283,6 +2308,7 @@ static struct of_device_id const bcm963x
+@@ -2235,6 +2260,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
-@@ -1423,6 +1423,31 @@ static struct board_info __initdata boar
+@@ -1375,6 +1375,31 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_HW520 = {
.name = "HW6358GW_B",
.expected_cpu_id = 0x6358,
-@@ -2188,6 +2213,7 @@ static const struct board_info __initcon
+@@ -2140,6 +2165,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,
-@@ -2297,6 +2323,7 @@ static struct of_device_id const bcm963x
+@@ -2249,6 +2275,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
-@@ -1809,6 +1809,52 @@ static struct board_info __initdata boar
+@@ -1761,6 +1761,52 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2232,6 +2278,7 @@ static const struct board_info __initcon
+@@ -2184,6 +2230,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
-@@ -2335,6 +2382,7 @@ static struct of_device_id const bcm963x
+@@ -2287,6 +2334,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, },
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
-@@ -2203,6 +2242,7 @@ static const struct board_info __initcon
+@@ -2155,6 +2194,7 @@ static const struct board_info __initcon
&board_96318ref,
&board_96318ref_p300,
&board_dsl_2751b_d1,
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
-@@ -2300,6 +2340,7 @@ static struct of_device_id const bcm963x
+@@ -2252,6 +2292,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
-@@ -2042,6 +2042,59 @@ static struct board_info __initdata boar
+@@ -1994,6 +1994,59 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
-@@ -2322,6 +2375,7 @@ static const struct board_info __initcon
+@@ -2274,6 +2327,7 @@ static const struct board_info __initcon
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
-@@ -2422,6 +2476,7 @@ static struct of_device_id const bcm963x
+@@ -2374,6 +2428,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, },
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
-@@ -2306,6 +2350,7 @@ static const struct board_info __initcon
+@@ -2258,6 +2302,7 @@ static const struct board_info __initcon
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
-@@ -2404,6 +2449,7 @@ static struct of_device_id const bcm963x
+@@ -2356,6 +2401,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
-@@ -1938,6 +1938,52 @@ static struct board_info __initdata boar
+@@ -1890,6 +1890,52 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
-@@ -2416,6 +2462,7 @@ static const struct board_info __initcon
+@@ -2368,6 +2414,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
&board_HG655b,
&board_P870HW51A_V2,
&board_VR3025u,
-@@ -2524,6 +2571,7 @@ static struct of_device_id const bcm963x
+@@ -2476,6 +2523,7 @@ static struct of_device_id const bcm963x
{ .compatible = "comtrend,vr-3025un", .data = &board_VR3025un, },
{ .compatible = "comtrend,vr-3026e", .data = &board_VR3026e, },
{ .compatible = "comtrend,wap-5813n", .data = &board_WAP5813n, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1892,6 +1892,42 @@ static struct board_info __initdata boar
+@@ -1844,6 +1844,42 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_HG655b = {
.name = "HW65x",
.expected_cpu_id = 0x6368,
-@@ -2462,6 +2498,7 @@ static const struct board_info __initcon
+@@ -2414,6 +2450,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
&board_HG622,
&board_HG655b,
&board_P870HW51A_V2,
-@@ -2574,6 +2611,7 @@ static struct of_device_id const bcm963x
+@@ -2526,6 +2563,7 @@ static struct of_device_id const bcm963x
{ .compatible = "huawei,hg622", .data = &board_HG622, },
{ .compatible = "huawei,hg655b", .data = &board_HG655b, },
{ .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1782,6 +1782,51 @@ static struct board_info __initdata boar
+@@ -1734,6 +1734,51 @@ static struct board_info __initdata boar
* known 6368 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6368
static struct board_info __initdata board_96368mvwg = {
.name = "96368MVWG",
.expected_cpu_id = 0x6368,
-@@ -2495,6 +2540,7 @@ static const struct board_info __initcon
+@@ -2447,6 +2492,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
-@@ -2602,6 +2648,7 @@ static struct of_device_id const bcm963x
+@@ -2554,6 +2600,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2266,6 +2266,44 @@ static struct board_info __initdata boar
+@@ -2218,6 +2218,44 @@ static struct board_info __initdata boar
},
};
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
-@@ -2548,6 +2586,7 @@ static const struct board_info __initcon
+@@ -2500,6 +2538,7 @@ static const struct board_info __initcon
&board_HG622,
&board_HG655b,
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
&board_VR3026e,
-@@ -2659,6 +2698,7 @@ static struct of_device_id const bcm963x
+@@ -2611,6 +2650,7 @@ static struct of_device_id const bcm963x
{ .compatible = "huawei,hg655b", .data = &board_HG655b, },
{ .compatible = "netgear,dgnd3700v1", .data = &board_DGND3700v1_3800B, },
{ .compatible = "netgear,evg2000", .data = &board_EVG2000, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2116,6 +2116,29 @@ static struct board_info __initdata boar
+@@ -2068,6 +2068,29 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
-@@ -2586,6 +2609,7 @@ static const struct board_info __initcon
+@@ -2538,6 +2561,7 @@ static const struct board_info __initcon
&board_HG622,
&board_HG655b,
&board_P870HW51A_V2,
&board_VH4032N,
&board_VR3025u,
&board_VR3025un,
-@@ -2687,6 +2711,7 @@ static struct of_device_id const bcm963x
+@@ -2639,6 +2663,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
static struct sprom_fixup __initdata dsl2751b_e1_fixups[] = {
{ .offset = 96, .value = 0x2046 },
{ .offset = 97, .value = 0xfe9d },
-@@ -2526,6 +2587,7 @@ static const struct board_info __initcon
+@@ -2478,6 +2539,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,
&board_dsl_2751b_d1,
&board_FAST2704N,
#endif
-@@ -2631,6 +2693,7 @@ static struct of_device_id const bcm963x
+@@ -2583,6 +2645,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, },
static struct sprom_fixup __initdata ar5381u_fixups[] = {
{ .offset = 97, .value = 0xfee5 },
{ .offset = 98, .value = 0x157c },
-@@ -2593,6 +2660,7 @@ static const struct board_info __initcon
+@@ -2545,6 +2612,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
-@@ -2707,6 +2775,7 @@ static struct of_device_id const bcm963x
+@@ -2659,6 +2727,7 @@ static struct of_device_id const bcm963x
{ .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, },
{ .compatible = "nucom,r5010unv2", .data = &board_R5010UNV2, },
{ .compatible = "sagem,f@st2704v2", .data = &board_FAST2704V2, },
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2642,6 +2642,49 @@ static struct board_info __initdata boar
+@@ -2594,6 +2594,49 @@ static struct board_info __initdata boar
},
},
};
#endif /* CONFIG_BCM63XX_CPU_63268 */
/*
-@@ -2750,6 +2793,7 @@ static const struct board_info __initcon
+@@ -2702,6 +2745,7 @@ static const struct board_info __initcon
&board_963268bu_p300,
&board_963269bhr,
&board_vw6339gu,
#endif
};
-@@ -2862,6 +2906,7 @@ static struct of_device_id const bcm963x
+@@ -2814,6 +2858,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm963268bu_p300", .data = &board_963268bu_p300, },
{ .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, },
{ .compatible = "inteno,vg50", .data = &board_vw6339gu, },