xref: /linux/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml (revision fc2d791a43d3880496d1c729b8bd74d2c19cb4e7)
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,glymur-pmic-glink
27              - qcom,kaanapali-pmic-glink
28              - qcom,qcm6490-pmic-glink
29              - qcom,sc8180x-pmic-glink
30              - qcom,sc8280xp-pmic-glink
31              - qcom,sm8350-pmic-glink
32              - qcom,sm8450-pmic-glink
33              - qcom,sm8550-pmic-glink
34          - const: qcom,pmic-glink
35      - items:
36          - enum:
37              - qcom,sm7325-pmic-glink
38          - const: qcom,qcm6490-pmic-glink
39          - const: qcom,pmic-glink
40      - items:
41          - enum:
42              - qcom,milos-pmic-glink
43              - qcom,sm8650-pmic-glink
44              - qcom,sm8750-pmic-glink
45              - qcom,x1e80100-pmic-glink
46          - const: qcom,sm8550-pmic-glink
47          - const: qcom,pmic-glink
48
49  '#address-cells':
50    const: 1
51
52  '#size-cells':
53    const: 0
54
55  orientation-gpios:
56    description: Array of input gpios for the Type-C connector orientation indication.
57      The GPIO indication is used to detect the orientation of the Type-C connector.
58      The array should contain a gpio entry for each PMIC Glink connector, in reg order.
59      It is defined that GPIO active level means "CC2" or Reversed/Flipped orientation.
60
61  nvmem-cells:
62    minItems: 3
63    maxItems: 3
64    description:
65      The nvmem cells contain the charge control settings, including the charge control
66      enable status, the battery state of charge (SoC) threshold for stopping charging,
67      and the battery SoC delta required to restart charging.
68
69  nvmem-cell-names:
70    items:
71      - const: charge_limit_en
72      - const: charge_limit_end
73      - const: charge_limit_delta
74
75patternProperties:
76  '^connector@\d$':
77    $ref: /schemas/connector/usb-connector.yaml#
78    required:
79      - reg
80
81required:
82  - compatible
83
84additionalProperties: false
85
86examples:
87  - |+
88    pmic-glink {
89        compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
90
91        #address-cells = <1>;
92        #size-cells = <0>;
93
94        connector@0 {
95            compatible = "usb-c-connector";
96            reg = <0>;
97            power-role = "dual";
98            data-role = "dual";
99
100            ports {
101                #address-cells = <1>;
102                #size-cells = <0>;
103
104                port@0 {
105                    reg = <0>;
106                    endpoint {
107                        remote-endpoint = <&usb_role>;
108                    };
109                };
110
111                port@1 {
112                    reg = <1>;
113                    endpoint {
114                        remote-endpoint = <&ss_phy_out>;
115                    };
116                };
117
118                port@2 {
119                    reg = <2>;
120                    endpoint {
121                        remote-endpoint = <&sbu_mux>;
122                    };
123                };
124            };
125        };
126    };
127...
128
129