From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jussi Eronen Date: Mon, 28 Sep 2009 17:32:29 +0300 Subject: [U-Boot] EHCI driver problem Message-ID: <4AC0C8FD.10800@saunalahti.fi> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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