1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mfd/ti,tps65910.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: TI TPS65910 Power Management Integrated Circuit 8 9maintainers: 10 - Shree Ramamoorthy <s-ramamoorthy@ti.com> 11 12description: 13 TPS65910 device is a Power Management IC that provides 3 step-down converters, 14 1 stepup converter, and 8 LDOs. The device contains an embedded power controller (EPC), 15 1 GPIO, and an RTC. 16 17properties: 18 compatible: 19 enum: 20 - ti,tps65910 21 - ti,tps65911 22 23 reg: 24 description: I2C slave address 25 maxItems: 1 26 27 gpio-controller: true 28 29 '#gpio-cells': 30 const: 2 31 description: | 32 The first cell is the GPIO number. 33 The second cell is used to specify additional options <unused>. 34 35 interrupts: 36 maxItems: 1 37 38 interrupt-controller: true 39 40 '#interrupt-cells': 41 description: Specifies the IRQ number and flags 42 const: 2 43 44 ti,vmbch-threshold: 45 description: | 46 (TPS65911) Main battery charged threshold comparator. 47 See VMBCH_VSEL in TPS65910 datasheet. 48 $ref: /schemas/types.yaml#/definitions/uint32 49 enum: [0, 1, 2, 3] 50 51 ti,vmbch2-threshold: 52 description: | 53 (TPS65911) Main battery discharged threshold comparator. 54 See VMBCH_VSEL in TPS65910 datasheet. 55 $ref: /schemas/types.yaml#/definitions/uint32 56 enum: [0, 1, 2, 3] 57 58 ti,en-ck32k-xtal: 59 type: boolean 60 description: Enable external 32-kHz crystal oscillator. 61 62 ti,en-gpio-sleep: 63 description: | 64 Enable sleep control for gpios. 65 $ref: /schemas/types.yaml#/definitions/uint32-array 66 minItems: 9 67 maxItems: 9 68 items: 69 minimum: 0 70 maximum: 1 71 72 ti,system-power-controller: 73 type: boolean 74 description: Identify whether or not this pmic controls the system power 75 76 ti,sleep-enable: 77 type: boolean 78 description: Enable SLEEP state. 79 80 ti,sleep-keep-therm: 81 type: boolean 82 description: Keep thermal monitoring on in sleep state. 83 84 ti,sleep-keep-ck32k: 85 type: boolean 86 description: Keep the 32KHz clock output on in sleep state. 87 88 ti,sleep-keep-hsclk: 89 type: boolean 90 description: Keep high speed internal clock on in sleep state. 91 92 regulators: 93 type: object 94 additionalProperties: false 95 description: List of regulators provided by this controller. 96 97 patternProperties: 98 "^(vrtc|vio|vpll|vdac|vmmc|vbb|vddctrl)$": 99 type: object 100 $ref: /schemas/regulator/regulator.yaml# 101 properties: 102 ti,regulator-ext-sleep-control: 103 description: | 104 Enable external sleep control through external inputs: 105 [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]. 106 If this property is not defined, it defaults to 0 (not enabled). 107 $ref: /schemas/types.yaml#/definitions/uint32 108 enum: [0, 1, 2, 4, 8] 109 unevaluatedProperties: false 110 111 "^(vdd[1-3]|vaux([1-2]|33)|vdig[1-2])$": 112 type: object 113 $ref: /schemas/regulator/regulator.yaml# 114 properties: 115 ti,regulator-ext-sleep-control: 116 description: | 117 Enable external sleep control through external inputs: 118 [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]. 119 If this property is not defined, it defaults to 0 (not enabled). 120 $ref: /schemas/types.yaml#/definitions/uint32 121 enum: [0, 1, 2, 4, 8] 122 unevaluatedProperties: false 123 124 "^ldo[1-8]$": 125 type: object 126 $ref: /schemas/regulator/regulator.yaml# 127 properties: 128 ti,regulator-ext-sleep-control: 129 description: | 130 Enable external sleep control through external inputs: 131 [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]. 132 If this property is not defined, it defaults to 0 (not enabled). 133 $ref: /schemas/types.yaml#/definitions/uint32 134 enum: [0, 1, 2, 4, 8] 135 unevaluatedProperties: false 136 137patternProperties: 138 "^(vcc(io|[1-7])-supply)$": 139 description: | 140 Input voltage supply phandle for regulators. 141 These entries are required if PMIC regulators are enabled, or else it 142 can cause the regulator registration to fail. 143 144 If some input supply is powered through battery or always-on supply, then 145 it is also required to have these parameters with the proper node handle for always-on 146 power supply. 147 tps65910: 148 vcc1-supply: VDD1 input. 149 vcc2-supply: VDD2 input. 150 vcc3-supply: VAUX33 and VMMC input. 151 vcc4-supply: VAUX1 and VAUX2 input. 152 vcc5-supply: VPLL and VDAC input. 153 vcc6-supply: VDIG1 and VDIG2 input. 154 vcc7-supply: VRTC and VBB input. 155 vccio-supply: VIO input. 156 tps65911: 157 vcc1-supply: VDD1 input. 158 vcc2-supply: VDD2 input. 159 vcc3-supply: LDO6, LDO7 and LDO8 input. 160 vcc4-supply: LDO5 input. 161 vcc5-supply: LDO3 and LDO4 input. 162 vcc6-supply: LDO1 and LDO2 input. 163 vcc7-supply: VRTC input. 164 vccio-supply: VIO input. 165 166required: 167 - compatible 168 - reg 169 - gpio-controller 170 - '#gpio-cells' 171 - regulators 172 173additionalProperties: false 174 175allOf: 176 - if: 177 properties: 178 compatible: 179 contains: 180 enum: 181 - ti,tps65910 182 then: 183 properties: 184 regulators: 185 patternProperties: 186 "^(ldo[1-8]|vddctrl)$": false 187 - if: 188 properties: 189 compatible: 190 contains: 191 enum: 192 - ti,tps65911 193 then: 194 properties: 195 regulators: 196 patternProperties: 197 "^(vdd3|vaux([1-2]|33)|vdig[1-2])$": false 198 "^(vpll|vdac|vmmc|vbb)$": false 199 200examples: 201 - | 202 #include <dt-bindings/interrupt-controller/arm-gic.h> 203 i2c { 204 #address-cells = <1>; 205 #size-cells = <0>; 206 207 pmic: tps65910@2d { 208 compatible = "ti,tps65910"; 209 reg = <0x2d>; 210 interrupt-parent = <&intc>; 211 interrupts = < 0 118 0x04 >; 212 213 #gpio-cells = <2>; 214 gpio-controller; 215 216 #interrupt-cells = <2>; 217 interrupt-controller; 218 219 ti,system-power-controller; 220 221 ti,vmbch-threshold = <0>; 222 ti,vmbch2-threshold = <0>; 223 ti,en-ck32k-xtal; 224 ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>; 225 226 vcc1-supply = <®_parent>; 227 vcc2-supply = <&some_reg>; 228 vcc3-supply = <&vbat>; 229 vcc4-supply = <&vbat>; 230 vcc5-supply = <&vbat>; 231 vcc6-supply = <&vbat>; 232 vcc7-supply = <&vbat>; 233 vccio-supply = <&vbat>; 234 235 regulators { 236 vio_reg: vio { 237 regulator-name = "vio"; 238 regulator-min-microvolt = <1500000>; 239 regulator-max-microvolt = <3300000>; 240 regulator-always-on; 241 regulator-boot-on; 242 }; 243 vdd1_reg: vdd1 { 244 regulator-name = "vdd1"; 245 regulator-min-microvolt = < 600000>; 246 regulator-max-microvolt = <1500000>; 247 regulator-always-on; 248 regulator-boot-on; 249 ti,regulator-ext-sleep-control = <0>; 250 }; 251 vdd2_reg: vdd2 { 252 regulator-name = "vdd2"; 253 regulator-min-microvolt = < 600000>; 254 regulator-max-microvolt = <1500000>; 255 regulator-always-on; 256 regulator-boot-on; 257 }; 258 vdd3_reg: vdd3 { 259 regulator-name = "vdd3"; 260 regulator-min-microvolt = <5000000>; 261 regulator-max-microvolt = <5000000>; 262 regulator-always-on; 263 }; 264 vdig1_reg: vdig1 { 265 regulator-name = "vdig1"; 266 regulator-min-microvolt = <1200000>; 267 regulator-max-microvolt = <2700000>; 268 regulator-always-on; 269 }; 270 vdig2_reg: vdig2 { 271 regulator-name = "vdig2"; 272 regulator-min-microvolt = <1000000>; 273 regulator-max-microvolt = <1800000>; 274 regulator-always-on; 275 }; 276 vpll_reg: vpll { 277 regulator-name = "vpll"; 278 regulator-min-microvolt = <1000000>; 279 regulator-max-microvolt = <2500000>; 280 regulator-always-on; 281 }; 282 vdac_reg: vdac { 283 regulator-name = "vdac"; 284 regulator-min-microvolt = <1800000>; 285 regulator-max-microvolt = <2850000>; 286 regulator-always-on; 287 }; 288 vaux1_reg: vaux1 { 289 regulator-name = "vaux1"; 290 regulator-min-microvolt = <1800000>; 291 regulator-max-microvolt = <2850000>; 292 regulator-always-on; 293 }; 294 vaux2_reg: vaux2 { 295 regulator-name = "vaux2"; 296 regulator-min-microvolt = <1800000>; 297 regulator-max-microvolt = <3300000>; 298 regulator-always-on; 299 }; 300 vaux33_reg: vaux33 { 301 regulator-name = "vaux33"; 302 regulator-min-microvolt = <1800000>; 303 regulator-max-microvolt = <3300000>; 304 regulator-always-on; 305 }; 306 vmmc_reg: vmmc { 307 regulator-name = "vmmc"; 308 regulator-min-microvolt = <1800000>; 309 regulator-max-microvolt = <3300000>; 310 regulator-always-on; 311 regulator-boot-on; 312 }; 313 }; 314 }; 315 }; 316