Hi, On Mon, Apr 29, 2019 at 6:23 PM Rob Herring <robh@xxxxxxxxxx> wrote: > > On Wed, Apr 17, 2019 at 05:13:54PM -0700, Douglas Anderson wrote: > > Some SoCs with a dwc2 USB controller may need to keep the PHY on to > > support remote wakeup. Allow specifying this as a device tree > > property. > > > > Signed-off-by: Douglas Anderson <dianders@xxxxxxxxxxxx> > > --- > > For relevant prior discussion on this patch, see: > > > > https://lkml.kernel.org/r/1435017144-2971-3-git-send-email-dianders@xxxxxxxxxxxx > > > > I didn't make any changes from the prior version since I never found > > out what Rob thought of my previous arguments. If folks want a > > change, perhaps they could choose from these options: > > > > 1. Assume that all dwc2 hosts would like to keep their PHY on for > > suspend if there's a USB wakeup enabled, thus we totally drop this > > binding. This doesn't seem super great to me since I'd bet that > > many devices that use dwc2 weren't designed for USB wakeup (they > > may not keep enough clocks or rails on) so we might be wasting > > power for nothing. > > 1b. Use SoC specific compatible strings to enable/disable remote > wake-up. We can debate what the default is I guess. Unfortunately it's more than just SoC. While you need the SoC to be able to support this type of wakeup, you also need the board design, firmware design, regulator design, etc. ...so I don't think we can just use the SoC specific compatible string. In fact, while testing this I found that USB wakeup was totally broken unless I enabled "deep suspend" mode on my system. Something about the clocks / wakeup sources in the shallow suspend totally blocked it and I couldn't figure out what. ...so I believe it really needs to be something where someone has said: I tested it out on this board and everything is setup properly to support USB wakeup. > > 2. Rename this property to "snps,wakeup-from-suspend-with-phy" to make > > it more obvious that this property is intended both to document > > that wakeup from suspend is possible and that we need the PHY for > > said wakeup. > > 3. Rename this property to "snps,can-wakeup-from-suspend" and assume > > it's implicit that if we can wakeup from suspend that we need to > > keep the PHY on. If/when someone shows that a device exists using > > dwc2 where we can wakeup from suspend without the PHY they can add > > a new property. > > > > Changes in v2: None > > > > Documentation/devicetree/bindings/usb/dwc2.txt | 3 +++ > > 1 file changed, 3 insertions(+)