mirror of https://github.com/hak5/openwrt.git
85 lines
3.0 KiB
Diff
85 lines
3.0 KiB
Diff
From fb9e98936590637c26b66d60137a7b44b329a254 Mon Sep 17 00:00:00 2001
|
|
From: Jonas Gorski <jonas.gorski@gmail.com>
|
|
Date: Sun, 12 Feb 2012 14:40:56 +0100
|
|
Subject: [PATCH 59/84] MIPS: BCM63XX: enable USB for BCM6362
|
|
|
|
BCM6362 has the same USB controller as BCM6368.
|
|
|
|
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
|
---
|
|
arch/mips/bcm63xx/Kconfig | 2 ++
|
|
arch/mips/bcm63xx/clk.c | 4 ++++
|
|
arch/mips/bcm63xx/dev-usb-ehci.c | 3 ++-
|
|
arch/mips/bcm63xx/dev-usb-ohci.c | 2 +-
|
|
drivers/usb/host/ehci-bcm63xx.c | 2 +-
|
|
drivers/usb/host/ohci-bcm63xx.c | 2 +-
|
|
6 files changed, 11 insertions(+), 4 deletions(-)
|
|
|
|
--- a/arch/mips/bcm63xx/Kconfig
|
|
+++ b/arch/mips/bcm63xx/Kconfig
|
|
@@ -27,6 +27,8 @@ config BCM63XX_CPU_6358
|
|
config BCM63XX_CPU_6362
|
|
bool "support 6362 CPU"
|
|
select HW_HAS_PCI
|
|
+ select USB_ARCH_HAS_OHCI if USB_SUPPORT
|
|
+ select USB_ARCH_HAS_EHCI if USB_SUPPORT
|
|
|
|
config BCM63XX_CPU_6368
|
|
bool "support 6368 CPU"
|
|
--- a/arch/mips/bcm63xx/clk.c
|
|
+++ b/arch/mips/bcm63xx/clk.c
|
|
@@ -178,6 +178,8 @@ static void usbh_set(struct clk *clk, in
|
|
{
|
|
if (BCMCPU_IS_6348())
|
|
bcm_hwclock_set(CKCTL_6348_USBH_EN, enable);
|
|
+ else if (BCMCPU_IS_6362())
|
|
+ bcm_hwclock_set(CKCTL_6362_USBH_EN, enable);
|
|
else if (BCMCPU_IS_6368())
|
|
bcm_hwclock_set(CKCTL_6368_USBH_EN, enable);
|
|
}
|
|
--- a/arch/mips/bcm63xx/dev-usb-ehci.c
|
|
+++ b/arch/mips/bcm63xx/dev-usb-ehci.c
|
|
@@ -39,7 +39,8 @@ static struct platform_device bcm63xx_eh
|
|
|
|
int __init bcm63xx_ehci_register(void)
|
|
{
|
|
- if (!BCMCPU_IS_6328() && !BCMCPU_IS_6358() && !BCMCPU_IS_6368())
|
|
+ if (!BCMCPU_IS_6328() && !BCMCPU_IS_6358() && !BCMCPU_IS_6362() &&
|
|
+ !BCMCPU_IS_6368())
|
|
return 0;
|
|
|
|
ehci_resources[0].start = bcm63xx_regset_address(RSET_EHCI0);
|
|
--- a/arch/mips/bcm63xx/dev-usb-ohci.c
|
|
+++ b/arch/mips/bcm63xx/dev-usb-ohci.c
|
|
@@ -40,7 +40,7 @@ static struct platform_device bcm63xx_oh
|
|
int __init bcm63xx_ohci_register(void)
|
|
{
|
|
if (!BCMCPU_IS_6328() && !BCMCPU_IS_6348() && !BCMCPU_IS_6358() &&
|
|
- !BCMCPU_IS_6368())
|
|
+ !BCMCPU_IS_6362() && !BCMCPU_IS_6368())
|
|
return 0;
|
|
|
|
ohci_resources[0].start = bcm63xx_regset_address(RSET_OHCI0);
|
|
--- a/drivers/usb/host/ehci-bcm63xx.c
|
|
+++ b/drivers/usb/host/ehci-bcm63xx.c
|
|
@@ -99,7 +99,7 @@ static int __devinit ehci_hcd_bcm63xx_dr
|
|
bcm_rset_writel(RSET_USBH_PRIV, 0x1c0020,
|
|
USBH_PRIV_TEST_6358_REG);
|
|
|
|
- } else if (BCMCPU_IS_6328() || BCMCPU_IS_6368()) {
|
|
+ } else if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368()) {
|
|
|
|
reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SWAP_6368_REG);
|
|
reg &= ~USBH_PRIV_SWAP_EHCI_DATA_MASK;
|
|
--- a/drivers/usb/host/ohci-bcm63xx.c
|
|
+++ b/drivers/usb/host/ohci-bcm63xx.c
|
|
@@ -95,7 +95,7 @@ static int __devinit ohci_hcd_bcm63xx_dr
|
|
bcm_rset_writel(RSET_USBH_PRIV, 0x1c0020,
|
|
USBH_PRIV_TEST_6358_REG);
|
|
|
|
- } else if (BCMCPU_IS_6328() || BCMCPU_IS_6368()) {
|
|
+ } else if (BCMCPU_IS_6328() || BCMCPU_IS_6362() || BCMCPU_IS_6368()) {
|
|
reg = bcm_rset_readl(RSET_USBH_PRIV, USBH_PRIV_SWAP_6368_REG);
|
|
reg &= ~USBH_PRIV_SWAP_OHCI_ENDN_MASK;
|
|
reg |= USBH_PRIV_SWAP_OHCI_DATA_MASK;
|