Merge tag 'usb-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / soc / qcom / qcom,pmic-glink.yaml
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
7 title: Qualcomm PMIC GLINK firmware interface for battery management, USB
8   Type-C and other things.
9
10 maintainers:
11   - Bjorn Andersson <andersson@kernel.org>
12
13 description:
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
21 properties:
22   compatible:
23     oneOf:
24       - items:
25           - enum:
26               - qcom,qcm6490-pmic-glink
27               - qcom,sc8180x-pmic-glink
28               - qcom,sc8280xp-pmic-glink
29               - qcom,sm8350-pmic-glink
30               - qcom,sm8450-pmic-glink
31               - qcom,sm8550-pmic-glink
32           - const: qcom,pmic-glink
33       - items:
34           - enum:
35               - qcom,sm8650-pmic-glink
36               - qcom,x1e80100-pmic-glink
37           - const: qcom,sm8550-pmic-glink
38           - const: qcom,pmic-glink
39
40   '#address-cells':
41     const: 1
42
43   '#size-cells':
44     const: 0
45
46   orientation-gpios:
47     description: Array of input gpios for the Type-C connector orientation indication.
48       The GPIO indication is used to detect the orientation of the Type-C connector.
49       The array should contain a gpio entry for each PMIC Glink connector, in reg order.
50       It is defined that GPIO active level means "CC2" or Reversed/Flipped orientation.
51
52 patternProperties:
53   '^connector@\d$':
54     $ref: /schemas/connector/usb-connector.yaml#
55     required:
56       - reg
57
58 required:
59   - compatible
60
61 allOf:
62   - if:
63       not:
64         properties:
65           compatible:
66             contains:
67               enum:
68                 - qcom,sm8450-pmic-glink
69                 - qcom,sm8550-pmic-glink
70                 - qcom,x1e80100-pmic-glink
71     then:
72       properties:
73         orientation-gpios: false
74
75 additionalProperties: false
76
77 examples:
78   - |+
79     pmic-glink {
80         compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
81
82         #address-cells = <1>;
83         #size-cells = <0>;
84
85         connector@0 {
86             compatible = "usb-c-connector";
87             reg = <0>;
88             power-role = "dual";
89             data-role = "dual";
90
91             ports {
92                 #address-cells = <1>;
93                 #size-cells = <0>;
94
95                 port@0 {
96                     reg = <0>;
97                     endpoint {
98                         remote-endpoint = <&usb_role>;
99                     };
100                 };
101
102                 port@1 {
103                     reg = <1>;
104                     endpoint {
105                         remote-endpoint = <&ss_phy_out>;
106                     };
107                 };
108
109                 port@2 {
110                     reg = <2>;
111                     endpoint {
112                         remote-endpoint = <&sbu_mux>;
113                     };
114                 };
115             };
116         };
117     };
118 ...
119