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