168d868adSBjorn Andersson# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 268d868adSBjorn Andersson%YAML 1.2 368d868adSBjorn Andersson--- 468d868adSBjorn Andersson$id: http://devicetree.org/schemas/soc/qcom/qcom,pmic-glink.yaml# 568d868adSBjorn Andersson$schema: http://devicetree.org/meta-schemas/core.yaml# 668d868adSBjorn Andersson 768d868adSBjorn Anderssontitle: Qualcomm PMIC GLINK firmware interface for battery management, USB 868d868adSBjorn Andersson Type-C and other things. 968d868adSBjorn Andersson 1068d868adSBjorn Anderssonmaintainers: 1168d868adSBjorn Andersson - Bjorn Andersson <andersson@kernel.org> 1268d868adSBjorn Andersson 1368d868adSBjorn Anderssondescription: 1468d868adSBjorn Andersson The PMIC GLINK service, running on a coprocessor on some modern Qualcomm 1568d868adSBjorn Andersson platforms and implement USB Type-C handling and battery management. This 1668d868adSBjorn Andersson binding describes the component in the OS used to communicate with the 1768d868adSBjorn Andersson firmware and connect it's resources to those described in the Devicetree, 1868d868adSBjorn Andersson particularly the USB Type-C controllers relationship with USB and DisplayPort 1968d868adSBjorn Andersson components. 2068d868adSBjorn Andersson 2168d868adSBjorn Anderssonproperties: 2268d868adSBjorn Andersson compatible: 2398e8bc43SNeil Armstrong oneOf: 2498e8bc43SNeil Armstrong - items: 2568d868adSBjorn Andersson - enum: 266677138dSLuca Weiss - qcom,qcm6490-pmic-glink 2768d868adSBjorn Andersson - qcom,sc8180x-pmic-glink 2868d868adSBjorn Andersson - qcom,sc8280xp-pmic-glink 2968d868adSBjorn Andersson - qcom,sm8350-pmic-glink 3014bc45c4SNeil Armstrong - qcom,sm8450-pmic-glink 3184a33413SNeil Armstrong - qcom,sm8550-pmic-glink 3268d868adSBjorn Andersson - const: qcom,pmic-glink 3398e8bc43SNeil Armstrong - items: 3498e8bc43SNeil Armstrong - enum: 35e6b666deSDanila Tikhonov - qcom,sm7325-pmic-glink 36e6b666deSDanila Tikhonov - const: qcom,qcm6490-pmic-glink 37e6b666deSDanila Tikhonov - const: qcom,pmic-glink 38e6b666deSDanila Tikhonov - items: 39e6b666deSDanila Tikhonov - enum: 4098e8bc43SNeil Armstrong - qcom,sm8650-pmic-glink 41*707fb1f2SJishnu Prakash - qcom,sm8750-pmic-glink 420ebeba91SAbel Vesa - qcom,x1e80100-pmic-glink 4398e8bc43SNeil Armstrong - const: qcom,sm8550-pmic-glink 4498e8bc43SNeil Armstrong - const: qcom,pmic-glink 4568d868adSBjorn Andersson 4668d868adSBjorn Andersson '#address-cells': 4768d868adSBjorn Andersson const: 1 4868d868adSBjorn Andersson 4968d868adSBjorn Andersson '#size-cells': 5068d868adSBjorn Andersson const: 0 5168d868adSBjorn Andersson 5265682407SNeil Armstrong orientation-gpios: 5365682407SNeil Armstrong description: Array of input gpios for the Type-C connector orientation indication. 5465682407SNeil Armstrong The GPIO indication is used to detect the orientation of the Type-C connector. 5565682407SNeil Armstrong The array should contain a gpio entry for each PMIC Glink connector, in reg order. 5665682407SNeil Armstrong It is defined that GPIO active level means "CC2" or Reversed/Flipped orientation. 5765682407SNeil Armstrong 5868d868adSBjorn AnderssonpatternProperties: 5968d868adSBjorn Andersson '^connector@\d$': 6068d868adSBjorn Andersson $ref: /schemas/connector/usb-connector.yaml# 6168d868adSBjorn Andersson required: 6268d868adSBjorn Andersson - reg 6368d868adSBjorn Andersson 6468d868adSBjorn Anderssonrequired: 6568d868adSBjorn Andersson - compatible 6668d868adSBjorn Andersson 6768d868adSBjorn AnderssonadditionalProperties: false 6868d868adSBjorn Andersson 6968d868adSBjorn Anderssonexamples: 7068d868adSBjorn Andersson - |+ 7168d868adSBjorn Andersson pmic-glink { 7268d868adSBjorn Andersson compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink"; 7368d868adSBjorn Andersson 7468d868adSBjorn Andersson #address-cells = <1>; 7568d868adSBjorn Andersson #size-cells = <0>; 7668d868adSBjorn Andersson 7768d868adSBjorn Andersson connector@0 { 7868d868adSBjorn Andersson compatible = "usb-c-connector"; 7968d868adSBjorn Andersson reg = <0>; 8068d868adSBjorn Andersson power-role = "dual"; 8168d868adSBjorn Andersson data-role = "dual"; 8268d868adSBjorn Andersson 8368d868adSBjorn Andersson ports { 8468d868adSBjorn Andersson #address-cells = <1>; 8568d868adSBjorn Andersson #size-cells = <0>; 8668d868adSBjorn Andersson 8768d868adSBjorn Andersson port@0 { 8868d868adSBjorn Andersson reg = <0>; 8968d868adSBjorn Andersson endpoint { 9068d868adSBjorn Andersson remote-endpoint = <&usb_role>; 9168d868adSBjorn Andersson }; 9268d868adSBjorn Andersson }; 9368d868adSBjorn Andersson 9468d868adSBjorn Andersson port@1 { 9568d868adSBjorn Andersson reg = <1>; 9668d868adSBjorn Andersson endpoint { 9768d868adSBjorn Andersson remote-endpoint = <&ss_phy_out>; 9868d868adSBjorn Andersson }; 9968d868adSBjorn Andersson }; 10068d868adSBjorn Andersson 10168d868adSBjorn Andersson port@2 { 10268d868adSBjorn Andersson reg = <2>; 10368d868adSBjorn Andersson endpoint { 10468d868adSBjorn Andersson remote-endpoint = <&sbu_mux>; 10568d868adSBjorn Andersson }; 10668d868adSBjorn Andersson }; 10768d868adSBjorn Andersson }; 10868d868adSBjorn Andersson }; 10968d868adSBjorn Andersson }; 11068d868adSBjorn Andersson... 11168d868adSBjorn Andersson 112