1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/nxp,pca9450-regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: NXP PCA9450A/B/C Power Management Integrated Circuit regulators 8 9maintainers: 10 - Robin Gong <yibin.gong@nxp.com> 11 12description: | 13 Regulator nodes should be named to BUCK_<number> and LDO_<number>. The 14 definition for each of these nodes is defined using the standard 15 binding for regulators at 16 Documentation/devicetree/bindings/regulator/regulator.txt. 17 Datasheet is available at 18 https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf 19 20#The valid names for PCA9450 regulator nodes are: 21#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, 22#LDO1, LDO2, LDO3, LDO4, LDO5 23#Note: Buck3 removed on PCA9450B and connect with Buck1 on PCA9450C. 24 25properties: 26 compatible: 27 enum: 28 - nxp,pca9450a 29 - nxp,pca9450b 30 - nxp,pca9450c 31 32 reg: 33 maxItems: 1 34 35 interrupts: 36 maxItems: 1 37 38 regulators: 39 type: object 40 description: | 41 list of regulators provided by this controller 42 43 patternProperties: 44 "^LDO[1-5]$": 45 type: object 46 $ref: regulator.yaml# 47 description: 48 Properties for single LDO regulator. 49 50 properties: 51 regulator-name: 52 pattern: "^LDO[1-5]$" 53 description: 54 should be "LDO1", ..., "LDO5" 55 56 unevaluatedProperties: false 57 58 "^BUCK[1-6]$": 59 type: object 60 $ref: regulator.yaml# 61 description: 62 Properties for single BUCK regulator. 63 64 properties: 65 regulator-name: 66 pattern: "^BUCK[1-6]$" 67 description: 68 should be "BUCK1", ..., "BUCK6" 69 70 nxp,dvs-run-voltage: 71 $ref: "/schemas/types.yaml#/definitions/uint32" 72 minimum: 600000 73 maximum: 2187500 74 description: 75 PMIC default "RUN" state voltage in uV. Only Buck1~3 have such 76 dvs(dynamic voltage scaling) property. 77 78 nxp,dvs-standby-voltage: 79 $ref: "/schemas/types.yaml#/definitions/uint32" 80 minimum: 600000 81 maximum: 2187500 82 description: 83 PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such 84 dvs(dynamic voltage scaling) property. 85 86 unevaluatedProperties: false 87 88 additionalProperties: false 89 90 sd-vsel-gpios: 91 description: GPIO that is used to switch LDO5 between being configured by 92 LDO5CTRL_L or LDO5CTRL_H register. Use this if the SD_VSEL signal is 93 connected to a host GPIO. 94 95 nxp,i2c-lt-enable: 96 type: boolean 97 description: 98 Indicates that the I2C Level Translator is used. 99 100 nxp,wdog_b-warm-reset: 101 type: boolean 102 description: 103 When WDOG_B signal is asserted a warm reset will be done instead of cold 104 reset. 105 106required: 107 - compatible 108 - reg 109 - interrupts 110 - regulators 111 112additionalProperties: false 113 114examples: 115 - | 116 #include <dt-bindings/interrupt-controller/irq.h> 117 118 i2c { 119 #address-cells = <1>; 120 #size-cells = <0>; 121 pmic: pmic@25 { 122 compatible = "nxp,pca9450b"; 123 reg = <0x25>; 124 pinctrl-0 = <&pinctrl_pmic>; 125 interrupt-parent = <&gpio1>; 126 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 127 128 regulators { 129 buck1: BUCK1 { 130 regulator-name = "BUCK1"; 131 regulator-min-microvolt = <600000>; 132 regulator-max-microvolt = <2187500>; 133 regulator-boot-on; 134 regulator-always-on; 135 regulator-ramp-delay = <3125>; 136 }; 137 buck2: BUCK2 { 138 regulator-name = "BUCK2"; 139 regulator-min-microvolt = <600000>; 140 regulator-max-microvolt = <2187500>; 141 regulator-boot-on; 142 regulator-always-on; 143 regulator-ramp-delay = <3125>; 144 nxp,dvs-run-voltage = <950000>; 145 nxp,dvs-standby-voltage = <850000>; 146 }; 147 buck4: BUCK4 { 148 regulator-name = "BUCK4"; 149 regulator-min-microvolt = <600000>; 150 regulator-max-microvolt = <3400000>; 151 regulator-boot-on; 152 regulator-always-on; 153 }; 154 buck5: BUCK5 { 155 regulator-name = "BUCK5"; 156 regulator-min-microvolt = <600000>; 157 regulator-max-microvolt = <3400000>; 158 regulator-boot-on; 159 regulator-always-on; 160 }; 161 buck6: BUCK6 { 162 regulator-name = "BUCK6"; 163 regulator-min-microvolt = <600000>; 164 regulator-max-microvolt = <3400000>; 165 regulator-boot-on; 166 regulator-always-on; 167 }; 168 169 ldo1: LDO1 { 170 regulator-name = "LDO1"; 171 regulator-min-microvolt = <1600000>; 172 regulator-max-microvolt = <3300000>; 173 regulator-boot-on; 174 regulator-always-on; 175 }; 176 ldo2: LDO2 { 177 regulator-name = "LDO2"; 178 regulator-min-microvolt = <800000>; 179 regulator-max-microvolt = <1150000>; 180 regulator-boot-on; 181 regulator-always-on; 182 }; 183 ldo3: LDO3 { 184 regulator-name = "LDO3"; 185 regulator-min-microvolt = <800000>; 186 regulator-max-microvolt = <3300000>; 187 regulator-boot-on; 188 regulator-always-on; 189 }; 190 ldo4: LDO4 { 191 regulator-name = "LDO4"; 192 regulator-min-microvolt = <800000>; 193 regulator-max-microvolt = <3300000>; 194 regulator-boot-on; 195 regulator-always-on; 196 }; 197 ldo5: LDO5 { 198 regulator-name = "LDO5"; 199 regulator-min-microvolt = <1800000>; 200 regulator-max-microvolt = <3300000>; 201 regulator-boot-on; 202 regulator-always-on; 203 }; 204 }; 205 }; 206 }; 207