diff options
author | Anton Vorontsov <avorontsov@mvista.com> | 2010-04-22 11:44:47 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2010-05-17 11:55:29 -0400 |
commit | 0aedc0085146131da5b04476aab21834b1403b31 (patch) | |
tree | 79fa7dabc1332455a21c91f429c4e7a5d0393ec5 | |
parent | 7541ef78c3b83e906b580f005207000545cf770a (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>
-rw-r--r-- | arch/powerpc/boot/dts/p1020rdb.dts | 6 |
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"; |