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@xxxxxxxxxx> --- .../bindings/usb/qcom,pmic-tcpm.yaml | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/qcom,pmic-tcpm.yaml diff --git a/Documentation/devicetree/bindings/usb/qcom,pmic-tcpm.yaml b/Documentation/devicetree/bindings/usb/qcom,pmic-tcpm.yaml new file mode 100644 index 0000000000000..6dd51a1dd944f --- /dev/null +++ b/Documentation/devicetree/bindings/usb/qcom,pmic-tcpm.yaml @@ -0,0 +1,110 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/usb/qcom,pmic-tcpm.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Qualcomm PMIC TCPM Driver + +maintainers: + - Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> + +description: | + Qualcomm PMIC Type-C Port Manager Driver + +properties: + compatible: + enum: + - qcom,pm8150b-tcpm + + ports: + description: Remote endpoint connections + $ref: /connector/usb-connector.yaml#/properties/ports + + properties: + port@0: + description: Remote endpoints for the type-c device + + port@1: + description: Remote endpoints for the pdphy device + + port@2: + description: Connection to role switch node + + required: + - port@0 + - port@1 + - port@2 + +required: + - compatible + - ports + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/usb/pd.h> + #include <dt-bindings/usb/typec/tcpm/qcom,pmic-usb-typec.h> + #include <dt-bindings/usb/typec/tcpm/qcom,pmic-usb-pdphy.h> + + pm8150b_tcpm: pmic-tcpm { + compatible = "qcom,pmic-tcpm"; + + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + ports { + + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + pmic_tcpm_typec: endpoint { + remote-endpoint = <&pmic_typec>; + }; + }; + port@1 { + reg = <1>; + pmic_tcpm_pdphy: endpoint { + remote-endpoint = <&pmic_pdphy>; + }; + }; + port@2 { + ret = <2>; + usb3_role: endpoint@0 { + remote-endpoint = <&dwc3_drd_switch>; + }; + }; + }; + + connector { + compatible = "usb-c-connector"; + + power-role = "source"; + data-role = "dual"; + self-powered; + + source-pdos = <PDO_FIXED(5000, 3000, + PDO_FIXED_DUAL_ROLE | + PDO_FIXED_USB_COMM | + PDO_FIXED_DATA_SWAP)>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + pmic_tcpm_ss_mux: endpoint@0 { + remote-endpoint = <&qmp_ss_mux>; + }; + }; + }; + }; + }; + +... -- 2.33.0