Hello All,
I develop USB EHCI driver for OMAP3 (CM-T3530). Hardware dependent initialization follows Linux kernel 2.6.32 init sequence (based on Angstrom Linux for CM-T3530). Based on this initialization only one interrupt has been generated which does not allow to detect attached devices.
A
major issue is that the devices attached to the high-speed EHCI ports are not
powered yet after initialization.
The following list contains our CM-T3530 specific EHCI initialization sequence. The only step that fails is soft reset/accessing PHY modules.
1. Initialization of OMAP3530 I2C module
2. Initialization of EHCI I/O pins – USBHS1 and USBHS2
3. Configuring USB hub reset GPIO 167 (board specific)
4. Enabling EHCI related clocks – USBHOST internal clock, USBHOST 120MHz functional clock, USBHOST 48MHz functional clock, USB TLL functional clock, USB TLL internal clock
5. Configuring EHCI reset port GPIOs (198, 199) - TWL4030 GPIOs (board specific)
6. Performing TLL soft reset
7. Configuring OMAP_UHH_SYSCONFIG register
8. Setting up ULPI bypass and burst configurations - OMAP_UHH_HOSTCONFIG register
9. Configuring EHCI_INSNREG04 register
10. Performing software reset of the PHY using its reset command over ULPI. Reset is done by writing to EHCI_INSNREG05_ULPI register - FAILED (SMSC USB3320 PHY)
11. Initialization of EHCI controller
12. Initialization of power ports
EHCI for CM-T3530 under Linux works fine. If somebody see something wrong or has some hints about that issue, please help!!!
Thank you in advance!