[PATCH v4 09/18] dt-bindings: usb: Add Qualcomm PMIC TCPM YAML schema

Bryan O'Donoghue
2023-03-18T12:18:57Z

Add a YAML description for the pm8150b-tcpm driver. The pm8150b-tcpm
encapsulates a type-c block and a pdphy block into one block presented to
the TCPM Linux API.

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
---
.../bindings/usb/qcom,pmic-virt-tcpm.yaml | 88 +++++++++++++++++++
1 file changed, 88 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/qcom,pmic-virt-tcpm.yaml

diff --git a/Documentation/devicetree/bindings/usb/qcom,pmic-virt-tcpm.yaml b/Documentation/devicetree/bindings/usb/qcom,pmic-virt-tcpm.yaml
new file mode 100644
index 0000000000000..576842c8b65b4
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/qcom,pmic-virt-tcpm.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/usb/qcom,pmic-virt-tcpm.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Qualcomm PMIC Virtual TCPM Driver
+
+maintainers:
+ - Bryan O'Donoghue <bryan.odonoghue@linaro.org>
+
+description: |
+ Qualcomm PMIC Virtual Type-C Port Manager Driver
+ A virtual device which manages Qualcomm PMIC provided Type-C port and
+ Power Delivery in one place.
+
+properties:
+ compatible:
+ const: qcom,pmic-virt-tcpm
+
+ connector:
+ type: object
+ $ref: /schemas/connector/usb-connector.yaml#
+ unevaluatedProperties: false
+
+ port:
+ $ref: /schemas/graph.yaml#/properties/port
+ description:
+ Contains a port which consumes data-role switching messages.
+
+ qcom,pmic-typec:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ A phandle to the typec port hardware driver.
+
+ qcom,pmic-pdphy:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ A phandle to the type-c pdphy hardware driver.
+
+required:
+ - compatible
+ - connector
+ - port
+ - qcom,pmic-typec
+ - qcom,pmic-pdphy
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/usb/pd.h>
+ #include <dt-bindings/usb/typec/qcom,pmic-typec.h>
+ #include <dt-bindings/usb/typec/qcom,pmic-pdphy.h>
+
+ pm8150b_tcpm: pmic-tcpm {
+ compatible = "qcom,pmic-virt-tcpm";
+
+ qcom,pmic-typec = <&pm8150b_typec>;
+ qcom,pmic-pdphy = <&pm8150b_pdphy>;
+
+ port {
+ usb3_role: endpoint {
+ remote-endpoint = <&dwc3_drd_switch>;
+ };
+ };
+
+ connector {
+ compatible = "usb-c-connector";
+
+ power-role = "source";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ pmic_tcpm_ss_mux: endpoint {
+ remote-endpoint = <&qmp_ss_mux>;
+ };
+ };
+ };
+ };
+ };
+
+...
--
2.39.2