brcm63xx: add USB support to BCM6318

BCM6318 has a special initialization sequence which involves touching
PLL control registers in the USBH_PRIV register space, as well as
toggling a bit the Simulation control register.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 39302
This commit is contained in:
Florian Fainelli 2014-01-15 19:05:57 +00:00
parent a467c52eca
commit bf4f1feb7a
50 changed files with 209 additions and 88 deletions

View file

@ -0,0 +1,121 @@
--- 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
}
/*

View file

@ -1,6 +1,6 @@
--- 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;

View file

@ -10,7 +10,7 @@ Subject: [PATCH 54/81] bcm63xx_enet: enable rgmii clock on external ports
--- 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)

View file

@ -115,7 +115,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
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)
@ -123,7 +123,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
#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

View file

@ -18,7 +18,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
#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;
@ -26,7 +26,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
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
@ -36,7 +36,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
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);
}

View file

@ -11,7 +11,7 @@ Subject: [PATCH 69/80] MIPS: BCM63XX: pass caldata info to flash
--- 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);

View file

@ -39,7 +39,7 @@
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++)

View file

@ -1,6 +1,6 @@
--- 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,

View file

@ -36,7 +36,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
#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 */

View file

@ -1,6 +1,6 @@
--- 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,
};
@ -57,7 +57,7 @@
#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,

View file

@ -22,7 +22,7 @@
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,
};
@ -619,7 +619,7 @@
#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,
@ -631,7 +631,7 @@
#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();

View file

@ -41,7 +41,7 @@
#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,

View file

@ -1,6 +1,6 @@
--- 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
},
};
@ -99,7 +99,7 @@
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,

View file

@ -1,6 +1,6 @@
--- 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,
};
@ -62,7 +62,7 @@
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,

View file

@ -1,6 +1,6 @@
--- 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
},
},
};
@ -68,7 +68,7 @@
#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,

View file

@ -1,6 +1,6 @@
--- 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
},
};
@ -113,7 +113,7 @@
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,

View file

@ -1,6 +1,6 @@
--- 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
},
},
};
@ -79,7 +79,7 @@
#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,

View file

@ -1,6 +1,6 @@
--- 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),
};
@ -83,7 +83,7 @@
#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,

View file

@ -46,7 +46,7 @@
#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,

View file

@ -1,6 +1,6 @@
--- 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
},
},
};
@ -73,7 +73,7 @@
#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,

View file

@ -1,6 +1,6 @@
--- 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
},
},
};
@ -66,7 +66,7 @@
#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,
@ -74,7 +74,7 @@
#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);

View file

@ -1,6 +1,6 @@
--- 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
},
};
@ -65,7 +65,7 @@
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,

View file

@ -1,6 +1,6 @@
--- 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
};
@ -52,7 +52,7 @@
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,

View file

@ -1,6 +1,6 @@
--- 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,
@ -9,7 +9,7 @@
.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,

View file

@ -1,6 +1,6 @@
--- 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
},
};
@ -70,7 +70,7 @@
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,

View file

@ -1,6 +1,6 @@
--- 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,

View file

@ -1,6 +1,6 @@
--- 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
},
},
};
@ -47,7 +47,7 @@
#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,

View file

@ -10,7 +10,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
--- 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
/*
@ -96,7 +96,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
* 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
@ -107,7 +107,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board.
};
/*
@@ -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;

View file

@ -9,7 +9,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
--- 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,
};
@ -82,7 +82,7 @@ Subject: [PATCH 33/63] bcm63xx: add support for 96368MVNgr board.
#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,

View file

@ -86,7 +86,7 @@ Subject: [PATCH] MIPS: BCM63XX: add 963281TAN reference board
#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,

View file

@ -122,7 +122,7 @@ Subject: [PATCH 70/79] MIPS: BCM63XX: Add board definition for D-Link
#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,

View file

@ -1,6 +1,6 @@
--- 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
},
};
@ -60,7 +60,7 @@
#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,

View file

@ -14,7 +14,7 @@
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),
};
@ -128,7 +128,7 @@
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,

View file

@ -1,6 +1,6 @@
--- 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
},
}
};
@ -74,7 +74,7 @@
#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,

View file

@ -17,7 +17,7 @@
#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
@ -121,7 +121,7 @@
/*
* 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
@ -132,7 +132,7 @@
#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
}
}

View file

@ -1,6 +1,6 @@
--- 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,
};
@ -58,7 +58,7 @@
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,

View file

@ -126,7 +126,7 @@
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,

View file

@ -79,7 +79,7 @@
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,

View file

@ -73,7 +73,7 @@
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,

View file

@ -56,7 +56,7 @@
#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,

View file

@ -1,6 +1,6 @@
--- 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
},
};
@ -489,7 +489,7 @@
/* 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,
@ -500,7 +500,7 @@
&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();

View file

@ -61,7 +61,7 @@
#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,

View file

@ -1,6 +1,6 @@
--- 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,

View file

@ -1,6 +1,6 @@
--- 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,

View file

@ -1,6 +1,6 @@
--- 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,
},
},

View file

@ -27,7 +27,7 @@
.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 = {
@ -36,7 +36,7 @@
.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 = {
@ -45,7 +45,7 @@
.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 = {
@ -54,7 +54,7 @@
.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 = {
@ -67,7 +67,7 @@
.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 = {
@ -76,7 +76,7 @@
.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 = {
@ -85,7 +85,7 @@
.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 = {
@ -94,7 +94,7 @@
.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 = {

View file

@ -1,6 +1,6 @@
--- 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,

View file

@ -93,7 +93,7 @@
* 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

View file

@ -94,7 +94,7 @@
#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,

View file

@ -8,7 +8,7 @@
#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
@ -17,7 +17,7 @@
.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,
};