# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/regulator/nxp,pca9450-regulator.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: NXP PCA9450A/B/C Power Management Integrated Circuit regulators maintainers: - Robin Gong <yibin.gong@nxp.com> description: | Regulator nodes should be named to BUCK_<number> and LDO_<number>. The definition for each of these nodes is defined using the standard binding for regulators at Documentation/devicetree/bindings/regulator/regulator.txt. Datasheet is available at https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf # The valid names for PCA9450 regulator nodes are: # BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, # LDO1, LDO2, LDO3, LDO4, LDO5 # Note: Buck3 removed on PCA9450B and connect with Buck1 on PCA9450C. properties: compatible: enum: - nxp,pca9450a - nxp,pca9450b - nxp,pca9450c reg: maxItems: 1 interrupts: maxItems: 1 regulators: type: object description: | list of regulators provided by this controller patternProperties: "^LDO[1-5]$": type: object $ref: regulator.yaml# description: Properties for single LDO regulator. unevaluatedProperties: false "^BUCK[1-6]$": type: object $ref: regulator.yaml# description: Properties for single BUCK regulator. properties: nxp,dvs-run-voltage: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 600000 maximum: 2187500 description: PMIC default "RUN" state voltage in uV. Only Buck1~3 have such dvs(dynamic voltage scaling) property. nxp,dvs-standby-voltage: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 600000 maximum: 2187500 description: PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such dvs(dynamic voltage scaling) property. unevaluatedProperties: false additionalProperties: false sd-vsel-gpios: description: GPIO that is used to switch LDO5 between being configured by LDO5CTRL_L or LDO5CTRL_H register. Use this if the SD_VSEL signal is connected to a host GPIO. nxp,i2c-lt-enable: type: boolean description: Indicates that the I2C Level Translator is used. nxp,wdog_b-warm-reset: type: boolean description: When WDOG_B signal is asserted a warm reset will be done instead of cold reset. required: - compatible - reg - interrupts - regulators additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> i2c { #address-cells = <1>; #size-cells = <0>; pmic: pmic@25 { compatible = "nxp,pca9450b"; reg = <0x25>; pinctrl-0 = <&pinctrl_pmic>; interrupt-parent = <&gpio1>; interrupts = <3 IRQ_TYPE_LEVEL_LOW>; regulators { buck1: BUCK1 { regulator-name = "BUCK1"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <2187500>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <3125>; }; buck2: BUCK2 { regulator-name = "BUCK2"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <2187500>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <3125>; nxp,dvs-run-voltage = <950000>; nxp,dvs-standby-voltage = <850000>; }; buck4: BUCK4 { regulator-name = "BUCK4"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <3400000>; regulator-boot-on; regulator-always-on; }; buck5: BUCK5 { regulator-name = "BUCK5"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <3400000>; regulator-boot-on; regulator-always-on; }; buck6: BUCK6 { regulator-name = "BUCK6"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <3400000>; regulator-boot-on; regulator-always-on; }; ldo1: LDO1 { regulator-name = "LDO1"; regulator-min-microvolt = <1600000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; ldo2: LDO2 { regulator-name = "LDO2"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1150000>; regulator-boot-on; regulator-always-on; }; ldo3: LDO3 { regulator-name = "LDO3"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; ldo4: LDO4 { regulator-name = "LDO4"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; ldo5: LDO5 { regulator-name = "LDO5"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; }; }; };