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
7title: HiSilicon 6421v600 SPMI PMIC
8
9maintainers:
10  - Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
11
12description: |
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  Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
21
22properties:
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: true
36
37  interrupts:
38    maxItems: 1
39
40  regulators:
41    type: object
42
43    additionalProperties: false
44
45    properties:
46      '#address-cells':
47        const: 1
48
49      '#size-cells':
50        const: 0
51
52    patternProperties:
53      '^ldo[0-9]+$':
54        type: object
55
56        $ref: /schemas/regulator/regulator.yaml#
57
58        unevaluatedProperties: false
59
60required:
61  - compatible
62  - reg
63  - regulators
64
65additionalProperties: false
66
67examples:
68  - |
69
70    pmic: pmic@0 {
71      compatible = "hisilicon,hi6421v600-spmi";
72      reg = <0 0>;
73
74      #interrupt-cells = <2>;
75      interrupt-controller;
76      interrupt-parent = <&gpio28>;
77      interrupts = <0 0>;
78
79      regulators {
80        #address-cells = <1>;
81        #size-cells = <0>;
82
83        ldo3: ldo3 {
84          regulator-name = "ldo3";
85          regulator-min-microvolt = <1500000>;
86          regulator-max-microvolt = <2000000>;
87          regulator-boot-on;
88        };
89
90        ldo4: ldo4 {
91          regulator-name = "ldo4";
92          regulator-min-microvolt = <1725000>;
93          regulator-max-microvolt = <1900000>;
94          regulator-boot-on;
95        };
96
97        ldo9: ldo9 {
98          regulator-name = "ldo9";
99          regulator-min-microvolt = <1750000>;
100          regulator-max-microvolt = <3300000>;
101          regulator-boot-on;
102        };
103
104        ldo15: ldo15 {
105          regulator-name = "ldo15";
106          regulator-min-microvolt = <1800000>;
107          regulator-max-microvolt = <3000000>;
108          regulator-always-on;
109        };
110
111        ldo16: ldo16 {
112          regulator-name = "ldo16";
113          regulator-min-microvolt = <1800000>;
114          regulator-max-microvolt = <3000000>;
115          regulator-boot-on;
116        };
117
118        ldo17: ldo17 {
119          regulator-name = "ldo17";
120          regulator-min-microvolt = <2500000>;
121          regulator-max-microvolt = <3300000>;
122        };
123
124        ldo33: ldo33 {
125          regulator-name = "ldo33";
126          regulator-min-microvolt = <2500000>;
127          regulator-max-microvolt = <3300000>;
128          regulator-boot-on;
129        };
130
131        ldo34: ldo34 {
132          regulator-name = "ldo34";
133          regulator-min-microvolt = <2600000>;
134          regulator-max-microvolt = <3300000>;
135        };
136      };
137    };
138