18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/regulator/nxp,pca9450-regulator.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: NXP PCA9450A/B/C Power Management Integrated Circuit regulators
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Robin Gong <yibin.gong@nxp.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
148c2ecf20Sopenharmony_ci  definition for each of these nodes is defined using the standard
158c2ecf20Sopenharmony_ci  binding for regulators at
168c2ecf20Sopenharmony_ci  Documentation/devicetree/bindings/regulator/regulator.txt.
178c2ecf20Sopenharmony_ci  Datasheet is available at
188c2ecf20Sopenharmony_ci  https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci#The valid names for PCA9450 regulator nodes are:
218c2ecf20Sopenharmony_ci#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6,
228c2ecf20Sopenharmony_ci#LDO1, LDO2, LDO3, LDO4, LDO5
238c2ecf20Sopenharmony_ci#Note: Buck3 removed on PCA9450B and connect with Buck1 on PCA9450C.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciproperties:
268c2ecf20Sopenharmony_ci  compatible:
278c2ecf20Sopenharmony_ci    enum:
288c2ecf20Sopenharmony_ci      - nxp,pca9450a
298c2ecf20Sopenharmony_ci      - nxp,pca9450b
308c2ecf20Sopenharmony_ci      - nxp,pca9450c
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci  reg:
338c2ecf20Sopenharmony_ci    maxItems: 1
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci  interrupts:
368c2ecf20Sopenharmony_ci    maxItems: 1
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  regulators:
398c2ecf20Sopenharmony_ci    type: object
408c2ecf20Sopenharmony_ci    description: |
418c2ecf20Sopenharmony_ci      list of regulators provided by this controller
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci    patternProperties:
448c2ecf20Sopenharmony_ci      "^LDO[1-5]$":
458c2ecf20Sopenharmony_ci        type: object
468c2ecf20Sopenharmony_ci        $ref: regulator.yaml#
478c2ecf20Sopenharmony_ci        description:
488c2ecf20Sopenharmony_ci          Properties for single LDO regulator.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci        unevaluatedProperties: false
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci      "^BUCK[1-6]$":
538c2ecf20Sopenharmony_ci        type: object
548c2ecf20Sopenharmony_ci        $ref: regulator.yaml#
558c2ecf20Sopenharmony_ci        description:
568c2ecf20Sopenharmony_ci          Properties for single BUCK regulator.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci        properties:
598c2ecf20Sopenharmony_ci          nxp,dvs-run-voltage:
608c2ecf20Sopenharmony_ci            $ref: "/schemas/types.yaml#/definitions/uint32"
618c2ecf20Sopenharmony_ci            minimum: 600000
628c2ecf20Sopenharmony_ci            maximum: 2187500
638c2ecf20Sopenharmony_ci            description:
648c2ecf20Sopenharmony_ci              PMIC default "RUN" state voltage in uV. Only Buck1~3 have such
658c2ecf20Sopenharmony_ci              dvs(dynamic voltage scaling) property.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci          nxp,dvs-standby-voltage:
688c2ecf20Sopenharmony_ci            $ref: "/schemas/types.yaml#/definitions/uint32"
698c2ecf20Sopenharmony_ci            minimum: 600000
708c2ecf20Sopenharmony_ci            maximum: 2187500
718c2ecf20Sopenharmony_ci            description:
728c2ecf20Sopenharmony_ci              PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such
738c2ecf20Sopenharmony_ci              dvs(dynamic voltage scaling) property.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci        unevaluatedProperties: false
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci    additionalProperties: false
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_cirequired:
808c2ecf20Sopenharmony_ci  - compatible
818c2ecf20Sopenharmony_ci  - reg
828c2ecf20Sopenharmony_ci  - interrupts
838c2ecf20Sopenharmony_ci  - regulators
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciadditionalProperties: false
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ciexamples:
888c2ecf20Sopenharmony_ci  - |
898c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci    i2c {
928c2ecf20Sopenharmony_ci        #address-cells = <1>;
938c2ecf20Sopenharmony_ci        #size-cells = <0>;
948c2ecf20Sopenharmony_ci        pmic: pmic@25 {
958c2ecf20Sopenharmony_ci            compatible = "nxp,pca9450b";
968c2ecf20Sopenharmony_ci            reg = <0x25>;
978c2ecf20Sopenharmony_ci            pinctrl-0 = <&pinctrl_pmic>;
988c2ecf20Sopenharmony_ci            interrupt-parent = <&gpio1>;
998c2ecf20Sopenharmony_ci            interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci            regulators {
1028c2ecf20Sopenharmony_ci                buck1: BUCK1 {
1038c2ecf20Sopenharmony_ci                    regulator-name = "BUCK1";
1048c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <600000>;
1058c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <2187500>;
1068c2ecf20Sopenharmony_ci                    regulator-boot-on;
1078c2ecf20Sopenharmony_ci                    regulator-always-on;
1088c2ecf20Sopenharmony_ci                    regulator-ramp-delay = <3125>;
1098c2ecf20Sopenharmony_ci                };
1108c2ecf20Sopenharmony_ci                buck2: BUCK2 {
1118c2ecf20Sopenharmony_ci                    regulator-name = "BUCK2";
1128c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <600000>;
1138c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <2187500>;
1148c2ecf20Sopenharmony_ci                    regulator-boot-on;
1158c2ecf20Sopenharmony_ci                    regulator-always-on;
1168c2ecf20Sopenharmony_ci                    regulator-ramp-delay = <3125>;
1178c2ecf20Sopenharmony_ci                    nxp,dvs-run-voltage = <950000>;
1188c2ecf20Sopenharmony_ci                    nxp,dvs-standby-voltage = <850000>;
1198c2ecf20Sopenharmony_ci                };
1208c2ecf20Sopenharmony_ci                buck4: BUCK4 {
1218c2ecf20Sopenharmony_ci                    regulator-name = "BUCK4";
1228c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <600000>;
1238c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3400000>;
1248c2ecf20Sopenharmony_ci                    regulator-boot-on;
1258c2ecf20Sopenharmony_ci                    regulator-always-on;
1268c2ecf20Sopenharmony_ci                };
1278c2ecf20Sopenharmony_ci                buck5: BUCK5 {
1288c2ecf20Sopenharmony_ci                    regulator-name = "BUCK5";
1298c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <600000>;
1308c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3400000>;
1318c2ecf20Sopenharmony_ci                    regulator-boot-on;
1328c2ecf20Sopenharmony_ci                    regulator-always-on;
1338c2ecf20Sopenharmony_ci                };
1348c2ecf20Sopenharmony_ci                buck6: BUCK6 {
1358c2ecf20Sopenharmony_ci                    regulator-name = "BUCK6";
1368c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <600000>;
1378c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3400000>;
1388c2ecf20Sopenharmony_ci                    regulator-boot-on;
1398c2ecf20Sopenharmony_ci                    regulator-always-on;
1408c2ecf20Sopenharmony_ci                };
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci                ldo1: LDO1 {
1438c2ecf20Sopenharmony_ci                    regulator-name = "LDO1";
1448c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <1600000>;
1458c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1468c2ecf20Sopenharmony_ci                    regulator-boot-on;
1478c2ecf20Sopenharmony_ci                    regulator-always-on;
1488c2ecf20Sopenharmony_ci                };
1498c2ecf20Sopenharmony_ci                ldo2: LDO2 {
1508c2ecf20Sopenharmony_ci                    regulator-name = "LDO2";
1518c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <800000>;
1528c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <1150000>;
1538c2ecf20Sopenharmony_ci                    regulator-boot-on;
1548c2ecf20Sopenharmony_ci                    regulator-always-on;
1558c2ecf20Sopenharmony_ci                };
1568c2ecf20Sopenharmony_ci                ldo3: LDO3 {
1578c2ecf20Sopenharmony_ci                    regulator-name = "LDO3";
1588c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <800000>;
1598c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1608c2ecf20Sopenharmony_ci                    regulator-boot-on;
1618c2ecf20Sopenharmony_ci                    regulator-always-on;
1628c2ecf20Sopenharmony_ci                };
1638c2ecf20Sopenharmony_ci                ldo4: LDO4 {
1648c2ecf20Sopenharmony_ci                    regulator-name = "LDO4";
1658c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <800000>;
1668c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1678c2ecf20Sopenharmony_ci                    regulator-boot-on;
1688c2ecf20Sopenharmony_ci                    regulator-always-on;
1698c2ecf20Sopenharmony_ci                };
1708c2ecf20Sopenharmony_ci                ldo5: LDO5 {
1718c2ecf20Sopenharmony_ci                    regulator-name = "LDO5";
1728c2ecf20Sopenharmony_ci                    regulator-min-microvolt = <1800000>;
1738c2ecf20Sopenharmony_ci                    regulator-max-microvolt = <3300000>;
1748c2ecf20Sopenharmony_ci                    regulator-boot-on;
1758c2ecf20Sopenharmony_ci                    regulator-always-on;
1768c2ecf20Sopenharmony_ci                };
1778c2ecf20Sopenharmony_ci            };
1788c2ecf20Sopenharmony_ci        };
1798c2ecf20Sopenharmony_ci    };
180