Hi,
I'm working on P1020RDB and using FSL SDK version 1.4. I've modified machine conf file so that p1020rdb.dts is used instead of p1020rdb-pd_32b.dts as below.
KERNEL_DEVICETREE = "${S}/arch/powerpc/boot/dts/p1020rdb.dts"
Now when I try to boot images generated with above change, boot process hangs at Freescale On-Chip EHCI Host Controller as can be seen in below log.
..
..
..
fsl-gianfar ethernet.3 eth2: TX BD ring size for Q[7]: 256
ucc_geth: QE UCC Gigabit Ethernet Controller
e1000e: Intel(R) PRO/1000 Network Driver - 2.1.4-k
e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) 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 mem 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
If I rebuild kernel with EHCI disabled, control reaches login prompt.
Any suggestion how can this be resolved?
Please try whether could use p1020rdb-pc_32b.dts to boot your system up.
USB2 is shared with localbus, so it must be disabled by default. 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 in the dts file.
I've tried using p1020rdb-pc_32b.dts, please see the log below:
fsl-gianfar ethernet.3 eth2: TX BD ring size for Q[7]: 256
ucc_geth: QE UCC Gigabit Ethernet Controller
e1000e: Intel(R) PRO/1000 Network Driver - 2.1.4-k
e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
/soc@ffe00000/usb@22000: Invalid 'dr_mode' property, fallback to host mode
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 mem 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
/soc@ffe00000/usb@23000: Invalid 'dr_mode' property, fallback to host mode
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
I think this kernel log is for p1020rdb.dts, because in p1020rdb-pc.dtsi, there is no property dr_mode, and node "usb@23000" is commented.
Previously I didn't ask which target board you used, if you use P1020rdb-PA or P1020rdb-PB, please choose the dtb file p1020rdb.dts, if you use P1020RDB-PC, please choose p1020rdb-pc_32b.dts.
For your problem, on P1020RDB board, USB2 is shared with local bus, so you need to comment the node "usb@23000" in dtb file, when boot from NOR Flash.
Please check the p1020rdb-pc.dtsi file in the Kernel source build_<target>_release/tmp/work/<target>-fsl_networking-linux/linux-qoriq-sdk/3.8-r11.1/git/arch/powerpc/boot/dts.
You could get Kernel source with the command
->bitbake virtual/kernel -c patch -f
After modify KERNEL_DEVICETREE variable, please make sure that Kernel is rebuilt.
->bitbake virtual/kernel -c compile -f
->bitbake virtual/kernel