Re: [PATCH 0/4] musb fixes for v4.9-rc cycle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [161208 04:03]:
> Hi Tony,
> 
> On Wednesday 07 Dec 2016 21:51:23 Tony Lindgren wrote:
> > * Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> [161123 08:44]:
> > > On Wednesday 23 Nov 2016 18:40:09 Tomi Valkeinen wrote:
> > >> On 23/11/16 18:34, Tony Lindgren wrote:
> > >>> OK. And what changes to your current .config make the
> > >>> musb_bus_suspend() issues show up?
> > >>> 
> > >>> If it happens with USB-B cable from host to musb with musb set to host
> > >>> only mode I'm not suprised there are errors :)
> > >> 
> > >> I have no USB cables connected. I have attached my config. If
> > >> CONFIG_USB_MUSB_HDRC is disabled, the musb error goes away.
> > > 
> > > For what it's worth, that's exactly the same problem I experienced. See
> > > https://www.spinics.net/lists/linux-usb/msg149172.html for an analysis.
> > 
> > The problem is that with the built-in musb configuration we're trying to
> > set USB-B cable to host mode with ID pin not grounded. That's not going
> > to work on most hardware unless the PHY can configure the ID pin.
> > 
> > Here's how to fix the .config for built-in musb:
> > 
> > 1. Change to have CONFIG_USB_GADGET=y
> >
> > 2. Then change CONFIG_USB_MUSB_DUAL_ROLE=y instead of CONFIG_USB_MUSB_HOST
> >
> > We should probably get rid of CONFIG_USB_MUSB_HOST to avoid this.
> 
> The reason I went for host mode is that I had to disable CONFIG_USB_GADGET as 
> compiling it as a module prevents selecting CONFIG_NOP_USB_XCEIV=y, which is a 
> dependency for CONFIG_USB_EHCI_HCD_OMAP=m.

OK well like I said the CONFIG_USB_MUSB_HOST selection for a USB-B cable
won't work from the hardware point of view. The only case where it works
is if the PHY ID pin is grounded. Anything else will be flakey and won't
prevent musb from attempting to change it's state on it's own.

> config NOP_USB_XCEIV
>         tristate "NOP USB Transceiver Driver"
>         depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be 
> built-in
>         select USB_PHY

No idea why it's done that way..

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux