mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	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
					
				@ -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[] = {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user