xref: /linux/Documentation/devicetree/bindings/regulator/nxp,pf0900.yaml (revision db4a3f0fbedb0398f77b9047e8b8bb2b49f355bb)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/nxp,pf0900.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NXP PF0900 Power Management Integrated Circuit regulators
8
9maintainers:
10  - Joy Zou <joy.zou@nxp.com>
11
12description:
13  The PF0900 is a power management integrated circuit (PMIC) optimized
14  for high performance i.MX9x based applications. It features five high
15  efficiency buck converters, three linear and one vaon regulators. It
16  provides low quiescent current in Standby and low power off Modes.
17
18properties:
19  compatible:
20    enum:
21      - nxp,pf0900
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    maxItems: 1
28
29  regulators:
30    type: object
31    additionalProperties: false
32
33    properties:
34      vaon:
35        type: object
36        $ref: regulator.yaml#
37        unevaluatedProperties: false
38
39    patternProperties:
40      "^ldo[1-3]$":
41        type: object
42        $ref: regulator.yaml#
43        unevaluatedProperties: false
44
45      "^sw[1-5]$":
46        type: object
47        $ref: regulator.yaml#
48        unevaluatedProperties: false
49
50  nxp,i2c-crc-enable:
51    type: boolean
52    description:
53      The CRC enabled during register read/write. Controlled by customer
54      unviewable fuse bits OTP_I2C_CRC_EN. Check chip part number.
55
56required:
57  - compatible
58  - reg
59  - interrupts
60  - regulators
61
62additionalProperties: false
63
64examples:
65  - |
66    #include <dt-bindings/interrupt-controller/irq.h>
67
68    i2c {
69        #address-cells = <1>;
70        #size-cells = <0>;
71
72        pmic@8 {
73            compatible = "nxp,pf0900";
74            reg = <0x08>;
75            interrupt-parent = <&pcal6524>;
76            interrupts = <89 IRQ_TYPE_LEVEL_LOW>;
77            nxp,i2c-crc-enable;
78
79            regulators {
80                vaon {
81                    regulator-name = "VAON";
82                    regulator-min-microvolt = <1800000>;
83                    regulator-max-microvolt = <3300000>;
84                    regulator-boot-on;
85                    regulator-always-on;
86                };
87
88                sw1 {
89                    regulator-name = "SW1";
90                    regulator-min-microvolt = <500000>;
91                    regulator-max-microvolt = <3300000>;
92                    regulator-boot-on;
93                    regulator-always-on;
94                    regulator-ramp-delay = <1950>;
95                    regulator-state-mem {
96                        regulator-on-in-suspend;
97                        regulator-suspend-max-microvolt = <650000>;
98                        regulator-suspend-min-microvolt = <650000>;
99                    };
100                };
101
102                sw2 {
103                    regulator-name = "SW2";
104                    regulator-min-microvolt = <300000>;
105                    regulator-max-microvolt = <3300000>;
106                    regulator-boot-on;
107                    regulator-always-on;
108                    regulator-ramp-delay = <1950>;
109                };
110
111                sw3 {
112                    regulator-name = "SW3";
113                    regulator-min-microvolt = <300000>;
114                    regulator-max-microvolt = <3300000>;
115                    regulator-boot-on;
116                    regulator-always-on;
117                    regulator-ramp-delay = <1950>;
118                };
119
120                sw4 {
121                    regulator-name = "SW4";
122                    regulator-min-microvolt = <300000>;
123                    regulator-max-microvolt = <3300000>;
124                    regulator-boot-on;
125                    regulator-always-on;
126                    regulator-ramp-delay = <1950>;
127                };
128
129                sw5 {
130                    regulator-name = "SW5";
131                    regulator-min-microvolt = <300000>;
132                    regulator-max-microvolt = <3300000>;
133                    regulator-boot-on;
134                    regulator-always-on;
135                    regulator-ramp-delay = <1950>;
136                };
137
138                ldo1 {
139                    regulator-name = "LDO1";
140                    regulator-min-microvolt = <750000>;
141                    regulator-max-microvolt = <3300000>;
142                    regulator-boot-on;
143                    regulator-always-on;
144                };
145
146                ldo2 {
147                    regulator-name = "LDO2";
148                    regulator-min-microvolt = <650000>;
149                    regulator-max-microvolt = <3300000>;
150                    regulator-boot-on;
151                    regulator-always-on;
152                };
153
154                ldo3 {
155                    regulator-name = "LDO3";
156                    regulator-min-microvolt = <650000>;
157                    regulator-max-microvolt = <3300000>;
158                    regulator-boot-on;
159                    regulator-always-on;
160                };
161            };
162        };
163     };
164