AnsweredAssumed Answered

USB Host for MSD

Question asked by Mark Twain Jr on May 21, 2013
Latest reply on Aug 20, 2014 by Robert Hana

Hello All,


I am using Freescale USB Stack v4.0.3 source code, USB host for MSD for freescale IMX board.


I have used ehci driver source code from Freescale USB Stack v4.0.3\Source\Host\source\driver\kinetis\ehci and cleaned up khci related code from \source\Host\source\driver\.


So far progress is good, i am getting interrupts in USBHS_ISR_HOST() (in ehci_main.c file)  and getting "status" as EHCI_STS_PORT_CHANGE, when pen drive is connected on usb port, but DEVICE ATTACHED Event is not received.


In this flow my callback routine for mass storage event routine (usb_host_mass_device_event) is not getting called.


Also USBHOSTAPIRM.pdf says that "Optionally register services for types of events (_usb_host_register_service())." but none of the examples shows how to use this? I suspect not calling above is reason in my case._usb_host_check_service() fails.


I have following questions:

1. What are the mandatory requirements in order to get usb_host_mass_device_event() called by host driver interface? This should complete cycle from usb physical events -> driver -> unit test.

2. Is it possible to achieve (by modification) msd test (examples\msd) without interrupts? How?

3. Any other source code pointers or guidelines?