brcm63xx: probe SPI connected switches through DT

Now that we can configure the switches through DT, do so.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
This commit is contained in:
Jonas Gorski 2017-02-09 21:58:36 +01:00
parent 5df15c06cc
commit b43c190079
39 changed files with 198 additions and 164 deletions

View file

@ -119,3 +119,53 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pci>;
};
&lsspi {
switch@1 {
compatible = "brcm,bcm53115";
reg = <1>;
spi-max-frequency = <781000>;
lede,alias = "eth0";
ports {
#address-cells = <1>;
#size-cells = <0>;
wan@0 {
reg = <0>;
label = "wan";
};
lan@1 {
reg = <1>;
label = "lan1";
};
lan@2 {
reg = <2>;
label = "lan2";
};
lan@3 {
reg = <3>;
label = "lan3";
};
lan@4 {
reg = <4>;
label = "lan4";
};
cpu@8 {
reg = <8>;
label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
};
};
};
};
};

View file

@ -85,6 +85,58 @@
};
};
&lsspi {
switch@0 {
compatible = "brcm,bcm53115";
reg = <0>;
spi-max-frequency = <781000>;
lede,alias = "eth0";
ports {
#address-cells = <1>;
#size-cells = <0>;
lan@0 {
reg = <0>;
label = "lan4";
};
lan@1 {
reg = <1>;
label = "lan3";
};
lan@2 {
reg = <2>;
label = "lan2";
};
lan@3 {
reg = <3>;
label = "lan1";
};
wan@4 {
reg = <4>;
label = "wan";
};
cpu@5 {
reg = <5>;
label = "cpu";
fixed-link {
speed = <1000>;
full-duplex;
asym-pause;
pause;
};
};
};
};
};
&pinctrl {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pci>;

View file

@ -1,33 +0,0 @@
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -12,6 +12,7 @@
#include <linux/string.h>
#include <linux/platform_device.h>
#include <linux/ssb/ssb.h>
+#include <linux/spi/spi.h>
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
@@ -207,6 +208,9 @@ int __init board_register_devices(void)
bcm63xx_hsspi_register();
+ if (board.num_spis)
+ spi_register_board_info(board.spis, board.num_spis);
+
bcm63xx_flash_register();
bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);
--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
@@ -53,6 +53,10 @@ struct board_info {
/* External PHY reset GPIO flags from gpio.h */
unsigned long ephy_reset_gpio_flags;
+
+ /* Additional platform devices */
+ struct spi_board_info *spis;
+ unsigned int num_spis;
};
#endif /* ! BOARD_BCM963XX_H_ */

View file

@ -95,7 +95,7 @@
* _REG relative to RSET_USBD
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -127,6 +127,15 @@ void __init board_early_setup(const stru
@@ -126,6 +126,15 @@ void __init board_early_setup(const stru
}
bcm_gpio_writel(val, GPIO_MODE_REG);

View file

@ -30,7 +30,7 @@
#endif /* BCM63XX_DEV_USB_OHCI_H_ */
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -167,6 +167,8 @@ static struct platform_device bcm63xx_gp
@@ -166,6 +166,8 @@ static struct platform_device bcm63xx_gp
*/
int __init board_register_devices(void)
{
@ -39,7 +39,7 @@
if (board.has_uart0)
bcm63xx_uart_register(0);
@@ -188,14 +190,21 @@ int __init board_register_devices(void)
@@ -187,14 +189,21 @@ int __init board_register_devices(void)
!board_get_mac_address(board.enetsw.mac_addr))
bcm63xx_enetsw_register(&board.enetsw);

View file

@ -46,16 +46,16 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
u8 *boot_addr, *cfe;
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -14,6 +14,8 @@
@@ -13,6 +13,8 @@
#include <linux/platform_device.h>
#include <linux/ssb/ssb.h>
#include <linux/spi/spi.h>
#include <asm/addrspace.h>
+#include <asm/bootinfo.h>
+#include <asm/fw/cfe/cfe_api.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_uart.h>
@@ -32,6 +34,8 @@
@@ -31,6 +33,8 @@
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
@ -64,7 +64,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#define PFX "board: "
static struct board_info board;
@@ -82,6 +86,15 @@ const char *board_get_name(void)
@@ -81,6 +85,15 @@ const char *board_get_name(void)
return board.name;
}

View file

@ -31,7 +31,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -41,44 +41,6 @@
@@ -40,44 +40,6 @@
static struct board_info board;
/*
@ -76,7 +76,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
* return board name for /proc/cpuinfo
*/
const char *board_get_name(void)
@@ -181,6 +143,7 @@ static struct platform_device bcm63xx_gp
@@ -180,6 +142,7 @@ static struct platform_device bcm63xx_gp
int __init board_register_devices(void)
{
int usbh_ports = 0;
@ -84,7 +84,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
if (board.has_uart0)
bcm63xx_uart_register(0);
@@ -225,15 +188,10 @@ int __init board_register_devices(void)
@@ -224,15 +187,10 @@ int __init board_register_devices(void)
/* Generate MAC address for WLAN and register our SPROM,
* do this after registering enet devices
*/

View file

@ -17,7 +17,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -143,7 +143,6 @@ static struct platform_device bcm63xx_gp
@@ -142,7 +142,6 @@ static struct platform_device bcm63xx_gp
int __init board_register_devices(void)
{
int usbh_ports = 0;
@ -25,7 +25,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
if (board.has_uart0)
bcm63xx_uart_register(0);
@@ -189,8 +188,8 @@ int __init board_register_devices(void)
@@ -188,8 +187,8 @@ int __init board_register_devices(void)
* do this after registering enet devices
*/
@ -83,13 +83,13 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/*
* flash mapping
@@ -55,6 +56,9 @@ struct board_info {
@@ -54,6 +55,9 @@ struct board_info {
/* External PHY reset GPIO flags from gpio.h */
unsigned long ephy_reset_gpio_flags;
+
+ /* fallback sprom config */
+ struct fallback_sprom_data fallback_sprom;
+
/* Additional platform devices */
struct spi_board_info *spis;
unsigned int num_spis;
};
#endif /* ! BOARD_BCM963XX_H_ */

View file

@ -116,7 +116,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
.has_phy = 1,
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -188,8 +188,9 @@ int __init board_register_devices(void)
@@ -187,8 +187,9 @@ int __init board_register_devices(void)
* do this after registering enet devices
*/

View file

@ -25,7 +25,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
select SSB
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -10,12 +10,15 @@
@@ -10,11 +10,14 @@
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/string.h>
@ -33,7 +33,6 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/ssb/ssb.h>
#include <linux/spi/spi.h>
#include <asm/addrspace.h>
#include <asm/bootinfo.h>
#include <asm/fw/cfe/cfe_api.h>
@ -41,7 +40,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
#include <bcm63xx_dev_uart.h>
@@ -127,8 +130,23 @@ void __init board_setup(void)
@@ -126,8 +129,23 @@ void __init board_setup(void)
/* make sure we're running on expected cpu */
if (bcm63xx_get_cpu_id() != board.expected_cpu_id)
panic("unexpected CPU for bcm963xx board");
@ -65,7 +64,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
static struct gpio_led_platform_data bcm63xx_led_data;
static struct platform_device bcm63xx_gpio_leds = {
@@ -137,6 +155,13 @@ static struct platform_device bcm63xx_gp
@@ -136,6 +154,13 @@ static struct platform_device bcm63xx_gp
.dev.platform_data = &bcm63xx_led_data,
};
@ -79,7 +78,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/*
* third stage init callback, register all board devices.
*/
@@ -144,6 +169,15 @@ int __init board_register_devices(void)
@@ -143,6 +168,15 @@ int __init board_register_devices(void)
{
int usbh_ports = 0;

View file

@ -54,7 +54,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
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
@@ -247,3 +247,21 @@ int __init board_register_devices(void)
@@ -243,3 +243,21 @@ int __init board_register_devices(void)
return 0;
}

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -145,6 +145,18 @@ void __init device_tree_init(void)
@@ -144,6 +144,18 @@ void __init device_tree_init(void)
unflatten_and_copy_device_tree();
}

View file

@ -12,7 +12,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -190,6 +190,8 @@ int __init board_register_devices(void)
@@ -189,6 +189,8 @@ int __init board_register_devices(void)
}
#endif

View file

@ -26,7 +26,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -255,9 +255,10 @@ int __init board_register_devices(void)
@@ -251,9 +251,10 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_leds);

View file

@ -12,7 +12,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -29,9 +29,7 @@
@@ -28,9 +28,7 @@
#include <bcm63xx_dev_enet.h>
#include <bcm63xx_dev_dsp.h>
#include <bcm63xx_dev_flash.h>
@ -22,7 +22,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
#include <bcm63xx_dev_usb_ehci.h>
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_usbd.h>
@@ -241,10 +239,6 @@ int __init board_register_devices(void)
@@ -240,10 +238,6 @@ int __init board_register_devices(void)
bcm63xx_register_fallback_sprom(&board.fallback_sprom)))
pr_err(PFX "failed to register fallback SPROM\n");
@ -30,6 +30,6 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
-
- bcm63xx_hsspi_register();
-
if (board.num_spis)
spi_register_board_info(board.spis, board.num_spis);
bcm63xx_flash_register();
bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds);

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -100,6 +100,8 @@ void __init board_early_setup(const stru
@@ -99,6 +99,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;

View file

@ -10,7 +10,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -34,6 +34,7 @@
@@ -33,6 +33,7 @@
#include <bcm63xx_dev_usb_ohci.h>
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
@ -18,7 +18,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
#include "board_common.h"
@@ -180,6 +181,7 @@ static struct of_device_id of_ids[] = {
@@ -179,6 +180,7 @@ static struct of_device_id of_ids[] = {
int __init board_register_devices(void)
{
int usbh_ports = 0;
@ -26,7 +26,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
#if CONFIG_OF
if (of_have_populated_dt()) {
@@ -256,6 +258,10 @@ int __init board_register_devices(void)
@@ -252,6 +254,10 @@ int __init board_register_devices(void)
board.ephy_reset_gpio_flags);
}

View file

@ -39,7 +39,7 @@
return;
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -260,7 +260,8 @@ int __init board_register_devices(void)
@@ -256,7 +256,8 @@ int __init board_register_devices(void)
/* register any fixups */
for (i = 0; i < board.has_caldata; i++)

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -261,7 +261,7 @@ int __init board_register_devices(void)
@@ -257,7 +257,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,

View file

@ -28,7 +28,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
obj-y += boards/
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -35,6 +35,7 @@
@@ -34,6 +34,7 @@
#include <bcm63xx_dev_usb_usbd.h>
#include <board_bcm963xx.h>
#include <pci_ath9k_fixup.h>
@ -36,7 +36,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
#include "board_common.h"
@@ -259,9 +260,19 @@ int __init board_register_devices(void)
@@ -255,9 +256,19 @@ int __init board_register_devices(void)
}
/* register any fixups */

View file

@ -33,7 +33,7 @@ Subject: [PATCH] MIPS: BCM63XX: add inventel Livebox support
+obj-$(CONFIG_BOARD_LIVEBOX) += board_livebox.o
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -57,7 +57,7 @@ void __init board_prom_init(void)
@@ -56,7 +56,7 @@ void __init board_prom_init(void)
if (fw_arg3 == CFE_EPTSEAL)
board_bcm963xx_init();
else

View file

@ -91,7 +91,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
#endif
--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -84,12 +84,25 @@ void __init board_early_setup(const stru
@@ -83,12 +83,25 @@ void __init board_early_setup(const stru
bcm63xx_pci_enabled = 1;
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G2_PCI;

View file

@ -9,25 +9,11 @@
#include <asm/addrspace.h>
#include <bcm63xx_board.h>
#include <bcm63xx_cpu.h>
@@ -1681,6 +1683,65 @@ static struct board_info __initdata boar
@@ -1681,6 +1683,48 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
+
+static struct b53_platform_data WAP5813n_b53_pdata = {
+ .alias = "eth0",
+};
+
+static struct spi_board_info WAP5813n_spi_devices[] = {
+ {
+ .modalias = "b53-switch",
+ .max_speed_hz = 781000,
+ .bus_num = 0,
+ .chip_select = 0,
+ .platform_data = &WAP5813n_b53_pdata,
+ }
+};
+
+static struct sprom_fixup __initdata wap5813n_fixups[] = {
+ { .offset = 97, .value = 0xfeed },
+ { .offset = 98, .value = 0x15d1 },
@ -68,14 +54,11 @@
+ .board_fixups = wap5813n_fixups,
+ .num_board_fixups = ARRAY_SIZE(wap5813n_fixups),
+ },
+
+ .spis = WAP5813n_spi_devices,
+ .num_spis = ARRAY_SIZE(WAP5813n_spi_devices),
+};
#endif /* CONFIG_BCM63XX_CPU_6368 */
/*
@@ -1917,6 +1978,7 @@ static const struct board_info __initcon
@@ -1917,6 +1961,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@ -83,7 +66,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
&board_963268bu_p300,
@@ -2009,6 +2071,7 @@ static struct of_device_id const bcm963x
@@ -2009,6 +2054,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, },

View file

@ -58,10 +58,10 @@
+ },
+};
+
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
@@ -1978,6 +2032,7 @@ static const struct board_info __initcon
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
@@ -1961,6 +2015,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -2071,6 +2126,7 @@ static struct of_device_id const bcm963x
@@ -2054,6 +2109,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, },

View file

@ -58,10 +58,10 @@
+ },
+};
+
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
@@ -2033,6 +2087,7 @@ static const struct board_info __initcon
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
@@ -2016,6 +2070,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_VR3025u,
@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -2127,6 +2182,7 @@ static struct of_device_id const bcm963x
@@ -2110,6 +2165,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, },

View file

@ -50,7 +50,7 @@
static struct board_info __initdata board_VR3025u = {
.name = "96368M-1541N",
.expected_cpu_id = 0x6368,
@@ -2086,6 +2129,7 @@ static const struct board_info __initcon
@@ -2069,6 +2112,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@ -58,7 +58,7 @@
&board_VR3025u,
&board_VR3025un,
&board_WAP5813n,
@@ -2184,6 +2228,7 @@ static struct of_device_id const bcm963x
@@ -2167,6 +2211,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, },

View file

@ -38,7 +38,7 @@
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
@@ -2113,6 +2144,7 @@ static const struct board_info __initcon
@@ -2096,6 +2127,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
@ -46,7 +46,7 @@
&board_HW553,
&board_HW556_A,
&board_HW556_B,
@@ -2205,6 +2237,7 @@ static struct of_device_id const bcm963x
@@ -2188,6 +2220,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, },

View file

@ -51,7 +51,7 @@
static struct board_info __initdata board_A4001N1 = {
.name = "963281T_TEF",
.expected_cpu_id = 0x6328,
@@ -2095,6 +2139,7 @@ static const struct board_info __initcon
@@ -2078,6 +2122,7 @@ static const struct board_info __initcon
&board_AR5381u,
&board_AR5387un,
&board_963281TAN,
@ -59,7 +59,7 @@
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
@@ -2183,6 +2228,7 @@ static struct of_device_id const bcm963x
@@ -2166,6 +2211,7 @@ static struct of_device_id const bcm963x
{ .compatible = "brcm,bcm96318ref_p300", .data = &board_96318ref_p300, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6328

View file

@ -76,7 +76,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
@@ -2133,6 +2202,7 @@ static const struct board_info __initcon
@@ -2116,6 +2185,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
&board_96318ref_p300,
@ -84,7 +84,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -2226,6 +2296,7 @@ static struct of_device_id const bcm963x
@@ -2209,6 +2279,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, },

View file

@ -1,23 +1,9 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1828,6 +1828,48 @@ static struct board_info __initdata boar
@@ -1828,6 +1828,31 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
+static struct b53_platform_data DGND3700v1_3800B_b53_pdata = {
+ .alias = "eth0",
+};
+
+static struct spi_board_info DGND3700v1_3800B_spi_devices[] = {
+ {
+ .modalias = "b53-switch",
+ .max_speed_hz = 781000,
+ .bus_num = 0,
+ .chip_select = 1,
+ .platform_data = &DGND3700v1_3800B_b53_pdata,
+ }
+};
+
+static struct board_info __initdata board_DGND3700v1_3800B = {
+ .name = "DGND3700v1_3800B",
+ .expected_cpu_id = 0x6368,
@ -41,15 +27,12 @@
+ },
+ },
+ },
+
+ .spis = DGND3700v1_3800B_spi_devices,
+ .num_spis = ARRAY_SIZE(DGND3700v1_3800B_spi_devices),
+};
+
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
@@ -2276,6 +2318,7 @@ static const struct board_info __initcon
@@ -2259,6 +2284,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
@ -57,7 +40,7 @@
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
@@ -2378,6 +2421,7 @@ static struct of_device_id const bcm963x
@@ -2361,6 +2387,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, },

View file

@ -33,7 +33,7 @@
static struct board_info __initdata board_HW520 = {
.name = "HW6358GW_B",
.expected_cpu_id = 0x6358,
@@ -2301,6 +2327,7 @@ static const struct board_info __initcon
@@ -2267,6 +2293,7 @@ static const struct board_info __initcon
&board_nb4_ser_r0,
&board_nb4_fxc_r1,
&board_ct6373_1,
@ -41,7 +41,7 @@
&board_HW520,
&board_HW553,
&board_HW556_A,
@@ -2410,6 +2437,7 @@ static struct of_device_id const bcm963x
@@ -2376,6 +2403,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, },

View file

@ -1,7 +1,7 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1896,6 +1896,53 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(DGND3700v1_3800B_spi_devices),
@@ -1879,6 +1879,53 @@ static struct board_info __initdata boar
},
};
+static struct board_info __initdata board_HG655b = {
@ -54,7 +54,7 @@
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
@@ -2346,6 +2393,7 @@ static const struct board_info __initcon
@@ -2312,6 +2359,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
@ -62,7 +62,7 @@
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
@@ -2449,6 +2497,7 @@ static struct of_device_id const bcm963x
@@ -2415,6 +2463,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, },

View file

@ -47,7 +47,7 @@
#endif /* CONFIG_BCM63XX_CPU_6318 */
/*
@@ -2318,6 +2358,7 @@ static const struct board_info __initcon
@@ -2284,6 +2324,7 @@ static const struct board_info __initcon
&board_96318ref,
&board_96318ref_p300,
&board_dsl_2751b_d1,
@ -55,7 +55,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
@@ -2415,6 +2456,7 @@ static struct of_device_id const bcm963x
@@ -2381,6 +2422,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, },

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2134,6 +2134,60 @@ static struct board_info __initdata boar
@@ -2117,6 +2117,60 @@ static struct board_info __initdata boar
},
};
@ -58,10 +58,10 @@
+ },
+};
+
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
@@ -2438,6 +2492,7 @@ static const struct board_info __initcon
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
@@ -2404,6 +2458,7 @@ static const struct board_info __initcon
&board_P870HW51A_V2,
&board_VR3025u,
&board_VR3025un,
@ -69,7 +69,7 @@
&board_WAP5813n,
#endif
#ifdef CONFIG_BCM63XX_CPU_63268
@@ -2538,6 +2593,7 @@ static struct of_device_id const bcm963x
@@ -2504,6 +2559,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, },

View file

@ -52,7 +52,7 @@
#endif /* CONFIG_BCM63XX_CPU_6328 */
/*
@@ -2423,6 +2468,7 @@ static const struct board_info __initcon
@@ -2389,6 +2434,7 @@ static const struct board_info __initcon
&board_A4001N1,
&board_dsl_274xb_f1,
&board_FAST2704V2,
@ -60,7 +60,7 @@
#endif
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
@@ -2521,6 +2567,7 @@ static struct of_device_id const bcm963x
@@ -2487,6 +2533,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, },

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2028,6 +2028,53 @@ static struct board_info __initdata boar
@@ -2011,6 +2011,53 @@ static struct board_info __initdata boar
},
};
@ -54,7 +54,7 @@
static struct sprom_fixup __initdata vr3025u_fixups[] = {
{ .offset = 97, .value = 0xfeb3 },
{ .offset = 98, .value = 0x1618 },
@@ -2534,6 +2581,7 @@ static const struct board_info __initcon
@@ -2500,6 +2547,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
@ -62,7 +62,7 @@
&board_HG655b,
&board_P870HW51A_V2,
&board_VR3025u,
@@ -2642,6 +2690,7 @@ static struct of_device_id const bcm963x
@@ -2608,6 +2656,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, },

View file

@ -1,7 +1,7 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -1981,6 +1981,43 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(DGND3700v1_3800B_spi_devices),
@@ -1964,6 +1964,43 @@ static struct board_info __initdata boar
},
};
+static struct sprom_fixup __initdata EVG2000_fixups[] = {
@ -44,7 +44,7 @@
static struct board_info __initdata board_HG655b = {
.name = "HW65x",
.expected_cpu_id = 0x6368,
@@ -2581,6 +2618,7 @@ static const struct board_info __initcon
@@ -2547,6 +2584,7 @@ static const struct board_info __initcon
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
@ -52,7 +52,7 @@
&board_HG622,
&board_HG655b,
&board_P870HW51A_V2,
@@ -2693,6 +2731,7 @@ static struct of_device_id const bcm963x
@@ -2659,6 +2697,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, },

View file

@ -53,7 +53,7 @@
static struct board_info __initdata board_96368mvwg = {
.name = "96368MVWG",
.expected_cpu_id = 0x6368,
@@ -2615,6 +2661,7 @@ static const struct board_info __initcon
@@ -2581,6 +2627,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
@ -61,7 +61,7 @@
&board_96368mvwg,
&board_96368mvngr,
&board_DGND3700v1_3800B,
@@ -2722,6 +2769,7 @@ static struct of_device_id const bcm963x
@@ -2688,6 +2735,7 @@ static struct of_device_id const bcm963x
{ .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
#endif
#ifdef CONFIG_BCM63XX_CPU_6368

View file

@ -1,6 +1,6 @@
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2363,6 +2363,45 @@ static struct board_info __initdata boar
@@ -2346,6 +2346,45 @@ static struct board_info __initdata boar
},
};
@ -43,10 +43,10 @@
+ .use_fallback_sprom = 1,
+};
+
static struct b53_platform_data WAP5813n_b53_pdata = {
.alias = "eth0",
};
@@ -2669,6 +2708,7 @@ static const struct board_info __initcon
static struct sprom_fixup __initdata wap5813n_fixups[] = {
{ .offset = 97, .value = 0xfeed },
{ .offset = 98, .value = 0x15d1 },
@@ -2635,6 +2674,7 @@ static const struct board_info __initcon
&board_HG622,
&board_HG655b,
&board_P870HW51A_V2,
@ -54,7 +54,7 @@
&board_VR3025u,
&board_VR3025un,
&board_VR3026e,
@@ -2780,6 +2820,7 @@ static struct of_device_id const bcm963x
@@ -2746,6 +2786,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, },