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 95required: 96 - compatible 97 - reg 98 - interrupts 99 - regulators 100 101additionalProperties: false 102 103examples: 104 - | 105 #include <dt-bindings/interrupt-controller/irq.h> 106 107 i2c { 108 #address-cells = <1>; 109 #size-cells = <0>; 110 pmic: pmic@25 { 111 compatible = "nxp,pca9450b"; 112 reg = <0x25>; 113 pinctrl-0 = <&pinctrl_pmic>; 114 interrupt-parent = <&gpio1>; 115 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 116 117 regulators { 118 buck1: BUCK1 { 119 regulator-name = "BUCK1"; 120 regulator-min-microvolt = <600000>; 121 regulator-max-microvolt = <2187500>; 122 regulator-boot-on; 123 regulator-always-on; 124 regulator-ramp-delay = <3125>; 125 }; 126 buck2: BUCK2 { 127 regulator-name = "BUCK2"; 128 regulator-min-microvolt = <600000>; 129 regulator-max-microvolt = <2187500>; 130 regulator-boot-on; 131 regulator-always-on; 132 regulator-ramp-delay = <3125>; 133 nxp,dvs-run-voltage = <950000>; 134 nxp,dvs-standby-voltage = <850000>; 135 }; 136 buck4: BUCK4 { 137 regulator-name = "BUCK4"; 138 regulator-min-microvolt = <600000>; 139 regulator-max-microvolt = <3400000>; 140 regulator-boot-on; 141 regulator-always-on; 142 }; 143 buck5: BUCK5 { 144 regulator-name = "BUCK5"; 145 regulator-min-microvolt = <600000>; 146 regulator-max-microvolt = <3400000>; 147 regulator-boot-on; 148 regulator-always-on; 149 }; 150 buck6: BUCK6 { 151 regulator-name = "BUCK6"; 152 regulator-min-microvolt = <600000>; 153 regulator-max-microvolt = <3400000>; 154 regulator-boot-on; 155 regulator-always-on; 156 }; 157 158 ldo1: LDO1 { 159 regulator-name = "LDO1"; 160 regulator-min-microvolt = <1600000>; 161 regulator-max-microvolt = <3300000>; 162 regulator-boot-on; 163 regulator-always-on; 164 }; 165 ldo2: LDO2 { 166 regulator-name = "LDO2"; 167 regulator-min-microvolt = <800000>; 168 regulator-max-microvolt = <1150000>; 169 regulator-boot-on; 170 regulator-always-on; 171 }; 172 ldo3: LDO3 { 173 regulator-name = "LDO3"; 174 regulator-min-microvolt = <800000>; 175 regulator-max-microvolt = <3300000>; 176 regulator-boot-on; 177 regulator-always-on; 178 }; 179 ldo4: LDO4 { 180 regulator-name = "LDO4"; 181 regulator-min-microvolt = <800000>; 182 regulator-max-microvolt = <3300000>; 183 regulator-boot-on; 184 regulator-always-on; 185 }; 186 ldo5: LDO5 { 187 regulator-name = "LDO5"; 188 regulator-min-microvolt = <1800000>; 189 regulator-max-microvolt = <3300000>; 190 regulator-boot-on; 191 regulator-always-on; 192 }; 193 }; 194 }; 195 }; 196