162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/regulator/nxp,pca9450-regulator.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: NXP PCA9450A/B/C Power Management Integrated Circuit regulators 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Robin Gong <yibin.gong@nxp.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci Regulator nodes should be named to BUCK_<number> and LDO_<number>. The 1462306a36Sopenharmony_ci definition for each of these nodes is defined using the standard 1562306a36Sopenharmony_ci binding for regulators at 1662306a36Sopenharmony_ci Documentation/devicetree/bindings/regulator/regulator.txt. 1762306a36Sopenharmony_ci Datasheet is available at 1862306a36Sopenharmony_ci https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci# The valid names for PCA9450 regulator nodes are: 2162306a36Sopenharmony_ci# BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, 2262306a36Sopenharmony_ci# LDO1, LDO2, LDO3, LDO4, LDO5 2362306a36Sopenharmony_ci# Note: Buck3 removed on PCA9450B and connect with Buck1 on PCA9450C. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciproperties: 2662306a36Sopenharmony_ci compatible: 2762306a36Sopenharmony_ci enum: 2862306a36Sopenharmony_ci - nxp,pca9450a 2962306a36Sopenharmony_ci - nxp,pca9450b 3062306a36Sopenharmony_ci - nxp,pca9450c 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci reg: 3362306a36Sopenharmony_ci maxItems: 1 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci interrupts: 3662306a36Sopenharmony_ci maxItems: 1 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci regulators: 3962306a36Sopenharmony_ci type: object 4062306a36Sopenharmony_ci description: | 4162306a36Sopenharmony_ci list of regulators provided by this controller 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci patternProperties: 4462306a36Sopenharmony_ci "^LDO[1-5]$": 4562306a36Sopenharmony_ci type: object 4662306a36Sopenharmony_ci $ref: regulator.yaml# 4762306a36Sopenharmony_ci description: 4862306a36Sopenharmony_ci Properties for single LDO regulator. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci unevaluatedProperties: false 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci "^BUCK[1-6]$": 5362306a36Sopenharmony_ci type: object 5462306a36Sopenharmony_ci $ref: regulator.yaml# 5562306a36Sopenharmony_ci description: 5662306a36Sopenharmony_ci Properties for single BUCK regulator. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci properties: 5962306a36Sopenharmony_ci nxp,dvs-run-voltage: 6062306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6162306a36Sopenharmony_ci minimum: 600000 6262306a36Sopenharmony_ci maximum: 2187500 6362306a36Sopenharmony_ci description: 6462306a36Sopenharmony_ci PMIC default "RUN" state voltage in uV. Only Buck1~3 have such 6562306a36Sopenharmony_ci dvs(dynamic voltage scaling) property. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci nxp,dvs-standby-voltage: 6862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6962306a36Sopenharmony_ci minimum: 600000 7062306a36Sopenharmony_ci maximum: 2187500 7162306a36Sopenharmony_ci description: 7262306a36Sopenharmony_ci PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such 7362306a36Sopenharmony_ci dvs(dynamic voltage scaling) property. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci unevaluatedProperties: false 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci additionalProperties: false 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci sd-vsel-gpios: 8062306a36Sopenharmony_ci description: GPIO that is used to switch LDO5 between being configured by 8162306a36Sopenharmony_ci LDO5CTRL_L or LDO5CTRL_H register. Use this if the SD_VSEL signal is 8262306a36Sopenharmony_ci connected to a host GPIO. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci nxp,i2c-lt-enable: 8562306a36Sopenharmony_ci type: boolean 8662306a36Sopenharmony_ci description: 8762306a36Sopenharmony_ci Indicates that the I2C Level Translator is used. 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci nxp,wdog_b-warm-reset: 9062306a36Sopenharmony_ci type: boolean 9162306a36Sopenharmony_ci description: 9262306a36Sopenharmony_ci When WDOG_B signal is asserted a warm reset will be done instead of cold 9362306a36Sopenharmony_ci reset. 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_cirequired: 9662306a36Sopenharmony_ci - compatible 9762306a36Sopenharmony_ci - reg 9862306a36Sopenharmony_ci - interrupts 9962306a36Sopenharmony_ci - regulators 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ciadditionalProperties: false 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ciexamples: 10462306a36Sopenharmony_ci - | 10562306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci i2c { 10862306a36Sopenharmony_ci #address-cells = <1>; 10962306a36Sopenharmony_ci #size-cells = <0>; 11062306a36Sopenharmony_ci pmic: pmic@25 { 11162306a36Sopenharmony_ci compatible = "nxp,pca9450b"; 11262306a36Sopenharmony_ci reg = <0x25>; 11362306a36Sopenharmony_ci pinctrl-0 = <&pinctrl_pmic>; 11462306a36Sopenharmony_ci interrupt-parent = <&gpio1>; 11562306a36Sopenharmony_ci interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci regulators { 11862306a36Sopenharmony_ci buck1: BUCK1 { 11962306a36Sopenharmony_ci regulator-name = "BUCK1"; 12062306a36Sopenharmony_ci regulator-min-microvolt = <600000>; 12162306a36Sopenharmony_ci regulator-max-microvolt = <2187500>; 12262306a36Sopenharmony_ci regulator-boot-on; 12362306a36Sopenharmony_ci regulator-always-on; 12462306a36Sopenharmony_ci regulator-ramp-delay = <3125>; 12562306a36Sopenharmony_ci }; 12662306a36Sopenharmony_ci buck2: BUCK2 { 12762306a36Sopenharmony_ci regulator-name = "BUCK2"; 12862306a36Sopenharmony_ci regulator-min-microvolt = <600000>; 12962306a36Sopenharmony_ci regulator-max-microvolt = <2187500>; 13062306a36Sopenharmony_ci regulator-boot-on; 13162306a36Sopenharmony_ci regulator-always-on; 13262306a36Sopenharmony_ci regulator-ramp-delay = <3125>; 13362306a36Sopenharmony_ci nxp,dvs-run-voltage = <950000>; 13462306a36Sopenharmony_ci nxp,dvs-standby-voltage = <850000>; 13562306a36Sopenharmony_ci }; 13662306a36Sopenharmony_ci buck4: BUCK4 { 13762306a36Sopenharmony_ci regulator-name = "BUCK4"; 13862306a36Sopenharmony_ci regulator-min-microvolt = <600000>; 13962306a36Sopenharmony_ci regulator-max-microvolt = <3400000>; 14062306a36Sopenharmony_ci regulator-boot-on; 14162306a36Sopenharmony_ci regulator-always-on; 14262306a36Sopenharmony_ci }; 14362306a36Sopenharmony_ci buck5: BUCK5 { 14462306a36Sopenharmony_ci regulator-name = "BUCK5"; 14562306a36Sopenharmony_ci regulator-min-microvolt = <600000>; 14662306a36Sopenharmony_ci regulator-max-microvolt = <3400000>; 14762306a36Sopenharmony_ci regulator-boot-on; 14862306a36Sopenharmony_ci regulator-always-on; 14962306a36Sopenharmony_ci }; 15062306a36Sopenharmony_ci buck6: BUCK6 { 15162306a36Sopenharmony_ci regulator-name = "BUCK6"; 15262306a36Sopenharmony_ci regulator-min-microvolt = <600000>; 15362306a36Sopenharmony_ci regulator-max-microvolt = <3400000>; 15462306a36Sopenharmony_ci regulator-boot-on; 15562306a36Sopenharmony_ci regulator-always-on; 15662306a36Sopenharmony_ci }; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci ldo1: LDO1 { 15962306a36Sopenharmony_ci regulator-name = "LDO1"; 16062306a36Sopenharmony_ci regulator-min-microvolt = <1600000>; 16162306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 16262306a36Sopenharmony_ci regulator-boot-on; 16362306a36Sopenharmony_ci regulator-always-on; 16462306a36Sopenharmony_ci }; 16562306a36Sopenharmony_ci ldo2: LDO2 { 16662306a36Sopenharmony_ci regulator-name = "LDO2"; 16762306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 16862306a36Sopenharmony_ci regulator-max-microvolt = <1150000>; 16962306a36Sopenharmony_ci regulator-boot-on; 17062306a36Sopenharmony_ci regulator-always-on; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci ldo3: LDO3 { 17362306a36Sopenharmony_ci regulator-name = "LDO3"; 17462306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 17562306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 17662306a36Sopenharmony_ci regulator-boot-on; 17762306a36Sopenharmony_ci regulator-always-on; 17862306a36Sopenharmony_ci }; 17962306a36Sopenharmony_ci ldo4: LDO4 { 18062306a36Sopenharmony_ci regulator-name = "LDO4"; 18162306a36Sopenharmony_ci regulator-min-microvolt = <800000>; 18262306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 18362306a36Sopenharmony_ci regulator-boot-on; 18462306a36Sopenharmony_ci regulator-always-on; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci ldo5: LDO5 { 18762306a36Sopenharmony_ci regulator-name = "LDO5"; 18862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 18962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 19062306a36Sopenharmony_ci regulator-boot-on; 19162306a36Sopenharmony_ci regulator-always-on; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci }; 19562306a36Sopenharmony_ci }; 196