Re: [RFC 1/8] dt-bindings: usb: qcom,dwc3: Add bindings to enable runtime

From: Caleb Connolly
Date: Thu Nov 02 2023 - 14:41:10 EST


Hi Caleb,

  There are two types of platforms, some use extcon and some use role-switch to deliver vbus/id notifications. Extcon targets already have this qscratch modifications present today in vbus and id handlers. But for role-switch based targets we don't have any way to get this notification to dwc3-qcom. In this implementation, I wanted to get those notications from core to glue and for this we implenented vendor hooks.

The property added has been used to do two things:

1. Register glue's vendor hooks to core driver
2. Do runtime_allow for glue (and by default for core as the dt is not flattened)

In case of extcon, we don't want to register vendor hooks as notifications are not necessary.

Could it just be enabled when role_switch is present then?

For xhci, we opted to enable runtime from userspace.

        HS/FS/LS modes are supported.
      type: boolean
+  qcom,enable-rt:
+    description:
+      If present, register vendor hooks to facilitate runtime suspend/resume
+    type: boolean

A Krzysztof pointed out, properties should define the hardware behaviour, not tot the implementation details. For this case the hardware isn't wired up to vbus, so maybe something like "qcom,no-vbus"?
+

On all targets, vbus is not routed to hardware. This vbus toggle indication is given to controller via qscratch only.

Regards,
Krishna,

--
// Caleb (they/them)