[U-Boot] Query on the ci_udc driver for USB client implementation

Sanchayan Maity maitysanchayan at gmail.com
Tue Nov 4 15:05:11 CET 2014


On Tuesday 04 November 2014 10:25 AM, Marek Vasut wrote:
> On Monday, November 03, 2014 at 04:46:48 PM, Fabio Estevam wrote:
>> On Mon, Nov 3, 2014 at 3:33 AM, Sanchayan Maity
>>
>> <maitysanchayan at gmail.com> wrote:
>>> Hello,
>>>
>>> Any pointers?
>>
>> Adding Marek and Stefan on Cc in case they can provide some help.
>>
>> Regards,
>>
>> Fabio Estevam
>>
>>> Thanks & Regards,
>>> Sanchayan Maity.
>>>
>>> On Thursday 30 October 2014 11:14 AM, Sanchayan Maity wrote:
>>>> 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?
> 
> See include/configs/sansa_fuze_plus.h , you need the gadget driver for the
> function you want to implement , in this case it's ethernet for example
> (selected via CONFIG_USB_ETH_CDC ).
> 
> An example of DFU/UMS can be found in include/configs/exynos4-common.h
> and to activate those, you need to use the 'dfu' or 'ums' commands.

Thank you Marek. I had enabled usb ether options already and was trying to test
USB client functionality with RNDIS. For some reason it was not working and i was
not able to trace the issue and subsequently was not sure about the client part. 
Your inputs cleared my doubts. I tried UMS and DFU. UMS is working just fine and 
i can download the respective images through DFU. Though this DFU is not working
full proof, but, i can figure that out now i feel. 

Thanks again for your inputs. Cheers!

Best Regards,
Sanchayan.

> 
>>>> 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.
> 
> There isn't any, so ask away ;-)
> 
>>>> Hope i am asking the right questions.
> [...]
> 
> Best regards,
> Marek Vasut
> 


More information about the U-Boot mailing list