aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2015-05-23 14:54:44 +0000
committerHauke Mehrtens <hauke@openwrt.org>2015-05-23 14:54:44 +0000
commite1a97a46f63688be1a3e9b811b77e98328e9bee6 (patch)
tree8645616f4330898bd7001d06619be9a5f50ab5af
parent610ca2edaf39c910a951c1e2588c8945ccc89469 (diff)
downloadmaster-187ad058-e1a97a46f63688be1a3e9b811b77e98328e9bee6.tar.gz
master-187ad058-e1a97a46f63688be1a3e9b811b77e98328e9bee6.tar.bz2
master-187ad058-e1a97a46f63688be1a3e9b811b77e98328e9bee6.zip
bcm53xx: add OHCI (USB 1.1) support
There is also a OHCI controller, activate it for USB 1.1 support. This should close #19601. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45716 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/bcm53xx/patches-3.18/190-bcma_hcd_add_bcm5301x_support.patch30
1 files changed, 4 insertions, 26 deletions
diff --git a/target/linux/bcm53xx/patches-3.18/190-bcma_hcd_add_bcm5301x_support.patch b/target/linux/bcm53xx/patches-3.18/190-bcma_hcd_add_bcm5301x_support.patch
index 2e528b6a0b..bffb7ae052 100644
--- a/target/linux/bcm53xx/patches-3.18/190-bcma_hcd_add_bcm5301x_support.patch
+++ b/target/linux/bcm53xx/patches-3.18/190-bcma_hcd_add_bcm5301x_support.patch
@@ -76,42 +76,20 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
return -ENODEV;
/* TODO: Probably need checks here; is the core connected? */
-@@ -234,18 +281,23 @@ static int bcma_hcd_probe(struct bcma_de
+@@ -234,7 +281,12 @@ static int bcma_hcd_probe(struct bcma_de
if (!usb_dev)
return -ENOMEM;
- bcma_hcd_init_chip(dev);
--
-- /* In AI chips EHCI is addrspace 0, OHCI is 1 */
-- ohci_addr = dev->addr_s[0];
-- if ((chipinfo->id == 0x5357 || chipinfo->id == 0x4749)
-- && chipinfo->rev == 0)
-- ohci_addr = 0x18009000;
--
-- usb_dev->ohci_dev = bcma_hcd_create_pdev(dev, true, ohci_addr);
-- if (IS_ERR(usb_dev->ohci_dev)) {
-- err = PTR_ERR(usb_dev->ohci_dev);
-- goto err_free_usb_dev;
+ if (IS_BUILTIN(CONFIG_ARCH_BCM_5301X) &&
+ chipinfo->id == BCMA_CHIP_ID_BCM4707) {
+ bcma_hcd_init_chip_arm(dev);
+ } else if(IS_BUILTIN(CONFIG_BCM47XX)) {
+ bcma_hcd_init_chip_mips(dev);
-+
-+ /* In AI chips EHCI is addrspace 0, OHCI is 1 */
-+ ohci_addr = dev->addr_s[0];
-+ if ((chipinfo->id == 0x5357 || chipinfo->id == 0x4749)
-+ && chipinfo->rev == 0)
-+ ohci_addr = 0x18009000;
-+
-+ usb_dev->ohci_dev = bcma_hcd_create_pdev(dev, true, ohci_addr);
-+ if (IS_ERR(usb_dev->ohci_dev)) {
-+ err = PTR_ERR(usb_dev->ohci_dev);
-+ goto err_free_usb_dev;
-+ }
- }
++ }
- usb_dev->ehci_dev = bcma_hcd_create_pdev(dev, false, dev->addr);
+ /* In AI chips EHCI is addrspace 0, OHCI is 1 */
+ ohci_addr = dev->addr_s[0];
@@ -306,6 +358,7 @@ static int bcma_hcd_resume(struct bcma_d
static const struct bcma_device_id bcma_hcd_table[] = {