[U-Boot] [PATCH V4 01/17] usb: gadget: mv_udc: don't check CONFIG_USB_MAX_CONTROLLER_COUNT

Marek Vasut
2013-09-23T21:17:33Z

Dear Troy Kisky,

> On 9/23/2013 1:23 PM, Troy Kisky wrote:
> > On 9/22/2013 5:05 PM, Marek Vasut wrote:
> >> Dear Troy Kisky,
> >>
> >>> On 9/20/2013 3:45 AM, Marek Vasut wrote:
> >>>> Dear Troy Kisky,
> >>>>
> >>>>> i.mx6 has 1 otg controller, and 3 host ports. So,
> >>>>> CONFIG_USB_MAX_CONTROLLER_COUNT can be greater than 1
> >>>>> even though only 1 device mode controller is supported.
> >>>>>
> >>>>> Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
> >>>>
> >>>> The problem is, will the 3 additional ports still work? I suspect they
> >>>> will, but then if you run 'usb reset', the gadget port will also be
> >>>> switched back into USB Host function, no
> >>>>
> >>>> Best regards,
> >>>> Marek Vasut
> >>>
> >>> The next patch checks the OTG id before switching to host mode. If
> >>> it is
> >>> grounded, then it enters
> >>> host mode, otherwise it doesn't. But, running 'usb reset' on a
> >>> netconsole may kill your connection.
> >>
> >> It won't if you properly ignore rhis one controller depending on the
> >> OTG pin
> >> then, no ?
> >
> > I can return an error code from ehci_hcd_init, so that ehci_reset will
> > not be called. But then
> > usb_lowlevel_init will also return an error, which is good for the
> > call from usb_init, but bad
> > for the call in usb_gadget_register_driver.
> >
> > Perhaps I should return a 1, instead of 0, when the otg_id pin is
> > high? And check for < 0
> > before aborting from usb_gadget_register_driver ?
> >
> > Thanks
> > Troy
>
> Or maybe add a parameter to usb_lowlevel_init specifying if I desire
> host or device mode?

Check

[PATCH v4] usb: new board-specific USB init interface

That might give you some ideas.

Best regards,
Marek Vasut