[U-Boot] Doubt in USB driver for Vybrid vf610
maitysanchayan at gmail.com
maitysanchayan at gmail.com
Mon Oct 19 07:28:47 CEST 2015
Hello Marek,
On 15-10-17 21:59:07, maitysanchayan at gmail.com wrote:
> Hello,
>
> On 15-10-16 16:20:07, Santhosh Kumar Janardhanam -ERS, HCL Tech wrote:
> > Hi All,
> > I am working on USB part for vybrid vf-610 processor, We have two ports in the board
> >
> > when I type usb start in uboot command prompt, It returns as ENODEV for USB0 and when analyzed, It is returning from the below code in ehci-hcd_init function(in ehci-vf.c)
> >
> > if (init == USB_INIT_HOST && index == 0)
> > return -ENODEV;
> >
Along with the above
if (init == USB_INIT_DEVICE && index == 1)
return -ENODEV;
In the ehci-vf USB driver for Vybrid, currently we have two "if" cases as above which basically
serve the purpose of preventing one of the USB ports from being configured as host, which we
did like to keep as client. So for us, USB0 is client and USB1 is host and the above was put
in with that intention to prevent USB0 from being configured as host, when usb start is called.
However this is bad for other users out there, sorry about that.
I checked and it seems even without the above, if both ports are configured as host with usb
start and later dfu is called to used the intended as client for upgrade purposes, things still
seem to work. Not sure if there are cases where this can break which I am missing.
Not being that well versed with USB I wanted to ask is this ok or this is completely wrong?
If it is ok, I guess we can go ahead and nuke the above checks? OR will be it be a better
approach to introduce something like board_ehci_hch_init_with_type(int index, enum usb_init_type type)
which will be a weak function and then have the board specific code hook call it?
- Sanchayan.
> > If these two lines are commented, the usb start is working and device is found on USB0.
> > Why is this check kept in the code?
>
> I am the author of the ehci-vf USB driver which is based on iMX6 implementation.
> The implementation was done as per our requirements where we have one port as
> host and another as client. In hindsight my implementation is severely restricting
> and at that time I missed thinking of it and did not had other boards to test.
>
> I will fix this up and send a patch. However I need to look a bit. The ideal way
> would be to fix it up in board_ehci_hcd_init call however that does not provide
> the init parameter to distinguish between USB_INIT_DEVICE and USB_INIT_HOST.
>
> May I ask are you using some module or you have your custom setup around the
> Vybrid? Sorry for the trouble. Thanks for reporting.
>
> - Sanchayan.
>
> >
> > Regards,
> > Santhosh
> >
> >
> > ::DISCLAIMER::
> > ----------------------------------------------------------------------------------------------------------------------------------------------------
> >
> > The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only.
> > E-mail transmission is not guaranteed to be secure or error-free as information could be intercepted, corrupted,
> > lost, destroyed, arrive late or incomplete, or may contain viruses in transmission. The e mail and its contents
> > (with or without referred errors) shall therefore not attach any liability on the originator or HCL or its affiliates.
> > Views or opinions, if any, presented in this email are solely those of the author and may not necessarily reflect the
> > views or opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure, modification,
> > distribution and / or publication of this message without the prior written consent of authorized representative of
> > HCL is strictly prohibited. If you have received this email in error please delete it and notify the sender immediately.
> > Before opening any email and/or attachments, please check them for viruses and other defects.
> >
> > ----------------------------------------------------------------------------------------------------------------------------------------------------
> >
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > http://lists.denx.de/mailman/listinfo/u-boot
More information about the U-Boot
mailing list