xref: /openbmc/linux/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
17ae9e3a6SRobin Gong# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
27ae9e3a6SRobin Gong%YAML 1.2
37ae9e3a6SRobin Gong---
47ae9e3a6SRobin Gong$id: http://devicetree.org/schemas/regulator/nxp,pca9450-regulator.yaml#
57ae9e3a6SRobin Gong$schema: http://devicetree.org/meta-schemas/core.yaml#
67ae9e3a6SRobin Gong
77ae9e3a6SRobin Gongtitle: NXP PCA9450A/B/C Power Management Integrated Circuit regulators
87ae9e3a6SRobin Gong
97ae9e3a6SRobin Gongmaintainers:
107ae9e3a6SRobin Gong  - Robin Gong <yibin.gong@nxp.com>
117ae9e3a6SRobin Gong
127ae9e3a6SRobin Gongdescription: |
137ae9e3a6SRobin Gong  Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
147ae9e3a6SRobin Gong  definition for each of these nodes is defined using the standard
157ae9e3a6SRobin Gong  binding for regulators at
167ae9e3a6SRobin Gong  Documentation/devicetree/bindings/regulator/regulator.txt.
177ae9e3a6SRobin Gong  Datasheet is available at
187ae9e3a6SRobin Gong  https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf
197ae9e3a6SRobin Gong
207ae9e3a6SRobin Gong# The valid names for PCA9450 regulator nodes are:
217ae9e3a6SRobin Gong# BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6,
227ae9e3a6SRobin Gong# LDO1, LDO2, LDO3, LDO4, LDO5
237ae9e3a6SRobin Gong# Note: Buck3 removed on PCA9450B and connect with Buck1 on PCA9450C.
247ae9e3a6SRobin Gong
257ae9e3a6SRobin Gongproperties:
267ae9e3a6SRobin Gong  compatible:
277ae9e3a6SRobin Gong    enum:
287ae9e3a6SRobin Gong      - nxp,pca9450a
297ae9e3a6SRobin Gong      - nxp,pca9450b
307ae9e3a6SRobin Gong      - nxp,pca9450c
317ae9e3a6SRobin Gong
327ae9e3a6SRobin Gong  reg:
337ae9e3a6SRobin Gong    maxItems: 1
347ae9e3a6SRobin Gong
357ae9e3a6SRobin Gong  interrupts:
367ae9e3a6SRobin Gong    maxItems: 1
377ae9e3a6SRobin Gong
387ae9e3a6SRobin Gong  regulators:
397ae9e3a6SRobin Gong    type: object
407ae9e3a6SRobin Gong    description: |
417ae9e3a6SRobin Gong      list of regulators provided by this controller
427ae9e3a6SRobin Gong
437ae9e3a6SRobin Gong    patternProperties:
447ae9e3a6SRobin Gong      "^LDO[1-5]$":
457ae9e3a6SRobin Gong        type: object
467ae9e3a6SRobin Gong        $ref: regulator.yaml#
477ae9e3a6SRobin Gong        description:
487ae9e3a6SRobin Gong          Properties for single LDO regulator.
497ae9e3a6SRobin Gong
507ae9e3a6SRobin Gong        unevaluatedProperties: false
517ae9e3a6SRobin Gong
527ae9e3a6SRobin Gong      "^BUCK[1-6]$":
537ae9e3a6SRobin Gong        type: object
547ae9e3a6SRobin Gong        $ref: regulator.yaml#
557ae9e3a6SRobin Gong        description:
567ae9e3a6SRobin Gong          Properties for single BUCK regulator.
577ae9e3a6SRobin Gong
587ae9e3a6SRobin Gong        properties:
597ae9e3a6SRobin Gong          nxp,dvs-run-voltage:
60*cff5c895SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32
617ae9e3a6SRobin Gong            minimum: 600000
627ae9e3a6SRobin Gong            maximum: 2187500
637ae9e3a6SRobin Gong            description:
647ae9e3a6SRobin Gong              PMIC default "RUN" state voltage in uV. Only Buck1~3 have such
657ae9e3a6SRobin Gong              dvs(dynamic voltage scaling) property.
667ae9e3a6SRobin Gong
677ae9e3a6SRobin Gong          nxp,dvs-standby-voltage:
68*cff5c895SRob Herring            $ref: /schemas/types.yaml#/definitions/uint32
697ae9e3a6SRobin Gong            minimum: 600000
707ae9e3a6SRobin Gong            maximum: 2187500
717ae9e3a6SRobin Gong            description:
727ae9e3a6SRobin Gong              PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such
737ae9e3a6SRobin Gong              dvs(dynamic voltage scaling) property.
747ae9e3a6SRobin Gong
757ae9e3a6SRobin Gong        unevaluatedProperties: false
767ae9e3a6SRobin Gong
777ae9e3a6SRobin Gong    additionalProperties: false
787ae9e3a6SRobin Gong
7927866e3eSFrieder Schrempf  sd-vsel-gpios:
8027866e3eSFrieder Schrempf    description: GPIO that is used to switch LDO5 between being configured by
8127866e3eSFrieder Schrempf      LDO5CTRL_L or LDO5CTRL_H register. Use this if the SD_VSEL signal is
8227866e3eSFrieder Schrempf      connected to a host GPIO.
8327866e3eSFrieder Schrempf
84e721b161SPer-Daniel Olsson  nxp,i2c-lt-enable:
85e721b161SPer-Daniel Olsson    type: boolean
86e721b161SPer-Daniel Olsson    description:
87e721b161SPer-Daniel Olsson      Indicates that the I2C Level Translator is used.
88e721b161SPer-Daniel Olsson
89bd2f5e71SRickard x Andersson  nxp,wdog_b-warm-reset:
90bd2f5e71SRickard x Andersson    type: boolean
91bd2f5e71SRickard x Andersson    description:
92bd2f5e71SRickard x Andersson      When WDOG_B signal is asserted a warm reset will be done instead of cold
93bd2f5e71SRickard x Andersson      reset.
94bd2f5e71SRickard x Andersson
957ae9e3a6SRobin Gongrequired:
967ae9e3a6SRobin Gong  - compatible
977ae9e3a6SRobin Gong  - reg
987ae9e3a6SRobin Gong  - interrupts
997ae9e3a6SRobin Gong  - regulators
1007ae9e3a6SRobin Gong
1017ae9e3a6SRobin GongadditionalProperties: false
1027ae9e3a6SRobin Gong
1037ae9e3a6SRobin Gongexamples:
1047ae9e3a6SRobin Gong  - |
1057ae9e3a6SRobin Gong    #include <dt-bindings/interrupt-controller/irq.h>
1067ae9e3a6SRobin Gong
1077ae9e3a6SRobin Gong    i2c {
1087ae9e3a6SRobin Gong        #address-cells = <1>;
1097ae9e3a6SRobin Gong        #size-cells = <0>;
1107ae9e3a6SRobin Gong        pmic: pmic@25 {
1117ae9e3a6SRobin Gong            compatible = "nxp,pca9450b";
1127ae9e3a6SRobin Gong            reg = <0x25>;
1137ae9e3a6SRobin Gong            pinctrl-0 = <&pinctrl_pmic>;
1147ae9e3a6SRobin Gong            interrupt-parent = <&gpio1>;
1157ae9e3a6SRobin Gong            interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
1167ae9e3a6SRobin Gong
1177ae9e3a6SRobin Gong            regulators {
1187ae9e3a6SRobin Gong                buck1: BUCK1 {
1197ae9e3a6SRobin Gong                    regulator-name = "BUCK1";
1207ae9e3a6SRobin Gong                    regulator-min-microvolt = <600000>;
1217ae9e3a6SRobin Gong                    regulator-max-microvolt = <2187500>;
1227ae9e3a6SRobin Gong                    regulator-boot-on;
1237ae9e3a6SRobin Gong                    regulator-always-on;
1247ae9e3a6SRobin Gong                    regulator-ramp-delay = <3125>;
1257ae9e3a6SRobin Gong                };
1267ae9e3a6SRobin Gong                buck2: BUCK2 {
1277ae9e3a6SRobin Gong                    regulator-name = "BUCK2";
1287ae9e3a6SRobin Gong                    regulator-min-microvolt = <600000>;
1297ae9e3a6SRobin Gong                    regulator-max-microvolt = <2187500>;
1307ae9e3a6SRobin Gong                    regulator-boot-on;
1317ae9e3a6SRobin Gong                    regulator-always-on;
1327ae9e3a6SRobin Gong                    regulator-ramp-delay = <3125>;
1337ae9e3a6SRobin Gong                    nxp,dvs-run-voltage = <950000>;
1347ae9e3a6SRobin Gong                    nxp,dvs-standby-voltage = <850000>;
1357ae9e3a6SRobin Gong                };
1367ae9e3a6SRobin Gong                buck4: BUCK4 {
1377ae9e3a6SRobin Gong                    regulator-name = "BUCK4";
1387ae9e3a6SRobin Gong                    regulator-min-microvolt = <600000>;
1397ae9e3a6SRobin Gong                    regulator-max-microvolt = <3400000>;
1407ae9e3a6SRobin Gong                    regulator-boot-on;
1417ae9e3a6SRobin Gong                    regulator-always-on;
1427ae9e3a6SRobin Gong                };
1437ae9e3a6SRobin Gong                buck5: BUCK5 {
1447ae9e3a6SRobin Gong                    regulator-name = "BUCK5";
1457ae9e3a6SRobin Gong                    regulator-min-microvolt = <600000>;
1467ae9e3a6SRobin Gong                    regulator-max-microvolt = <3400000>;
1477ae9e3a6SRobin Gong                    regulator-boot-on;
1487ae9e3a6SRobin Gong                    regulator-always-on;
1497ae9e3a6SRobin Gong                };
1507ae9e3a6SRobin Gong                buck6: BUCK6 {
1517ae9e3a6SRobin Gong                    regulator-name = "BUCK6";
1527ae9e3a6SRobin Gong                    regulator-min-microvolt = <600000>;
1537ae9e3a6SRobin Gong                    regulator-max-microvolt = <3400000>;
1547ae9e3a6SRobin Gong                    regulator-boot-on;
1557ae9e3a6SRobin Gong                    regulator-always-on;
1567ae9e3a6SRobin Gong                };
1577ae9e3a6SRobin Gong
1587ae9e3a6SRobin Gong                ldo1: LDO1 {
1597ae9e3a6SRobin Gong                    regulator-name = "LDO1";
1607ae9e3a6SRobin Gong                    regulator-min-microvolt = <1600000>;
1617ae9e3a6SRobin Gong                    regulator-max-microvolt = <3300000>;
1627ae9e3a6SRobin Gong                    regulator-boot-on;
1637ae9e3a6SRobin Gong                    regulator-always-on;
1647ae9e3a6SRobin Gong                };
1657ae9e3a6SRobin Gong                ldo2: LDO2 {
1667ae9e3a6SRobin Gong                    regulator-name = "LDO2";
1677ae9e3a6SRobin Gong                    regulator-min-microvolt = <800000>;
1687ae9e3a6SRobin Gong                    regulator-max-microvolt = <1150000>;
1697ae9e3a6SRobin Gong                    regulator-boot-on;
1707ae9e3a6SRobin Gong                    regulator-always-on;
1717ae9e3a6SRobin Gong                };
1727ae9e3a6SRobin Gong                ldo3: LDO3 {
1737ae9e3a6SRobin Gong                    regulator-name = "LDO3";
1747ae9e3a6SRobin Gong                    regulator-min-microvolt = <800000>;
1757ae9e3a6SRobin Gong                    regulator-max-microvolt = <3300000>;
1767ae9e3a6SRobin Gong                    regulator-boot-on;
1777ae9e3a6SRobin Gong                    regulator-always-on;
1787ae9e3a6SRobin Gong                };
1797ae9e3a6SRobin Gong                ldo4: LDO4 {
1807ae9e3a6SRobin Gong                    regulator-name = "LDO4";
1817ae9e3a6SRobin Gong                    regulator-min-microvolt = <800000>;
1827ae9e3a6SRobin Gong                    regulator-max-microvolt = <3300000>;
1837ae9e3a6SRobin Gong                    regulator-boot-on;
1847ae9e3a6SRobin Gong                    regulator-always-on;
1857ae9e3a6SRobin Gong                };
1867ae9e3a6SRobin Gong                ldo5: LDO5 {
1877ae9e3a6SRobin Gong                    regulator-name = "LDO5";
1887ae9e3a6SRobin Gong                    regulator-min-microvolt = <1800000>;
1897ae9e3a6SRobin Gong                    regulator-max-microvolt = <3300000>;
1907ae9e3a6SRobin Gong                    regulator-boot-on;
1917ae9e3a6SRobin Gong                    regulator-always-on;
1927ae9e3a6SRobin Gong                };
1937ae9e3a6SRobin Gong            };
1947ae9e3a6SRobin Gong        };
1957ae9e3a6SRobin Gong    };
196