FILE
nxp,pca9450-regulator.yaml
File preview with syntax highlighting.
linux-6.19.14/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml
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 Support PF9453, Datasheet is available at 21 https://www.nxp.com/docs/en/data-sheet/PF9453_SDS.pdf 22 23# The valid names for PCA9450 regulator nodes are: 24# BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, 25# LDO1, LDO2, LDO3, LDO4, LDO5 26# Note: Buck3 removed on PCA9450B and connect with Buck1 on PCA9450C. 27 28properties: 29 compatible: 30 enum: 31 - nxp,pca9450a 32 - nxp,pca9450b 33 - nxp,pca9450c 34 - nxp,pca9451a 35 - nxp,pca9452 36 - nxp,pf9453 37 38 reg: 39 maxItems: 1 40 41 interrupts: 42 maxItems: 1 43 44 inl1-supply: 45 description: Regulator supply for the INL1 pin group, powering LDOx 46 47 inb13-supply: 48 description: 49 Regulator supply for the INB13 pin group, powering BUCK1 and BUCK3. 50 51 inb26-supply: 52 description: 53 Regulator supply for the INB26 pin group, powering BUCK2 and BUCK6. 54 55 inb45-supply: 56 description: 57 Regulator supply for the INB45 pin group, powering BUCK4 and BUCK5. 58 59 regulators: 60 type: object 61 description: | 62 list of regulators provided by this controller 63 64 properties: 65 LDO5: 66 type: object 67 $ref: regulator.yaml# 68 description: 69 Properties for single LDO5 regulator. 70 71 properties: 72 nxp,sd-vsel-fixed-low: 73 type: boolean 74 description: 75 Let the driver know that SD_VSEL is hardwired to low level and 76 there is no GPIO to get the actual value from. 77 78 sd-vsel-gpios: 79 description: 80 GPIO that can be used to read the current status of the SD_VSEL 81 signal in order for the driver to know if LDO5CTRL_L or LDO5CTRL_H 82 is used by the hardware. 83 84 unevaluatedProperties: false 85 86 patternProperties: 87 "^LDO([1-4]|-SNVS)$": 88 type: object 89 $ref: regulator.yaml# 90 description: 91 Properties for single LDO regulator. 92 93 unevaluatedProperties: false 94 95 "^BUCK[1-6]$": 96 type: object 97 $ref: regulator.yaml# 98 description: 99 Properties for single BUCK regulator. 100 101 properties: 102 nxp,dvs-run-voltage: 103 $ref: /schemas/types.yaml#/definitions/uint32 104 minimum: 600000 105 maximum: 2187500 106 description: 107 PMIC default "RUN" state voltage in uV. Only Buck1~3 have such 108 dvs(dynamic voltage scaling) property. 109 110 nxp,dvs-standby-voltage: 111 $ref: /schemas/types.yaml#/definitions/uint32 112 minimum: 600000 113 maximum: 2187500 114 description: 115 PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such 116 dvs(dynamic voltage scaling) property. 117 118 regulator-allowed-modes: 119 description: | 120 Buck regulator operating modes allowed. Valid values below. 121 Users should use the macros from dt-bindings/regulator/nxp,pca9450-regulator.h 122 0 (PCA9450_BUCK_MODE_AUTO): Auto PFM/PWM mode 123 1 (PCA9450_BUCK_MODE_FORCE_PWM): Forced PWM mode 124 items: 125 enum: [ 0, 1 ] 126 127 unevaluatedProperties: false 128 129 additionalProperties: false 130 131 nxp,i2c-lt-enable: 132 type: boolean 133 description: 134 Indicates that the I2C Level Translator is used. 135 136 nxp,wdog_b-warm-reset: 137 type: boolean 138 description: 139 When WDOG_B signal is asserted a warm reset will be done instead of cold 140 reset. 141 142 nxp,pmic-on-req-on-debounce-us: 143 enum: [ 120, 20000, 100000, 750000 ] 144 description: Debounce time for PMIC_ON_REQ high. 145 146 nxp,pmic-on-req-off-debounce-us: 147 enum: [ 120, 2000 ] 148 description: Debounce time for PMIC_ON_REQ is asserted low 149 150 nxp,power-on-step-ms: 151 enum: [ 1, 2, 4, 8] 152 description: Time step configuration during power on sequence 153 154 nxp,power-down-step-ms: 155 enum: [ 2, 4, 8, 16 ] 156 description: Time step configuration during power down sequence 157 158 nxp,restart-ms: 159 enum: [ 250, 500 ] 160 description: Time to stay off regulators during Cold reset 161 162 npx,pmic-rst-b-debounce-ms: 163 enum: [ 10, 50, 100, 500, 1000, 2000, 4000, 8000 ] 164 description: PMIC_RST_B debounce time 165 166required: 167 - compatible 168 - reg 169 - regulators 170 171additionalProperties: false 172 173allOf: 174 - if: 175 properties: 176 compatible: 177 contains: 178 const: nxp,pf9453 179 then: 180 properties: 181 regulators: 182 patternProperties: 183 "^LDO[3-4]$": false 184 "^BUCK[5-6]$": false 185 else: 186 properties: 187 regulators: 188 properties: 189 LDO-SNVS: false 190 191examples: 192 - | 193 #include <dt-bindings/interrupt-controller/irq.h> 194 #include <dt-bindings/regulator/nxp,pca9450-regulator.h> 195 196 i2c { 197 #address-cells = <1>; 198 #size-cells = <0>; 199 pmic: pmic@25 { 200 compatible = "nxp,pca9450b"; 201 reg = <0x25>; 202 pinctrl-0 = <&pinctrl_pmic>; 203 interrupt-parent = <&gpio1>; 204 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 205 206 regulators { 207 buck1: BUCK1 { 208 regulator-name = "BUCK1"; 209 regulator-min-microvolt = <600000>; 210 regulator-max-microvolt = <2187500>; 211 regulator-boot-on; 212 regulator-always-on; 213 regulator-ramp-delay = <3125>; 214 }; 215 buck2: BUCK2 { 216 regulator-name = "BUCK2"; 217 regulator-min-microvolt = <600000>; 218 regulator-max-microvolt = <2187500>; 219 regulator-boot-on; 220 regulator-always-on; 221 regulator-ramp-delay = <3125>; 222 nxp,dvs-run-voltage = <950000>; 223 nxp,dvs-standby-voltage = <850000>; 224 }; 225 buck4: BUCK4 { 226 regulator-name = "BUCK4"; 227 regulator-min-microvolt = <600000>; 228 regulator-max-microvolt = <3400000>; 229 regulator-boot-on; 230 regulator-always-on; 231 regulator-initial-mode = <PCA9450_BUCK_MODE_FORCE_PWM>; 232 regulator-allowed-modes = <PCA9450_BUCK_MODE_FORCE_PWM>; 233 }; 234 buck5: BUCK5 { 235 regulator-name = "BUCK5"; 236 regulator-min-microvolt = <600000>; 237 regulator-max-microvolt = <3400000>; 238 regulator-boot-on; 239 regulator-always-on; 240 regulator-allowed-modes = <PCA9450_BUCK_MODE_AUTO 241 PCA9450_BUCK_MODE_FORCE_PWM>; 242 }; 243 buck6: BUCK6 { 244 regulator-name = "BUCK6"; 245 regulator-min-microvolt = <600000>; 246 regulator-max-microvolt = <3400000>; 247 regulator-boot-on; 248 regulator-always-on; 249 }; 250 251 ldo1: LDO1 { 252 regulator-name = "LDO1"; 253 regulator-min-microvolt = <1600000>; 254 regulator-max-microvolt = <3300000>; 255 regulator-boot-on; 256 regulator-always-on; 257 }; 258 ldo2: LDO2 { 259 regulator-name = "LDO2"; 260 regulator-min-microvolt = <800000>; 261 regulator-max-microvolt = <1150000>; 262 regulator-boot-on; 263 regulator-always-on; 264 }; 265 ldo3: LDO3 { 266 regulator-name = "LDO3"; 267 regulator-min-microvolt = <800000>; 268 regulator-max-microvolt = <3300000>; 269 regulator-boot-on; 270 regulator-always-on; 271 }; 272 ldo4: LDO4 { 273 regulator-name = "LDO4"; 274 regulator-min-microvolt = <800000>; 275 regulator-max-microvolt = <3300000>; 276 regulator-boot-on; 277 regulator-always-on; 278 }; 279 ldo5: LDO5 { 280 regulator-name = "LDO5"; 281 regulator-min-microvolt = <1800000>; 282 regulator-max-microvolt = <3300000>; 283 regulator-boot-on; 284 regulator-always-on; 285 }; 286 }; 287 }; 288 };
~/
Read-only file preview.