Merge tag 'thermal-v5.11-2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / staging / hikey9xx / hisilicon,hi6421-spmi-pmic.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mfd/hisilicon,hi6421-spmi-pmic.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: HiSilicon 6421v600 SPMI PMIC
8
9 maintainers:
10   - Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
11
12 description: |
13   HiSilicon 6421v600 should be connected inside a MIPI System Power Management
14   (SPMI) bus. It provides interrupts and power supply.
15
16   The GPIO and interrupt settings are represented as part of the top-level PMIC
17   node.
18
19   The SPMI controller part is provided by
20   drivers/staging/hikey9xx/hisilicon,hisi-spmi-controller.yaml.
21
22 properties:
23   $nodename:
24     pattern: "pmic@[0-9a-f]"
25
26   compatible:
27     const: hisilicon,hi6421v600-spmi
28
29   reg:
30     maxItems: 1
31
32   '#interrupt-cells':
33     const: 2
34
35   interrupt-controller:
36     description:
37       Identify that the PMIC is capable of behaving as an interrupt controller.
38
39   gpios:
40     maxItems: 1
41
42   regulators:
43     type: object
44
45     properties:
46       '#address-cells':
47         const: 1
48
49       '#size-cells':
50         const: 0
51
52     patternProperties:
53       '^ldo[0-9]+@[0-9a-f]$':
54         type: object
55
56         $ref: "/schemas/regulator/regulator.yaml#"
57
58         properties:
59           reg:
60             description: Enable register.
61
62           '#address-cells':
63             const: 1
64
65           '#size-cells':
66             const: 0
67
68           vsel-reg:
69             description: Voltage selector register.
70
71           enable-mask:
72             description: Bitmask used to enable the regulator.
73
74           voltage-table:
75             description: Table with the selector items for the voltage regulator.
76             minItems: 2
77             maxItems: 16
78
79           off-on-delay-us:
80             description: Time required for changing state to enabled in microseconds.
81
82           startup-delay-us:
83             description: Startup time in microseconds.
84
85           idle-mode-mask:
86             description: Bitmask used to put the regulator on idle mode.
87
88           eco-microamp:
89             description: Maximum current while on idle mode.
90
91         required:
92           - reg
93           - vsel-reg
94           - enable-mask
95           - voltage-table
96           - off-on-delay-us
97           - startup-delay-us
98
99 required:
100   - compatible
101   - reg
102   - regulators
103
104 examples:
105   - |
106     /* pmic properties */
107
108     pmic: pmic@0 {
109       compatible = "hisilicon,hi6421-spmi";
110       reg = <0 0>;
111
112       #interrupt-cells = <2>;
113       interrupt-controller;
114       gpios = <&gpio28 0 0>;
115
116       regulators {
117         #address-cells = <1>;
118         #size-cells = <0>;
119
120         ldo3: ldo3@16 {
121           reg = <0x16>;
122           vsel-reg = <0x51>;
123
124           regulator-name = "ldo3";
125           regulator-min-microvolt = <1500000>;
126           regulator-max-microvolt = <2000000>;
127           regulator-boot-on;
128
129           enable-mask = <0x01>;
130
131           voltage-table = <1500000>, <1550000>, <1600000>, <1650000>,
132                           <1700000>, <1725000>, <1750000>, <1775000>,
133                           <1800000>, <1825000>, <1850000>, <1875000>,
134                           <1900000>, <1925000>, <1950000>, <2000000>;
135           off-on-delay-us = <20000>;
136           startup-delay-us = <120>;
137         };
138
139         ldo4: ldo4@17 { /* 40 PIN */
140           reg = <0x17>;
141           vsel-reg = <0x52>;
142
143           regulator-name = "ldo4";
144           regulator-min-microvolt = <1725000>;
145           regulator-max-microvolt = <1900000>;
146           regulator-boot-on;
147
148           enable-mask = <0x01>;
149           idle-mode-mask = <0x10>;
150           eco-microamp = <10000>;
151
152           hi6421-vsel = <0x52 0x07>;
153           voltage-table = <1725000>, <1750000>, <1775000>, <1800000>,
154                           <1825000>, <1850000>, <1875000>, <1900000>;
155           off-on-delay-us = <20000>;
156           startup-delay-us = <120>;
157         };
158       };
159     };