1cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2cb7aa33aSEmmanuel Vadot%YAML 1.2 3cb7aa33aSEmmanuel Vadot--- 4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/soc/qcom/qcom,pmic-glink.yaml# 5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6cb7aa33aSEmmanuel Vadot 7cb7aa33aSEmmanuel Vadottitle: Qualcomm PMIC GLINK firmware interface for battery management, USB 8cb7aa33aSEmmanuel Vadot Type-C and other things. 9cb7aa33aSEmmanuel Vadot 10cb7aa33aSEmmanuel Vadotmaintainers: 11cb7aa33aSEmmanuel Vadot - Bjorn Andersson <andersson@kernel.org> 12cb7aa33aSEmmanuel Vadot 13cb7aa33aSEmmanuel Vadotdescription: 14cb7aa33aSEmmanuel Vadot The PMIC GLINK service, running on a coprocessor on some modern Qualcomm 15cb7aa33aSEmmanuel Vadot platforms and implement USB Type-C handling and battery management. This 16cb7aa33aSEmmanuel Vadot binding describes the component in the OS used to communicate with the 17cb7aa33aSEmmanuel Vadot firmware and connect it's resources to those described in the Devicetree, 18cb7aa33aSEmmanuel Vadot particularly the USB Type-C controllers relationship with USB and DisplayPort 19cb7aa33aSEmmanuel Vadot components. 20cb7aa33aSEmmanuel Vadot 21cb7aa33aSEmmanuel Vadotproperties: 22cb7aa33aSEmmanuel Vadot compatible: 238d13bc63SEmmanuel Vadot oneOf: 248d13bc63SEmmanuel Vadot - items: 25cb7aa33aSEmmanuel Vadot - enum: 2601950c46SEmmanuel Vadot - qcom,qcm6490-pmic-glink 27cb7aa33aSEmmanuel Vadot - qcom,sc8180x-pmic-glink 28cb7aa33aSEmmanuel Vadot - qcom,sc8280xp-pmic-glink 29cb7aa33aSEmmanuel Vadot - qcom,sm8350-pmic-glink 30fac71e4eSEmmanuel Vadot - qcom,sm8450-pmic-glink 31fac71e4eSEmmanuel Vadot - qcom,sm8550-pmic-glink 32cb7aa33aSEmmanuel Vadot - const: qcom,pmic-glink 338d13bc63SEmmanuel Vadot - items: 348d13bc63SEmmanuel Vadot - enum: 35*b2d2a78aSEmmanuel Vadot - qcom,sm7325-pmic-glink 36*b2d2a78aSEmmanuel Vadot - const: qcom,qcm6490-pmic-glink 37*b2d2a78aSEmmanuel Vadot - const: qcom,pmic-glink 38*b2d2a78aSEmmanuel Vadot - items: 39*b2d2a78aSEmmanuel Vadot - enum: 408d13bc63SEmmanuel Vadot - qcom,sm8650-pmic-glink 4101950c46SEmmanuel Vadot - qcom,x1e80100-pmic-glink 428d13bc63SEmmanuel Vadot - const: qcom,sm8550-pmic-glink 438d13bc63SEmmanuel Vadot - const: qcom,pmic-glink 44cb7aa33aSEmmanuel Vadot 45cb7aa33aSEmmanuel Vadot '#address-cells': 46cb7aa33aSEmmanuel Vadot const: 1 47cb7aa33aSEmmanuel Vadot 48cb7aa33aSEmmanuel Vadot '#size-cells': 49cb7aa33aSEmmanuel Vadot const: 0 50cb7aa33aSEmmanuel Vadot 5184943d6fSEmmanuel Vadot orientation-gpios: 5284943d6fSEmmanuel Vadot description: Array of input gpios for the Type-C connector orientation indication. 5384943d6fSEmmanuel Vadot The GPIO indication is used to detect the orientation of the Type-C connector. 5484943d6fSEmmanuel Vadot The array should contain a gpio entry for each PMIC Glink connector, in reg order. 5584943d6fSEmmanuel Vadot It is defined that GPIO active level means "CC2" or Reversed/Flipped orientation. 5684943d6fSEmmanuel Vadot 57cb7aa33aSEmmanuel VadotpatternProperties: 58cb7aa33aSEmmanuel Vadot '^connector@\d$': 59cb7aa33aSEmmanuel Vadot $ref: /schemas/connector/usb-connector.yaml# 60cb7aa33aSEmmanuel Vadot required: 61cb7aa33aSEmmanuel Vadot - reg 62cb7aa33aSEmmanuel Vadot 63cb7aa33aSEmmanuel Vadotrequired: 64cb7aa33aSEmmanuel Vadot - compatible 65cb7aa33aSEmmanuel Vadot 66cb7aa33aSEmmanuel VadotadditionalProperties: false 67cb7aa33aSEmmanuel Vadot 68cb7aa33aSEmmanuel Vadotexamples: 69cb7aa33aSEmmanuel Vadot - |+ 70cb7aa33aSEmmanuel Vadot pmic-glink { 71cb7aa33aSEmmanuel Vadot compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink"; 72cb7aa33aSEmmanuel Vadot 73cb7aa33aSEmmanuel Vadot #address-cells = <1>; 74cb7aa33aSEmmanuel Vadot #size-cells = <0>; 75cb7aa33aSEmmanuel Vadot 76cb7aa33aSEmmanuel Vadot connector@0 { 77cb7aa33aSEmmanuel Vadot compatible = "usb-c-connector"; 78cb7aa33aSEmmanuel Vadot reg = <0>; 79cb7aa33aSEmmanuel Vadot power-role = "dual"; 80cb7aa33aSEmmanuel Vadot data-role = "dual"; 81cb7aa33aSEmmanuel Vadot 82cb7aa33aSEmmanuel Vadot ports { 83cb7aa33aSEmmanuel Vadot #address-cells = <1>; 84cb7aa33aSEmmanuel Vadot #size-cells = <0>; 85cb7aa33aSEmmanuel Vadot 86cb7aa33aSEmmanuel Vadot port@0 { 87cb7aa33aSEmmanuel Vadot reg = <0>; 88cb7aa33aSEmmanuel Vadot endpoint { 89cb7aa33aSEmmanuel Vadot remote-endpoint = <&usb_role>; 90cb7aa33aSEmmanuel Vadot }; 91cb7aa33aSEmmanuel Vadot }; 92cb7aa33aSEmmanuel Vadot 93cb7aa33aSEmmanuel Vadot port@1 { 94cb7aa33aSEmmanuel Vadot reg = <1>; 95cb7aa33aSEmmanuel Vadot endpoint { 96cb7aa33aSEmmanuel Vadot remote-endpoint = <&ss_phy_out>; 97cb7aa33aSEmmanuel Vadot }; 98cb7aa33aSEmmanuel Vadot }; 99cb7aa33aSEmmanuel Vadot 100cb7aa33aSEmmanuel Vadot port@2 { 101cb7aa33aSEmmanuel Vadot reg = <2>; 102cb7aa33aSEmmanuel Vadot endpoint { 103cb7aa33aSEmmanuel Vadot remote-endpoint = <&sbu_mux>; 104cb7aa33aSEmmanuel Vadot }; 105cb7aa33aSEmmanuel Vadot }; 106cb7aa33aSEmmanuel Vadot }; 107cb7aa33aSEmmanuel Vadot }; 108cb7aa33aSEmmanuel Vadot }; 109cb7aa33aSEmmanuel Vadot... 110cb7aa33aSEmmanuel Vadot 111