[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201020093627.256885-2-badhri@google.com>
Date: Tue, 20 Oct 2020 02:36:18 -0700
From: Badhri Jagan Sridharan <badhri@...gle.com>
To: Guenter Roeck <linux@...ck-us.net>,
Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Rob Herring <robh+dt@...nel.org>,
Lee Jones <lee.jones@...aro.org>,
Mark Brown <broonie@...nel.org>,
Maxime Ripard <mripard@...nel.org>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Thierry Reding <treding@...dia.com>,
Prashant Malani <pmalani@...omium.org>,
Badhri Jagan Sridharan <badhri@...gle.com>
Cc: devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-usb@...r.kernel.org
Subject: [PATCH v11 01/10] dt-bindings: connector: Add property to set initial
current cap for FRS
This change adds frs-typec-current which allows setting the initial current
capability of the new source when vSafe5V is applied during PD3.0
sink Fast Role Swap.
Signed-off-by: Badhri Jagan Sridharan <badhri@...gle.com>
---
Changes since v1:
- Changing patch version to v6 to fix version number confusion.
Changes since v6:
- Removed the redundant usb-connector.txt that I created by mistake.
- Moved to yaml.
Changes since v7:
- Rebase
Changes since v8:
- Redefine new-source-frs-typec-current as string enums to address
Rob Herring's comment.
Changes since v9:
- Removed FRS constants from usb bindings.
Changes since v10:
- Suggestions from Rob Herring:
- Going back to u32 for new-source-frs-typec-current
- Removed the definition for "not-supported"
- Bringing back FRS constants for usb pd binding.
---
.../bindings/connector/usb-connector.yaml | 19 +++++++++++++++++++
include/dt-bindings/usb/pd.h | 8 ++++++++
2 files changed, 27 insertions(+)
diff --git a/Documentation/devicetree/bindings/connector/usb-connector.yaml b/Documentation/devicetree/bindings/connector/usb-connector.yaml
index 728f82db073d..62781518aefc 100644
--- a/Documentation/devicetree/bindings/connector/usb-connector.yaml
+++ b/Documentation/devicetree/bindings/connector/usb-connector.yaml
@@ -147,6 +147,25 @@ properties:
required:
- port@0
+ new-source-frs-typec-current:
+ description: Initial current capability of the new source when vSafe5V
+ is applied during PD3.0 Fast Role Swap. "Table 6-14 Fixed Supply PDO - Sink"
+ of "USB Power Delivery Specification Revision 3.0, Version 1.2" provides the
+ different power levels and "6.4.1.3.1.6 Fast Role Swap USB Type-C Current"
+ provides a detailed description of the field. The sink PDO from current source
+ reflects the current source's(i.e. transmitter of the FRS signal) power
+ requirement during fr swap. The current sink (i.e. receiver of the FRS signal),
+ a.k.a new source, should check if it will be able to satisfy the current source's,
+ new sink's, requirement during frswap before enabling the frs signal reception.
+ This property refers to maximum current capability that the current sink can
+ satisfy. During FRS, VBUS voltage is at 5V, as the partners are in implicit
+ contract, hence, the power level is only a function of the current capability.
+ "1" refers to default USB power level as described by "Table 6-14 Fixed Supply PDO - Sink".
+ "2" refers to 1.5A@5V.
+ "3" refers to 3.0A@5V.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [1, 2, 3]
+
required:
- compatible
diff --git a/include/dt-bindings/usb/pd.h b/include/dt-bindings/usb/pd.h
index 985f2bbd4d24..0352893697f0 100644
--- a/include/dt-bindings/usb/pd.h
+++ b/include/dt-bindings/usb/pd.h
@@ -85,4 +85,12 @@
PDO_PPS_APDO_MIN_VOLT(min_mv) | PDO_PPS_APDO_MAX_VOLT(max_mv) | \
PDO_PPS_APDO_MAX_CURR(max_ma))
+ /*
+ * Based on "Table 6-14 Fixed Supply PDO - Sink" of "USB Power Delivery Specification Revision 3.0,
+ * Version 1.2"
+ * Initial current capability of the new source when vSafe5V is applied.
+ */
+#define FRS_DEFAULT_POWER 1
+#define FRS_5V_1P5A 2
+#define FRS_5V_3A 3
#endif /* __DT_POWER_DELIVERY_H */
--
2.29.0.rc1.297.gfa9743e501-goog
Powered by blists - more mailing lists