--- /dev/null
+--- a/arch/mips/bcm63xx/usb-common.c
++++ b/arch/mips/bcm63xx/usb-common.c
+@@ -109,6 +109,27 @@ void bcm63xx_usb_priv_ohci_cfg_set(void)
+ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SETUP_6368_REG);
+ reg |= USBH_PRIV_SETUP_IOC_MASK;
+ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_SETUP_6368_REG);
++ } else if (BCMCPU_IS_6318()) {
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_PLL_CTRL1_6318_REG);
++ reg |= USBH_PRIV_PLL_CTRL1_SUSP_EN;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_PLL_CTRL1_6318_REG);
++
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SWAP_6318_REG);
++ reg &= ~USBH_PRIV_SWAP_OHCI_ENDN_MASK;
++ reg |= USBH_PRIV_SWAP_OHCI_DATA_MASK;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_SWAP_6318_REG);
++
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SETUP_6318_REG);
++ reg |= USBH_PRIV_SETUP_IOC_MASK;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_SETUP_6318_REG);
++
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_PLL_CTRL1_6318_REG);
++ reg &= ~USBH_PRIV_PLL_CTRL1_IDDQ_PWRDN;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_PLL_CTRL1_6318_REG);
++
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SIM_CTRL_6318_REG);
++ reg |= USBH_PRIV_SIM_CTRL_LADDR_SEL;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_SIM_CTRL_6318_REG);
+ }
+
+ spin_unlock_irqrestore(&usb_priv_reg_lock, flags);
+@@ -144,6 +165,27 @@ void bcm63xx_usb_priv_ehci_cfg_set(void)
+ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SETUP_6368_REG);
+ reg |= USBH_PRIV_SETUP_IOC_MASK;
+ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_SETUP_6368_REG);
++ } else if (BCMCPU_IS_6318()) {
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_PLL_CTRL1_6318_REG);
++ reg |= USBH_PRIV_PLL_CTRL1_SUSP_EN;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_PLL_CTRL1_6318_REG);
++
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SWAP_6318_REG);
++ reg &= ~USBH_PRIV_SWAP_EHCI_ENDN_MASK;
++ reg |= USBH_PRIV_SWAP_EHCI_DATA_MASK;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_SWAP_6318_REG);
++
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SETUP_6318_REG);
++ reg |= USBH_PRIV_SETUP_IOC_MASK;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_SETUP_6318_REG);
++
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_PLL_CTRL1_6318_REG);
++ reg &= ~USBH_PRIV_PLL_CTRL1_IDDQ_PWRDN;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_PLL_CTRL1_6318_REG);
++
++ reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SIM_CTRL_6318_REG);
++ reg |= USBH_PRIV_SIM_CTRL_LADDR_SEL;
++ bcm_rset_writel(RSET_USBH_PRIV, reg, USBH_PRIV_SIM_CTRL_6318_REG);
+ }
+
+ spin_unlock_irqrestore(&usb_priv_reg_lock, flags);
+--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
++++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
+@@ -800,6 +800,12 @@
+ #define GPIO_MODE_6368_SPI_SSN4 (1 << 30)
+ #define GPIO_MODE_6368_SPI_SSN5 (1 << 31)
+
++#define GPIO_PINMUX_SEL0_6318 0x1c
++#define GPIO_PINMUX_SEL0_GPIO13_SHIFT 26
++#define GPIO_PINMUX_SEL0_GPIO13_MASK (0x3 << GPIO_PINMUX_SEL0_GPIO13_SHIFT)
++#define GPIO_PINMUX_SEL0_GPIO13_PWRON (1 << GPIO_PINMUX_SEL0_GPIO13_SHIFT)
++#define GPIO_PINMUX_SEL0_GPIO13_LED (2 << GPIO_PINMUX_SEL0_GPIO13_SHIFT)
++#define GPIO_PINMUX_SEL0_GPIO13_GPIO (3 << GPIO_PINMUX_SEL0_GPIO13_SHIFT)
+
+ #define GPIO_PINMUX_OTHR_REG 0x24
+ #define GPIO_PINMUX_OTHR_6328_USB_SHIFT 12
+@@ -1118,6 +1124,7 @@
+
+ #define USBH_PRIV_SWAP_6358_REG 0x0
+ #define USBH_PRIV_SWAP_6368_REG 0x1c
++#define USBH_PRIV_SWAP_6318_REG 0x0c
+
+ #define USBH_PRIV_SWAP_USBD_SHIFT 6
+ #define USBH_PRIV_SWAP_USBD_MASK (1 << USBH_PRIV_SWAP_USBD_SHIFT)
+@@ -1143,6 +1150,13 @@
+ #define USBH_PRIV_SETUP_IOC_SHIFT 4
+ #define USBH_PRIV_SETUP_IOC_MASK (1 << USBH_PRIV_SETUP_IOC_SHIFT)
+
++#define USBH_PRIV_SETUP_6318_REG 0x00
++#define USBH_PRIV_PLL_CTRL1_6318_REG 0x04
++#define USBH_PRIV_PLL_CTRL1_SUSP_EN (1 << 27)
++#define USBH_PRIV_PLL_CTRL1_IDDQ_PWRDN (1 << 31)
++#define USBH_PRIV_SIM_CTRL_6318_REG 0x20
++#define USBH_PRIV_SIM_CTRL_LADDR_SEL (1 << 5)
++
+
+ /*************************************************************************
+ * _REG relative to RSET_USBD
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -299,6 +299,7 @@ static struct board_info __initdata boar
+ .has_ohci0 = 1,
+ .has_pccard = 1,
+ .has_ehci0 = 1,
++ .has_ehci0 = 1,
+
+ .has_dsp = 1,
+ .dsp = {
+@@ -914,6 +915,15 @@ void __init board_prom_init(void)
+ }
+
+ bcm_gpio_writel(val, GPIO_MODE_REG);
++
++#if IS_ENABLED(CONFIG_USB)
++ if (BCMCPU_IS_6318() && (board.has_ehci0 || board.has_ohci0)) {
++ val = bcm_gpio_readl(GPIO_PINMUX_SEL0_6318);
++ val &= ~GPIO_PINMUX_SEL0_GPIO13_MASK;
++ val |= GPIO_PINMUX_SEL0_GPIO13_PWRON;
++ bcm_gpio_writel(val, GPIO_PINMUX_SEL0_6318);
++ }
++#endif
+ }
+
+ /*
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -911,6 +911,8 @@ void __init board_prom_init(void)
+@@ -912,6 +912,8 @@ void __init board_prom_init(void)
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G3_EXT_MII |
GPIO_MODE_6348_G0_EXT_MII;
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
-@@ -1077,6 +1077,19 @@
+@@ -1083,6 +1083,19 @@
#define ENETSW_PORTOV_FDX_MASK (1 << 1)
#define ENETSW_PORTOV_LINKUP_MASK (1 << 0)
return -ENODEV;
--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
+++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
-@@ -818,6 +818,7 @@
+@@ -824,6 +824,7 @@
#define GPIO_STRAPBUS_REG 0x40
#define STRAPBUS_6358_BOOT_SEL_PARALLEL (1 << 1)
#define STRAPBUS_6358_BOOT_SEL_SERIAL (0 << 1)
#define STRAPBUS_6368_BOOT_SEL_MASK 0x3
#define STRAPBUS_6368_BOOT_SEL_NAND 0
#define STRAPBUS_6368_BOOT_SEL_SERIAL 1
-@@ -1668,6 +1669,7 @@
+@@ -1682,6 +1683,7 @@
#define STRAPBUS_63268_FCVO_MASK (0xf << STRAPBUS_63268_FCVO_SHIFT)
#define MISC_STRAPBUS_6328_REG 0x240
#include <uapi/linux/bcm933xx_hcs.h>
#include <uapi/linux/bcm963xx_tag.h>
-@@ -958,6 +959,7 @@ int __init board_register_devices(void)
+@@ -968,6 +969,7 @@ int __init board_register_devices(void)
{
int button_count = 0;
int led_count = 0;
if (board.has_uart0)
bcm63xx_uart_register(0);
-@@ -996,7 +998,8 @@ int __init board_register_devices(void)
+@@ -1006,7 +1008,8 @@ int __init board_register_devices(void)
* do this after registering enet devices
*/
#ifdef CONFIG_SSB_PCIHOST
memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN);
memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN);
if (ssb_arch_register_fallback_sprom(
-@@ -1043,5 +1046,9 @@ int __init board_register_devices(void)
+@@ -1053,5 +1056,9 @@ int __init board_register_devices(void)
platform_device_register(&bcm63xx_gpio_keys_device);
}
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1018,7 +1018,7 @@ int __init board_register_devices(void)
+@@ -1028,7 +1028,7 @@ int __init board_register_devices(void)
if (board.num_spis)
spi_register_board_info(board.spis, board.num_spis);
return;
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1048,7 +1048,8 @@ int __init board_register_devices(void)
+@@ -1058,7 +1058,8 @@ int __init board_register_devices(void)
/* register any fixups */
for (i = 0; i < board.has_caldata; i++)
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1049,7 +1049,7 @@ int __init board_register_devices(void)
+@@ -1059,7 +1059,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,
#include <uapi/linux/bcm933xx_hcs.h>
#include <uapi/linux/bcm963xx_tag.h>
-@@ -1047,9 +1048,19 @@ int __init board_register_devices(void)
+@@ -1057,9 +1058,19 @@ int __init board_register_devices(void)
}
/* register any fixups */
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -555,6 +555,56 @@ static struct board_info __initdata boar
+@@ -556,6 +556,56 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif
/*
-@@ -732,6 +782,7 @@ static const struct board_info __initcon
+@@ -733,6 +783,7 @@ static const struct board_info __initcon
&board_DV201AMR,
&board_96348gw_a,
&board_rta1025w_16,
static struct board_info board;
/*
-@@ -754,6 +762,596 @@ static struct board_info __initdata boar
+@@ -755,6 +763,596 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
#endif
/*
-@@ -790,6 +1388,11 @@ static const struct board_info __initcon
+@@ -791,6 +1389,11 @@ static const struct board_info __initcon
&board_96358vw2,
&board_AGPFS0,
&board_DWVS0,
#endif
};
-@@ -844,6 +1447,16 @@ static void __init boardid_fixup(u8 *boo
+@@ -845,6 +1448,16 @@ static void __init boardid_fixup(u8 *boo
struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
char *board_name = (char *)bcm63xx_nvram_get_name();
#endif
/*
-@@ -1367,6 +1401,7 @@ static const struct board_info __initcon
+@@ -1368,6 +1402,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6338
&board_96338gw,
&board_96338w,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -753,6 +753,98 @@ static struct board_info __initdata boar
+@@ -754,6 +754,98 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_AGPFS0 = {
.name = "AGPF-S0",
.expected_cpu_id = 0x6358,
-@@ -1422,6 +1514,7 @@ static const struct board_info __initcon
+@@ -1423,6 +1515,7 @@ static const struct board_info __initcon
&board_96358vw,
&board_96358vw2,
&board_AGPFS0,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -889,6 +889,61 @@ static struct board_info __initdata boar
+@@ -890,6 +890,61 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
};
struct spi_gpio_platform_data nb4_spi_gpio_data = {
.sck = NB4_SPI_GPIO_CLK,
.mosi = NB4_SPI_GPIO_MOSI,
-@@ -1516,6 +1571,7 @@ static const struct board_info __initcon
+@@ -1517,6 +1572,7 @@ static const struct board_info __initcon
&board_AGPFS0,
&board_CPVA642,
&board_DWVS0,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -647,6 +647,67 @@ static struct board_info __initdata boar
+@@ -648,6 +648,67 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1563,6 +1624,7 @@ static const struct board_info __initcon
+@@ -1564,6 +1625,7 @@ static const struct board_info __initcon
&board_96348gw_a,
&board_rta1025w_16,
&board_96348_D4PW,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -514,6 +514,112 @@ static struct board_info __initdata boar
+@@ -515,6 +515,112 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_FAST2404 = {
.name = "F@ST2404",
.expected_cpu_id = 0x6348,
-@@ -1617,6 +1723,8 @@ static const struct board_info __initcon
+@@ -1618,6 +1724,8 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6348
&board_96348r,
&board_96348gw,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -814,6 +814,78 @@ static struct board_info __initdata boar
+@@ -815,6 +815,78 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1733,6 +1805,7 @@ static const struct board_info __initcon
+@@ -1734,6 +1806,7 @@ static const struct board_info __initcon
&board_rta1025w_16,
&board_96348_D4PW,
&board_spw500v,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1772,6 +1772,82 @@ static struct board_info __initdata boar
+@@ -1773,6 +1773,82 @@ static struct board_info __initdata boar
.spis = nb4_spi_devices,
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
#endif
/*
-@@ -1820,6 +1896,7 @@ static const struct board_info __initcon
+@@ -1821,6 +1897,7 @@ static const struct board_info __initcon
&board_nb4_ser_r2,
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
#endif
/*
-@@ -1864,6 +1903,7 @@ static const struct board_info __initcon
+@@ -1865,6 +1904,7 @@ static const struct board_info __initcon
&board_96338gw,
&board_96338w,
&board_96338w2_e7t,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1887,6 +1887,72 @@ static struct board_info __initdata boar
+@@ -1888,6 +1888,72 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1937,6 +2003,7 @@ static const struct board_info __initcon
+@@ -1938,6 +2004,7 @@ static const struct board_info __initcon
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
&board_HW553,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -925,6 +925,65 @@ static struct board_info __initdata boar
+@@ -926,6 +926,65 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -1988,6 +2047,7 @@ static const struct board_info __initcon
+@@ -1989,6 +2048,7 @@ static const struct board_info __initcon
&board_96348_D4PW,
&board_spw500v,
&board_96348sv,
#endif
#ifdef CONFIG_BCM63XX_CPU_6358
-@@ -2109,6 +2169,22 @@ void __init board_prom_init(void)
+@@ -2110,6 +2170,22 @@ void __init board_prom_init(void)
val &= MPI_CSBASE_BASE_MASK;
}
boot_addr = (u8 *)KSEG1ADDR(val);
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -485,6 +485,64 @@ static struct board_info __initdata boar
+@@ -486,6 +486,64 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -2048,6 +2106,7 @@ static const struct board_info __initcon
+@@ -2049,6 +2107,7 @@ static const struct board_info __initcon
&board_spw500v,
&board_96348sv,
&board_V2500V_BB,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -543,6 +543,51 @@ static struct board_info __initdata boar
+@@ -544,6 +544,51 @@ static struct board_info __initdata boar
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -2107,6 +2152,7 @@ static const struct board_info __initcon
+@@ -2108,6 +2153,7 @@ static const struct board_info __initcon
&board_96348sv,
&board_V2500V_BB,
&board_V2110,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1312,6 +1312,8 @@ static struct board_info __initdata boar
+@@ -1313,6 +1313,8 @@ static struct board_info __initdata boar
.name = "DWV-S0",
.expected_cpu_id = 0x6358,
.has_enet0 = 1,
.has_enet1 = 1,
.has_pci = 1,
-@@ -1327,6 +1329,7 @@ static struct board_info __initdata boar
+@@ -1328,6 +1330,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
-@@ -588,6 +588,69 @@ static struct board_info __initdata boar
+@@ -589,6 +589,69 @@ static struct board_info __initdata boar
},
};
static struct board_info __initdata board_96348gw = {
.name = "96348GW",
.expected_cpu_id = 0x6348,
-@@ -2156,6 +2219,7 @@ static const struct board_info __initcon
+@@ -2157,6 +2220,7 @@ static const struct board_info __initcon
&board_V2500V_BB,
&board_V2110,
&board_ct536_ct5621,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -853,6 +853,7 @@ static struct board_info __initdata boar
+@@ -854,6 +854,7 @@ static struct board_info __initdata boar
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1151,6 +1151,46 @@ static struct board_info __initdata boar
+@@ -1152,6 +1152,46 @@ static struct board_info __initdata boar
},
},
};
#endif
/*
-@@ -2221,6 +2261,7 @@ static const struct board_info __initcon
+@@ -2222,6 +2262,7 @@ static const struct board_info __initcon
&board_V2110,
&board_ct536_ct5621,
&board_96348A_122,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2225,6 +2225,85 @@ static struct board_info __initdata boar
+@@ -2226,6 +2226,85 @@ static struct board_info __initdata boar
#endif
/*
* all boards
*/
static const struct board_info __initconst *bcm963xx_boards[] = {
-@@ -2279,6 +2358,10 @@ static const struct board_info __initcon
+@@ -2280,6 +2359,10 @@ static const struct board_info __initcon
&board_HW553,
&board_spw303v,
#endif
};
/*
-@@ -2460,12 +2543,25 @@ void __init board_prom_init(void)
+@@ -2461,12 +2544,25 @@ void __init board_prom_init(void)
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
-@@ -2301,6 +2301,72 @@ static struct board_info __initdata boar
+@@ -2302,6 +2302,72 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
};
#endif
/*
-@@ -2361,6 +2427,7 @@ static const struct board_info __initcon
+@@ -2362,6 +2428,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
#endif
/*
-@@ -2410,6 +2480,7 @@ static const struct board_info __initcon
+@@ -2411,6 +2481,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
/*
-@@ -2481,6 +2586,7 @@ static const struct board_info __initcon
+@@ -2482,6 +2587,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1398,6 +1398,59 @@ static struct board_info __initdata boar
+@@ -1399,6 +1399,59 @@ static struct board_info __initdata boar
},
};
#endif
/*
-@@ -2616,6 +2669,7 @@ static const struct board_info __initcon
+@@ -2617,6 +2670,7 @@ static const struct board_info __initcon
&board_ct536_ct5621,
&board_96348A_122,
&board_CPVA502plus,
static struct board_info board;
/*
-@@ -2341,6 +2348,113 @@ static struct board_info __initdata boar
+@@ -2342,6 +2349,113 @@ static struct board_info __initdata boar
.num_spis = ARRAY_SIZE(nb4_spi_devices),
};
static struct board_info __initdata board_HW553 = {
.name = "HW553",
.expected_cpu_id = 0x6358,
-@@ -2684,6 +2798,7 @@ static const struct board_info __initcon
+@@ -2685,6 +2799,7 @@ static const struct board_info __initcon
&board_nb4_ser_r2,
&board_nb4_fxc_r1,
&board_nb4_fxc_r2,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2596,6 +2596,73 @@ static struct board_info __initdata boar
+@@ -2597,6 +2597,73 @@ static struct board_info __initdata boar
},
}
};
#endif
/*
-@@ -2801,6 +2868,7 @@ static const struct board_info __initcon
+@@ -2802,6 +2869,7 @@ static const struct board_info __initcon
&board_ct6373_1,
&board_HW553,
&board_spw303v,
#define CT6373_PID_OFFSET 0xff80
#define CT6373_74X164_GPIO_BASE 64
-@@ -2665,6 +2668,103 @@ static struct board_info __initdata boar
+@@ -2666,6 +2669,103 @@ static struct board_info __initdata boar
};
#endif
/*
* known 6368 boards
*/
-@@ -2871,6 +2971,10 @@ static const struct board_info __initcon
+@@ -2872,6 +2972,10 @@ static const struct board_info __initcon
&board_DVAG3810BN,
#endif
#ifdef CONFIG_BCM63XX_CPU_6368
&board_96368mvwg,
&board_96368mvngr,
-@@ -2938,6 +3042,11 @@ static void __init boardid_fixup(u8 *boo
+@@ -2939,6 +3043,11 @@ static void __init boardid_fixup(u8 *boo
}
}
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1066,6 +1066,57 @@ static struct board_info __initdata boar
+@@ -1067,6 +1067,57 @@ static struct board_info __initdata boar
.has_ehci0 = 1,
};
static struct board_info __initdata board_rta1025w_16 = {
.name = "RTA1025W_16",
.expected_cpu_id = 0x6348,
-@@ -2939,6 +2990,7 @@ static const struct board_info __initcon
+@@ -2940,6 +2991,7 @@ static const struct board_info __initcon
&board_96348gw_10,
&board_96348gw_11,
&board_FAST2404,
static struct board_info __initdata board_dsl_274xb_f1 = {
.name = "AW4339U",
.expected_cpu_id = 0x6328,
-@@ -2971,6 +3090,7 @@ static const struct board_info __initcon
+@@ -2972,6 +3091,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
&board_963281TAN,
static struct board_info __initdata board_963281TAN = {
.name = "963281TAN",
.expected_cpu_id = 0x6328,
-@@ -3089,6 +3161,7 @@ static const struct board_info __initcon
+@@ -3090,6 +3162,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
static struct board_info __initdata board_96328A_1441N1 = {
.name = "96328A-1441N1",
.expected_cpu_id = 0x6328,
-@@ -3161,6 +3227,7 @@ static const struct board_info __initcon
+@@ -3162,6 +3228,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6328
&board_96328avng,
#endif
/*
-@@ -3241,6 +3290,7 @@ static const struct board_info __initcon
+@@ -3242,6 +3291,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2891,6 +2891,488 @@ static struct board_info __initdata boar
+@@ -2892,6 +2892,488 @@ static struct board_info __initdata boar
},
};
/* T-Home Speedport W 303V Typ B */
static struct board_info __initdata board_spw303v = {
.name = "96358-502V",
-@@ -3329,6 +3811,10 @@ static const struct board_info __initcon
+@@ -3330,6 +3812,10 @@ static const struct board_info __initcon
&board_nb4_fxc_r2,
&board_ct6373_1,
&board_HW553,
&board_spw303v,
&board_DVAG3810BN,
#endif
-@@ -3394,13 +3880,37 @@ static void __init boardid_fixup(u8 *boo
+@@ -3395,13 +3881,37 @@ static void __init boardid_fixup(u8 *boo
struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K);
char *board_name = (char *)bcm63xx_nvram_get_name();
#endif
/*
-@@ -3773,6 +3827,7 @@ static const struct board_info __initcon
+@@ -3774,6 +3828,7 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_6345
&board_96345gw2,
&board_rta770bw,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2091,6 +2091,99 @@ static struct board_info __initdata boar
+@@ -2092,6 +2092,99 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -1536,6 +1536,19 @@ static struct board_info __initdata boar
+@@ -1537,6 +1537,19 @@ 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
-@@ -996,6 +996,17 @@ static struct board_info __initdata boar
+@@ -997,6 +997,17 @@ static struct board_info __initdata boar
.active_low = 1,
},
},
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1024,6 +1030,8 @@ static struct board_info __initdata boar
+@@ -1025,6 +1031,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1253,6 +1261,8 @@ static struct board_info __initdata boar
+@@ -1254,6 +1262,8 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1428,6 +1438,8 @@ static struct board_info __initdata boar
+@@ -1429,6 +1439,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1542,6 +1554,12 @@ static struct board_info __initdata boar
+@@ -1543,6 +1555,12 @@ static struct board_info __initdata boar
.use_internal_phy = 1,
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1917,6 +1935,8 @@ static struct board_info __initdata boar
+@@ -1918,6 +1936,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -1969,6 +1989,8 @@ static struct board_info __initdata boar
+@@ -1970,6 +1990,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2109,6 +2131,8 @@ static struct board_info __initdata boar
+@@ -2110,6 +2132,8 @@ static struct board_info __initdata boar
},
.enet1 = {
.force_speed_100 = 1,
.force_duplex_full = 1,
},
-@@ -2226,6 +2250,8 @@ static struct board_info __initdata boar
+@@ -2227,6 +2251,8 @@ static struct board_info __initdata boar
},
.enet1 = {
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
-@@ -2258,6 +2258,94 @@ static struct board_info __initdata boar
+@@ -2259,6 +2259,94 @@ static struct board_info __initdata boar
.has_ohci0 = 1,
.has_ehci0 = 1,
* known 6328 boards
*/
#ifdef CONFIG_BCM63XX_CPU_6328
-@@ -4041,6 +4127,9 @@ static const struct board_info __initcon
+@@ -4042,6 +4128,9 @@ static const struct board_info __initcon
#ifdef CONFIG_BCM63XX_CPU_3368
&board_cvg834g,
#endif
#endif
/*
-@@ -4129,6 +4216,7 @@ static const struct board_info __initcon
+@@ -4130,6 +4217,7 @@ static const struct board_info __initcon
#endif
#ifdef CONFIG_BCM63XX_CPU_6318
&board_96318ref,
#include <linux/spi/spi.h>
#include <linux/spi/spi_gpio.h>
#include <linux/spi/74x164.h>
-@@ -4297,7 +4298,7 @@ static const struct board_info __initcon
+@@ -4298,7 +4299,7 @@ static const struct board_info __initcon
* bcm4318 WLAN work
*/
#ifdef CONFIG_SSB_PCIHOST
.revision = 0x02,
.board_rev = 0x17,
.country_code = 0x0,
-@@ -4317,6 +4318,7 @@ static struct ssb_sprom bcm63xx_sprom =
+@@ -4318,6 +4319,7 @@ static struct ssb_sprom bcm63xx_sprom =
.boardflags_lo = 0x2848,
.boardflags_hi = 0x0000,
};