On Mon, Mar 20, 2023 at 11:34:46AM +0200, Roger Quadros wrote: > The current USB gadget driver behaviour is to stop the controller > and disconnect from the bus during System sleep. What's USB gadget? ;) > The 'snps,gadget-keep-connect-sys-sleep' property can be used to > change this behaviour and keep the controller active and connected > to the bus during System sleep. This is useful for applications > that want to enter a low power state when USB is suspended but > remain connected so they can resume activity on USB resume. > > This feature introduces a new constraint if Gadget driver is connected > to USB host: i.e. the gadget must be in USB suspend state to allow > a System sleep as we cannot process any USB transactions > when in System sleep. > > The system hardware is responsible to detect the end of USB suspend > and wake up the system so we can begin processing the USB transactions > as soon as possible. Sounds like something the user/OS would want to choose rather than fixed by your board's firmware. Is this somehow DWC3 specific? If not, why a DWC3 specific property? > > Cc: devicetree@xxxxxxxxxxxxxxx > Signed-off-by: Roger Quadros <rogerq@xxxxxxxxxx> > --- > Documentation/devicetree/bindings/usb/snps,dwc3.yaml | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml > index be36956af53b..1ce8008e7fef 100644 > --- a/Documentation/devicetree/bindings/usb/snps,dwc3.yaml > +++ b/Documentation/devicetree/bindings/usb/snps,dwc3.yaml > @@ -262,6 +262,11 @@ properties: > asserts utmi_sleep_n. > type: boolean > > + snps,gadget-keep-connect-sys-sleep: > + description: > + If True then gadget driver will not disconnect during system sleep. > + System sleep will not be allowed if gadget is not already in USB suspend. 'gadget' is a Linuxism. > + > snps,hird-threshold: > description: HIRD threshold > $ref: /schemas/types.yaml#/definitions/uint8 > -- > 2.34.1 >