Query on the ci_udc driver for USB client implementation

Sanchayan Maity maitysanchayan at gmail.com
Thu Oct 30 02:53:00 EDT 2014


Hello, 

I am currently implementing USB Host and client support for Freescale Vybrid platform in u-boot. I managed to get the host implementation working. 

For the host side, usb start calls usb_init(), which in turns call, usb_lowlevel_init(), from there into the ehic_hcd_init() of my implementation. So, setting up the necessary clocks and plls for USB in my implementation and then setting up the usb_ehci, ehci_hccr and echi_hcor structures was all. The flow and setup required i was able to trace.

The USB client part is not clear to me. I was thinking i can use the ci_udc driver somehow to implement the client part. How can i use the ci_udc driver to implement client functionality?. From what i could see, the usb_gadget_driver_register() is suppose to be the first call. But, i couldn't trace from where this gets called or the flow and setup is suppose to be. OR Is a separate client driver required and nothing generic can be used akin to how it could be done for host?

Sorry if i am asking this question in the wrong place. I couldn't find anyone in the u-boot IRC channel nor find something similar to the kernel-newbies mailing list. 

Hope i am asking the right questions. 

Thanks & Regards,
Sanchayan Maity.



More information about the Kernelnewbies mailing list