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> SVN-Revision: 45716
This commit is contained in:
parent
dc60b7fffa
commit
47eca7a1ca
1 changed files with 4 additions and 26 deletions
|
@ -76,42 +76,20 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
/* TODO: Probably need checks here; is the core connected? */
|
/* 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)
|
if (!usb_dev)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
- bcma_hcd_init_chip(dev);
|
- 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) &&
|
+ if (IS_BUILTIN(CONFIG_ARCH_BCM_5301X) &&
|
||||||
+ chipinfo->id == BCMA_CHIP_ID_BCM4707) {
|
+ chipinfo->id == BCMA_CHIP_ID_BCM4707) {
|
||||||
+ bcma_hcd_init_chip_arm(dev);
|
+ bcma_hcd_init_chip_arm(dev);
|
||||||
+ } else if(IS_BUILTIN(CONFIG_BCM47XX)) {
|
+ } else if(IS_BUILTIN(CONFIG_BCM47XX)) {
|
||||||
+ bcma_hcd_init_chip_mips(dev);
|
+ 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
|
@@ -306,6 +358,7 @@ static int bcma_hcd_resume(struct bcma_d
|
||||||
|
|
||||||
static const struct bcma_device_id bcma_hcd_table[] = {
|
static const struct bcma_device_id bcma_hcd_table[] = {
|
||||||
|
|
Loading…
Reference in a new issue