xref: /linux/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml (revision eb01fe7abbe2d0b38824d2a93fdb4cc3eaf2ccc1)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/soc/qcom/qcom,pmic-glink.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm PMIC GLINK firmware interface for battery management, USB
8  Type-C and other things.
9
10maintainers:
11  - Bjorn Andersson <andersson@kernel.org>
12
13description:
14  The PMIC GLINK service, running on a coprocessor on some modern Qualcomm
15  platforms and implement USB Type-C handling and battery management. This
16  binding describes the component in the OS used to communicate with the
17  firmware and connect it's resources to those described in the Devicetree,
18  particularly the USB Type-C controllers relationship with USB and DisplayPort
19  components.
20
21properties:
22  compatible:
23    oneOf:
24      - items:
25          - enum:
26              - qcom,sc8180x-pmic-glink
27              - qcom,sc8280xp-pmic-glink
28              - qcom,sm8350-pmic-glink
29              - qcom,sm8450-pmic-glink
30              - qcom,sm8550-pmic-glink
31          - const: qcom,pmic-glink
32      - items:
33          - enum:
34              - qcom,sm8650-pmic-glink
35              - qcom,x1e80100-pmic-glink
36          - const: qcom,sm8550-pmic-glink
37          - const: qcom,pmic-glink
38
39  '#address-cells':
40    const: 1
41
42  '#size-cells':
43    const: 0
44
45  orientation-gpios:
46    description: Array of input gpios for the Type-C connector orientation indication.
47      The GPIO indication is used to detect the orientation of the Type-C connector.
48      The array should contain a gpio entry for each PMIC Glink connector, in reg order.
49      It is defined that GPIO active level means "CC2" or Reversed/Flipped orientation.
50
51patternProperties:
52  '^connector@\d$':
53    $ref: /schemas/connector/usb-connector.yaml#
54    required:
55      - reg
56
57required:
58  - compatible
59
60allOf:
61  - if:
62      not:
63        properties:
64          compatible:
65            contains:
66              enum:
67                - qcom,sm8450-pmic-glink
68                - qcom,sm8550-pmic-glink
69                - qcom,x1e80100-pmic-glink
70    then:
71      properties:
72        orientation-gpios: false
73
74additionalProperties: false
75
76examples:
77  - |+
78    pmic-glink {
79        compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
80
81        #address-cells = <1>;
82        #size-cells = <0>;
83
84        connector@0 {
85            compatible = "usb-c-connector";
86            reg = <0>;
87            power-role = "dual";
88            data-role = "dual";
89
90            ports {
91                #address-cells = <1>;
92                #size-cells = <0>;
93
94                port@0 {
95                    reg = <0>;
96                    endpoint {
97                        remote-endpoint = <&usb_role>;
98                    };
99                };
100
101                port@1 {
102                    reg = <1>;
103                    endpoint {
104                        remote-endpoint = <&ss_phy_out>;
105                    };
106                };
107
108                port@2 {
109                    reg = <2>;
110                    endpoint {
111                        remote-endpoint = <&sbu_mux>;
112                    };
113                };
114            };
115        };
116    };
117...
118
119