]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
powerpc/85xx: Fix P1020RDB boot hang due USB2
authorAnton Vorontsov <avorontsov@mvista.com>
Thu, 22 Apr 2010 15:44:47 +0000 (19:44 +0400)
committerKumar Gala <galak@kernel.crashing.org>
Mon, 17 May 2010 15:55:29 +0000 (10:55 -0500)
Since USB2 is shared with local bus, either local bus or USB2
should be disabled. By default U-Boot enables local bus, so we
have to disable USB2, otherwise kernel hangs:

 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
 fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
 fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
 fsl-ehci fsl-ehci.0: irq 28, io base 0xffe22000
 fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
 hub 1-0:1.0: USB hub found
 hub 1-0:1.0: 1 port detected
 fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
 fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
 <hangs here>

Note that U-Boot doesn't clear 'status' property when it enables
USB2, so we have to comment out the whole node.

To enable USB2, one can issue
'setenv hwconfig usb2:dr_mode=<host|peripheral>' command at the
U-Boot prompt.

Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/boot/dts/p1020rdb.dts

index 49848c545d86d4a35fda99c21c5fd75768754a10..22f64b62d7f64039020013ab317da0429416f9f9 100644 (file)
                        phy_type = "ulpi";
                };
 
+               /* USB2 is shared with localbus, so it must be disabled
+                  by default. We can't put 'status = "disabled";' here
+                  since U-Boot doesn't clear the status property when
+                  it enables USB2. OTOH, U-Boot does create a new node
+                  when there isn't any. So, just comment it out.
                usb@23000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        interrupts = <46 0x2>;
                        phy_type = "ulpi";
                };
+               */
 
                sdhci@2e000 {
                        compatible = "fsl,p1020-esdhc", "fsl,esdhc";