diff mbox series

[RFC,v2,1/2] dt-bindings: connector: Add properties to define time values

Message ID 20240919075120.328469-2-amitsd@google.com
State New
Headers show
Series Add support for time DT property in TCPM | expand

Commit Message

Amit Sunil Dhamne Sept. 19, 2024, 7:51 a.m. UTC
This commit adds the following properties:
  * sink-wait-cap-time-ms
  * ps-source-off-time-ms
  * cc-debounce-time-ms

This is to enable setting of platform/board specific timer values as
these timers have a range of acceptable values.

Signed-off-by: Amit Sunil Dhamne <amitsd@google.com>
---
 .../bindings/connector/usb-connector.yaml     | 32 ++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

Comments

Rob Herring Sept. 21, 2024, 12:56 a.m. UTC | #1
On Thu, Sep 19, 2024 at 12:51:13AM -0700, Amit Sunil Dhamne wrote:
> This commit adds the following properties:
>   * sink-wait-cap-time-ms
>   * ps-source-off-time-ms
>   * cc-debounce-time-ms
> 
> This is to enable setting of platform/board specific timer values as
> these timers have a range of acceptable values.

What's acceptable? Put that in constraints for the properties.

> 
> Signed-off-by: Amit Sunil Dhamne <amitsd@google.com>
> ---
>  .../bindings/connector/usb-connector.yaml     | 32 ++++++++++++++++++-
>  1 file changed, 31 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml
> index fb216ce68bb3..5efa4ea3c41c 100644
> --- a/Documentation/devicetree/bindings/connector/usb-connector.yaml
> +++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml
> @@ -253,6 +253,33 @@ properties:
>  
>      additionalProperties: false
>  
> +  sink-wait-cap-time-ms:
> +    description: Represents the max time in ms that USB Type-C port (in sink
> +      role) should wait for the port partner (source role) to send source caps.
> +      SinkWaitCap timer starts when port in sink role attaches to the source.
> +      This timer will stop when sink receives PD source cap advertisement before
> +      timeout in which case it'll move to capability negotiation stage. A
> +      timeout leads to a hard reset message by the port. If no value is set for
> +      this property then the driver assumes a default value of PD_T_SINK_WAIT_CAP
> +      (defined in include/linux/usb/pd.h).

Express default as "default: N". Sorry, defines don't work here.
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml
index fb216ce68bb3..5efa4ea3c41c 100644
--- a/Documentation/devicetree/bindings/connector/usb-connector.yaml
+++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml
@@ -253,6 +253,33 @@  properties:
 
     additionalProperties: false
 
+  sink-wait-cap-time-ms:
+    description: Represents the max time in ms that USB Type-C port (in sink
+      role) should wait for the port partner (source role) to send source caps.
+      SinkWaitCap timer starts when port in sink role attaches to the source.
+      This timer will stop when sink receives PD source cap advertisement before
+      timeout in which case it'll move to capability negotiation stage. A
+      timeout leads to a hard reset message by the port. If no value is set for
+      this property then the driver assumes a default value of PD_T_SINK_WAIT_CAP
+      (defined in include/linux/usb/pd.h).
+
+  ps-source-off-time-ms:
+    description: Represents the max time in ms that a DRP in source role should
+      take to turn off power after the PsSourceOff timer starts. PsSourceOff
+      timer starts when a sink's PHY layer receives EOP of the GoodCRC message
+      (corresponding to an Accept message sent in response to a PR_Swap or a
+      FR_Swap request). This timer stops when last bit of GoodCRC EOP
+      corresponding to the received PS_RDY message is transmitted by the PHY
+      layer. A timeout shall lead to error recovery in the type-c port. If no
+      value is set for this property then the driver assumes a default value of
+      PD_T_PS_SOURCE_OFF (defined in include/linux/usb/pd.h).
+
+  cc-debounce-time-ms:
+    description: Represents the max time in ms that a port shall wait to
+      determine if it's attached to a partner. If no value is set for this
+      property then the driver assumes a default value of PD_T_CC_DEBOUNCE
+      (defined in include/linux/usb/pd.h).
+
 dependencies:
   sink-vdos-v1: [ sink-vdos ]
   sink-vdos: [ sink-vdos-v1 ]
@@ -380,7 +407,7 @@  examples:
     };
 
   # USB-C connector attached to a typec port controller(ptn5110), which has
-  # power delivery support and enables drp.
+  # power delivery support, explicitly defines time properties and enables drp.
   - |
     #include <dt-bindings/usb/pd.h>
     typec: ptn5110 {
@@ -393,6 +420,9 @@  examples:
             sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)
                          PDO_VAR(5000, 12000, 2000)>;
             op-sink-microwatt = <10000000>;
+            sink-wait-cap-time-ms = <465>;
+            ps-source-off-time-ms = <835>;
+            cc-debounce-time-ms = <101>;
         };
     };