• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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,pca9450-regulator.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NXP PCA9450A/B/C Power Management Integrated Circuit regulators
8
9maintainers:
10  - Robin Gong <yibin.gong@nxp.com>
11
12description: |
13  Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
14  definition for each of these nodes is defined using the standard
15  binding for regulators at
16  Documentation/devicetree/bindings/regulator/regulator.txt.
17  Datasheet is available at
18  https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf
19
20#The valid names for PCA9450 regulator nodes are:
21#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6,
22#LDO1, LDO2, LDO3, LDO4, LDO5
23#Note: Buck3 removed on PCA9450B and connect with Buck1 on PCA9450C.
24
25properties:
26  compatible:
27    enum:
28      - nxp,pca9450a
29      - nxp,pca9450b
30      - nxp,pca9450c
31
32  reg:
33    maxItems: 1
34
35  interrupts:
36    maxItems: 1
37
38  regulators:
39    type: object
40    description: |
41      list of regulators provided by this controller
42
43    patternProperties:
44      "^LDO[1-5]$":
45        type: object
46        $ref: regulator.yaml#
47        description:
48          Properties for single LDO regulator.
49
50        unevaluatedProperties: false
51
52      "^BUCK[1-6]$":
53        type: object
54        $ref: regulator.yaml#
55        description:
56          Properties for single BUCK regulator.
57
58        properties:
59          nxp,dvs-run-voltage:
60            $ref: "/schemas/types.yaml#/definitions/uint32"
61            minimum: 600000
62            maximum: 2187500
63            description:
64              PMIC default "RUN" state voltage in uV. Only Buck1~3 have such
65              dvs(dynamic voltage scaling) property.
66
67          nxp,dvs-standby-voltage:
68            $ref: "/schemas/types.yaml#/definitions/uint32"
69            minimum: 600000
70            maximum: 2187500
71            description:
72              PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such
73              dvs(dynamic voltage scaling) property.
74
75        unevaluatedProperties: false
76
77    additionalProperties: false
78
79required:
80  - compatible
81  - reg
82  - interrupts
83  - regulators
84
85additionalProperties: false
86
87examples:
88  - |
89    #include <dt-bindings/interrupt-controller/irq.h>
90
91    i2c {
92        #address-cells = <1>;
93        #size-cells = <0>;
94        pmic: pmic@25 {
95            compatible = "nxp,pca9450b";
96            reg = <0x25>;
97            pinctrl-0 = <&pinctrl_pmic>;
98            interrupt-parent = <&gpio1>;
99            interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
100
101            regulators {
102                buck1: BUCK1 {
103                    regulator-name = "BUCK1";
104                    regulator-min-microvolt = <600000>;
105                    regulator-max-microvolt = <2187500>;
106                    regulator-boot-on;
107                    regulator-always-on;
108                    regulator-ramp-delay = <3125>;
109                };
110                buck2: BUCK2 {
111                    regulator-name = "BUCK2";
112                    regulator-min-microvolt = <600000>;
113                    regulator-max-microvolt = <2187500>;
114                    regulator-boot-on;
115                    regulator-always-on;
116                    regulator-ramp-delay = <3125>;
117                    nxp,dvs-run-voltage = <950000>;
118                    nxp,dvs-standby-voltage = <850000>;
119                };
120                buck4: BUCK4 {
121                    regulator-name = "BUCK4";
122                    regulator-min-microvolt = <600000>;
123                    regulator-max-microvolt = <3400000>;
124                    regulator-boot-on;
125                    regulator-always-on;
126                };
127                buck5: BUCK5 {
128                    regulator-name = "BUCK5";
129                    regulator-min-microvolt = <600000>;
130                    regulator-max-microvolt = <3400000>;
131                    regulator-boot-on;
132                    regulator-always-on;
133                };
134                buck6: BUCK6 {
135                    regulator-name = "BUCK6";
136                    regulator-min-microvolt = <600000>;
137                    regulator-max-microvolt = <3400000>;
138                    regulator-boot-on;
139                    regulator-always-on;
140                };
141
142                ldo1: LDO1 {
143                    regulator-name = "LDO1";
144                    regulator-min-microvolt = <1600000>;
145                    regulator-max-microvolt = <3300000>;
146                    regulator-boot-on;
147                    regulator-always-on;
148                };
149                ldo2: LDO2 {
150                    regulator-name = "LDO2";
151                    regulator-min-microvolt = <800000>;
152                    regulator-max-microvolt = <1150000>;
153                    regulator-boot-on;
154                    regulator-always-on;
155                };
156                ldo3: LDO3 {
157                    regulator-name = "LDO3";
158                    regulator-min-microvolt = <800000>;
159                    regulator-max-microvolt = <3300000>;
160                    regulator-boot-on;
161                    regulator-always-on;
162                };
163                ldo4: LDO4 {
164                    regulator-name = "LDO4";
165                    regulator-min-microvolt = <800000>;
166                    regulator-max-microvolt = <3300000>;
167                    regulator-boot-on;
168                    regulator-always-on;
169                };
170                ldo5: LDO5 {
171                    regulator-name = "LDO5";
172                    regulator-min-microvolt = <1800000>;
173                    regulator-max-microvolt = <3300000>;
174                    regulator-boot-on;
175                    regulator-always-on;
176                };
177            };
178        };
179    };
180