[U-Boot] Query on the ci_udc driver for USB client implementation
Sanchayan Maity
maitysanchayan at gmail.com
Wed Nov 5 11:20:04 CET 2014
On Tuesday 04 November 2014 09:58 PM, Lukasz Majewski wrote:
> Hi Sanchayan,
>
>> 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.
>
> I'm very happy that UMS is working seamlessly. What kind of trouble do
> you have with DFU?
Hello,
I have a memory alignment problem with DFU as of now.
mtdparts is as below
device nand0 <fsl_nfc>, # parts = 4
#: name size offset mask_flags
0: vf-bcb 0x00020000 0x00000000 1
1: u-boot 0x00160000 0x00020000 1
2: u-boot-env 0x00080000 0x00180000 0
3: ubi 0x3fe00000 0x00200000 0
active partition: nand0,0 - (vf-bcb) 0x00020000 @ 0x00000000
defaults:
mtdids : nand0=fsl_nfc
mtdparts: mtdparts=fsl_nfc:128k(vf-bcb)ro,1408k(u-boot)ro,512k(u-boot-env),-(ubi)
As per the above, setenv dfu_alt_info "vf-bcb part 0,1;u-boot part 0,2;ubi part 0,4"
and CONFIG_SYS_CACHELINE_SIZE is 32.
I have a ubifs image and i was trying to write it by running "dfu 0 nand 4" in u-boot
and "sudo dfu-util -D ubifs.img -a ubi" on the host. I got the error as below.
"dfu_get_buf: Could not memalign 0x800000 bytes
Setting CONFIG_SYS_DFU_DATA_BUF_SIZE to (1024*1024) resolved this. After this, trying
an update as above, did not give me an updated ubi (which i check by booting to user space)
and doing a nand erase.part on ubi partition and then repeating the procedure results in
""Bad Linux ARM zImage magic!". After looking a bit online, at the below two links
http://lists.denx.de/pipermail/u-boot/2013-May/155089.html
http://www.linux-mtd.infradead.org/faq/ubifs.html#L_mkfubifs
I started trying ubinize. Getting the memory alignment issues again now :). I have
tried 1, 2, 4 and 8Mb for the dfu data buffer size. So i am trying to figure this
out at the moment. I am probably missing something. :)
--Best Regards,
Sanchayan.
>
>>
>> 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