[U-Boot] EHCI driver problem

Hi,
I am working on a propietary board, which has MPC8270 cpu (big endian mode) and NEC uPD720101 USB controller, with devices connected to ports 1-4. OHCI and EHCI work fine with Linux kernel and OHCI works also in u-boot.
I recall from some discussion that u-boot can only use one OHCI controller at a time and EHCI could be used to overcome this limitation. I tried to config u-boot for OHCI#1 and #2 and the both work as expected using ports 1&3 or 2&4. To get simulateous access to all ports, I wanted to get EHCI to work with u-boot. Problem is, that driver doesn't recognice any devices.
My config for EHCI is #define CONFIG_LEGACY_USB_INIT_SEQ 1 #define CONFIG_SYS_USB_HOST #define CONFIG_PCI_EHCI_DEVICE 0 #define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_PCI 1 #define CONFIG_EHCI_MMIO_BIG_ENDIAN 1 #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 10 #define CONFIG_PCI_EHCI_DEVNO 0 #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 1
When I run 'usb start', this is what I get (added some extra debugging messages): usb start (Re)start USB... USB: Register 2395 NbrPorts 5 USB EHCI 1.00 scanning bus for devices... New Device 0 ....
So init founds the chip and tries to use it. However, resetting of each port fails (or that was at least how I interpreted later messages).
Later for each port reset is tried 5 times
usb_control_msg: request: 0x3, requesttype: 0x23, value 0x4 index 0x1 length 0x0 ehci_submit_root, rootdev=1, req=3 (0x3), type=35 (0x23), value=4, index=1 Len is 0 (00000000 0) usb_control_msg: request: 0x0, requesttype: 0xA3, value 0x0 index 0x1 length 0x4 ehci_submit_root, rootdev=1, req=0 (0x0), type=163 (0xa3), value=0, index=1 portstatus 511, change 10, 480 Mb/s STAT_C_CONNECTION = 0 STAT_CONNECTION = 1 USB_PORT_STAT_ENABLE 0 Cannot enable port 1 after 5 retries, disabling port. Maybe the USB cable is bad? cannot reset port 1!?
--Jussi
participants (1)
-
Jussi Eronen