xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
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/spmi/hisilicon,hisi-spmi-controller.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    patternProperties:
46      '^ldo[0-9]+$':
47        type: object
48
49        $ref: /schemas/regulator/regulator.yaml#
50
51        unevaluatedProperties: false
52
53required:
54  - compatible
55  - reg
56  - regulators
57
58additionalProperties: false
59
60examples:
61  - |
62    #include <dt-bindings/spmi/spmi.h>
63
64    spmi {
65        #address-cells = <2>;
66        #size-cells = <0>;
67
68        pmic@0 {
69            compatible = "hisilicon,hi6421v600-spmi";
70            reg = <0 SPMI_USID>;
71
72            #interrupt-cells = <2>;
73            interrupt-controller;
74            interrupt-parent = <&gpio28>;
75            interrupts = <0 0>;
76
77            regulators {
78                ldo3 {
79                    regulator-name = "ldo3";
80                    regulator-min-microvolt = <1500000>;
81                    regulator-max-microvolt = <2000000>;
82                    regulator-boot-on;
83                };
84
85                ldo4 {
86                    regulator-name = "ldo4";
87                    regulator-min-microvolt = <1725000>;
88                    regulator-max-microvolt = <1900000>;
89                    regulator-boot-on;
90                };
91
92                ldo9 {
93                    regulator-name = "ldo9";
94                    regulator-min-microvolt = <1750000>;
95                    regulator-max-microvolt = <3300000>;
96                    regulator-boot-on;
97                };
98
99                ldo15 {
100                    regulator-name = "ldo15";
101                    regulator-min-microvolt = <1800000>;
102                    regulator-max-microvolt = <3000000>;
103                    regulator-always-on;
104                };
105
106                ldo16 {
107                    regulator-name = "ldo16";
108                    regulator-min-microvolt = <1800000>;
109                    regulator-max-microvolt = <3000000>;
110                    regulator-boot-on;
111                };
112
113                ldo17 {
114                    regulator-name = "ldo17";
115                    regulator-min-microvolt = <2500000>;
116                    regulator-max-microvolt = <3300000>;
117                };
118
119                ldo33 {
120                    regulator-name = "ldo33";
121                    regulator-min-microvolt = <2500000>;
122                    regulator-max-microvolt = <3300000>;
123                    regulator-boot-on;
124                };
125
126                ldo34 {
127                    regulator-name = "ldo34";
128                    regulator-min-microvolt = <2600000>;
129                    regulator-max-microvolt = <3300000>;
130                };
131            };
132        };
133    };
134