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?