aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAnton Vorontsov <avorontsov@mvista.com>2010-04-22 11:44:47 -0400
committerKumar Gala <galak@kernel.crashing.org>2010-05-17 11:55:29 -0400
commit0aedc0085146131da5b04476aab21834b1403b31 (patch)
tree79fa7dabc1332455a21c91f429c4e7a5d0393ec5 /arch
parent7541ef78c3b83e906b580f005207000545cf770a (diff)
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. Signed-off-by: Anton Vorontsov <avorontsov@mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/boot/dts/p1020rdb.dts6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/boot/dts/p1020rdb.dts b/arch/powerpc/boot/dts/p1020rdb.dts
index 49848c545d86..22f64b62d7f6 100644
--- a/arch/powerpc/boot/dts/p1020rdb.dts
+++ b/arch/powerpc/boot/dts/p1020rdb.dts
@@ -475,6 +475,11 @@
475 phy_type = "ulpi"; 475 phy_type = "ulpi";
476 }; 476 };
477 477
478 /* USB2 is shared with localbus, so it must be disabled
479 by default. We can't put 'status = "disabled";' here
480 since U-Boot doesn't clear the status property when
481 it enables USB2. OTOH, U-Boot does create a new node
482 when there isn't any. So, just comment it out.
478 usb@23000 { 483 usb@23000 {
479 #address-cells = <1>; 484 #address-cells = <1>;
480 #size-cells = <0>; 485 #size-cells = <0>;
@@ -484,6 +489,7 @@
484 interrupts = <46 0x2>; 489 interrupts = <46 0x2>;
485 phy_type = "ulpi"; 490 phy_type = "ulpi";
486 }; 491 };
492 */
487 493
488 sdhci@2e000 { 494 sdhci@2e000 {
489 compatible = "fsl,p1020-esdhc", "fsl,esdhc"; 495 compatible = "fsl,p1020-esdhc", "fsl,esdhc";