Skip to contentSkip to conversation

powerpc/85xx: Fix P1020RDB boot hang due USB2

PATCH Applied Anton Vorontsov 2 participants 2 messages Apr 22, 2010 – May 17, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 powerpc/85xx: Fix P1020RDB boot hang due USB2

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.

---
 arch/powerpc/boot/dts/p1020rdb.dts |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
arch/powerpc/boot/dts/p1020rdb.dts +6 -0
index df52690..865795e 100644
@@ -356,6 +356,11 @@
 			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>;
@@ -365,6 +370,7 @@
 			interrupts = <46 0x2>;
 			phy_type = "ulpi";
 		};
+		*/
 
 		sdhci@2e000 {
 			compatible = "fsl,p1020-esdhc", "fsl,esdhc";
Signature · 1 line
1.7.0.4
Applied
#1 lore raw
Quoted 18 lines · Anton Vorontsov

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.

Quoted 8 lines

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

---
arch/powerpc/boot/dts/p1020rdb.dts | 6 ++++++

1 files changed, 6 insertions(+), 0 deletions(-)

applied to next

- k