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