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 - interrupts 170 - interrupt-controller 171 - '#interrupt-cells' 172 - gpio-controller 173 - '#gpio-cells' 174 - regulators 175 176additionalProperties: false 177 178allOf: 179 - if: 180 properties: 181 compatible: 182 contains: 183 enum: 184 - ti,tps65910 185 then: 186 properties: 187 regulators: 188 patternProperties: 189 "^(ldo[1-8]|vddctrl)$": false 190 - if: 191 properties: 192 compatible: 193 contains: 194 enum: 195 - ti,tps65911 196 then: 197 properties: 198 regulators: 199 patternProperties: 200 "^(vdd3|vaux([1-2]|33)|vdig[1-2])$": false 201 "^(vpll|vdac|vmmc|vbb)$": false 202 203examples: 204 - | 205 #include <dt-bindings/interrupt-controller/arm-gic.h> 206 i2c { 207 #address-cells = <1>; 208 #size-cells = <0>; 209 210 pmic: tps65910@2d { 211 compatible = "ti,tps65910"; 212 reg = <0x2d>; 213 interrupt-parent = <&intc>; 214 interrupts = < 0 118 0x04 >; 215 216 #gpio-cells = <2>; 217 gpio-controller; 218 219 #interrupt-cells = <2>; 220 interrupt-controller; 221 222 ti,system-power-controller; 223 224 ti,vmbch-threshold = <0>; 225 ti,vmbch2-threshold = <0>; 226 ti,en-ck32k-xtal; 227 ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>; 228 229 vcc1-supply = <®_parent>; 230 vcc2-supply = <&some_reg>; 231 vcc3-supply = <&vbat>; 232 vcc4-supply = <&vbat>; 233 vcc5-supply = <&vbat>; 234 vcc6-supply = <&vbat>; 235 vcc7-supply = <&vbat>; 236 vccio-supply = <&vbat>; 237 238 regulators { 239 vio_reg: vio { 240 regulator-name = "vio"; 241 regulator-min-microvolt = <1500000>; 242 regulator-max-microvolt = <3300000>; 243 regulator-always-on; 244 regulator-boot-on; 245 }; 246 vdd1_reg: vdd1 { 247 regulator-name = "vdd1"; 248 regulator-min-microvolt = < 600000>; 249 regulator-max-microvolt = <1500000>; 250 regulator-always-on; 251 regulator-boot-on; 252 ti,regulator-ext-sleep-control = <0>; 253 }; 254 vdd2_reg: vdd2 { 255 regulator-name = "vdd2"; 256 regulator-min-microvolt = < 600000>; 257 regulator-max-microvolt = <1500000>; 258 regulator-always-on; 259 regulator-boot-on; 260 }; 261 vdd3_reg: vdd3 { 262 regulator-name = "vdd3"; 263 regulator-min-microvolt = <5000000>; 264 regulator-max-microvolt = <5000000>; 265 regulator-always-on; 266 }; 267 vdig1_reg: vdig1 { 268 regulator-name = "vdig1"; 269 regulator-min-microvolt = <1200000>; 270 regulator-max-microvolt = <2700000>; 271 regulator-always-on; 272 }; 273 vdig2_reg: vdig2 { 274 regulator-name = "vdig2"; 275 regulator-min-microvolt = <1000000>; 276 regulator-max-microvolt = <1800000>; 277 regulator-always-on; 278 }; 279 vpll_reg: vpll { 280 regulator-name = "vpll"; 281 regulator-min-microvolt = <1000000>; 282 regulator-max-microvolt = <2500000>; 283 regulator-always-on; 284 }; 285 vdac_reg: vdac { 286 regulator-name = "vdac"; 287 regulator-min-microvolt = <1800000>; 288 regulator-max-microvolt = <2850000>; 289 regulator-always-on; 290 }; 291 vaux1_reg: vaux1 { 292 regulator-name = "vaux1"; 293 regulator-min-microvolt = <1800000>; 294 regulator-max-microvolt = <2850000>; 295 regulator-always-on; 296 }; 297 vaux2_reg: vaux2 { 298 regulator-name = "vaux2"; 299 regulator-min-microvolt = <1800000>; 300 regulator-max-microvolt = <3300000>; 301 regulator-always-on; 302 }; 303 vaux33_reg: vaux33 { 304 regulator-name = "vaux33"; 305 regulator-min-microvolt = <1800000>; 306 regulator-max-microvolt = <3300000>; 307 regulator-always-on; 308 }; 309 vmmc_reg: vmmc { 310 regulator-name = "vmmc"; 311 regulator-min-microvolt = <1800000>; 312 regulator-max-microvolt = <3300000>; 313 regulator-always-on; 314 regulator-boot-on; 315 }; 316 }; 317 }; 318 }; 319