xref: /linux/Documentation/devicetree/bindings/mfd/qcom,pm8008.yaml (revision 6af91e3d2cfc8bb579b1aa2d22cd91f8c34acdf6)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/qcom,pm8008.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Technologies, Inc. PM8008 PMIC
8
9maintainers:
10  - Guru Das Srinagesh <quic_gurus@quicinc.com>
11
12description: |
13  Qualcomm Technologies, Inc. PM8008 is a dedicated camera PMIC that integrates
14  all the necessary power management, housekeeping, and interface support
15  functions into a single IC.
16
17properties:
18  compatible:
19    const: qcom,pm8008
20
21  reg:
22    maxItems: 1
23
24  interrupts:
25    maxItems: 1
26
27  reset-gpios:
28    maxItems: 1
29
30  vdd-l1-l2-supply: true
31  vdd-l3-l4-supply: true
32  vdd-l5-supply: true
33  vdd-l6-supply: true
34  vdd-l7-supply: true
35
36  gpio-controller: true
37
38  "#gpio-cells":
39    const: 2
40
41  gpio-ranges:
42    maxItems: 1
43
44  interrupt-controller: true
45
46  "#interrupt-cells":
47    const: 2
48
49  "#thermal-sensor-cells":
50    const: 0
51
52  pinctrl:
53    type: object
54    additionalProperties: false
55    patternProperties:
56      "-state$":
57        type: object
58
59        allOf:
60          - $ref: /schemas/pinctrl/pinmux-node.yaml
61          - $ref: /schemas/pinctrl/pincfg-node.yaml
62
63        properties:
64          pins:
65            items:
66              pattern: "^gpio[12]$"
67
68          function:
69            items:
70              - enum:
71                  - normal
72
73        required:
74          - pins
75          - function
76
77        additionalProperties: false
78
79  regulators:
80    type: object
81    additionalProperties: false
82    patternProperties:
83      "^ldo[1-7]$":
84        type: object
85        $ref: /schemas/regulator/regulator.yaml#
86        unevaluatedProperties: false
87
88required:
89  - compatible
90  - reg
91  - interrupts
92  - vdd-l1-l2-supply
93  - vdd-l3-l4-supply
94  - vdd-l5-supply
95  - vdd-l6-supply
96  - vdd-l7-supply
97  - gpio-controller
98  - "#gpio-cells"
99  - gpio-ranges
100  - interrupt-controller
101  - "#interrupt-cells"
102  - "#thermal-sensor-cells"
103
104additionalProperties: false
105
106examples:
107  - |
108    #include <dt-bindings/gpio/gpio.h>
109    #include <dt-bindings/interrupt-controller/irq.h>
110
111    i2c {
112      #address-cells = <1>;
113      #size-cells = <0>;
114
115      pm8008: pmic@8 {
116        compatible = "qcom,pm8008";
117        reg = <0x8>;
118
119        interrupt-parent = <&tlmm>;
120        interrupts = <32 IRQ_TYPE_EDGE_RISING>;
121
122        reset-gpios = <&tlmm 42 GPIO_ACTIVE_LOW>;
123
124        vdd-l1-l2-supply = <&vreg_s8b_1p2>;
125        vdd-l3-l4-supply = <&vreg_s1b_1p8>;
126        vdd-l5-supply = <&vreg_bob>;
127        vdd-l6-supply = <&vreg_bob>;
128        vdd-l7-supply = <&vreg_bob>;
129
130        gpio-controller;
131        #gpio-cells = <2>;
132        gpio-ranges = <&pm8008 0 0 2>;
133
134        interrupt-controller;
135        #interrupt-cells = <2>;
136
137        #thermal-sensor-cells = <0>;
138
139        pinctrl {
140          gpio-keys-state {
141            pins = "gpio1";
142            function = "normal";
143          };
144        };
145
146        regulators {
147          ldo1 {
148            regulator-name = "vreg_l1";
149            regulator-min-microvolt = <950000>;
150            regulator-max-microvolt = <1300000>;
151          };
152        };
153      };
154    };
155
156...
157