1*4882a593SmuzhiyunTPS65910 Power Management Integrated Circuit 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties: 4*4882a593Smuzhiyun- compatible: "ti,tps65910" or "ti,tps65911" 5*4882a593Smuzhiyun- reg: I2C slave address 6*4882a593Smuzhiyun- interrupts: the interrupt outputs of the controller 7*4882a593Smuzhiyun- #gpio-cells: number of cells to describe a GPIO, this should be 2. 8*4882a593Smuzhiyun The first cell is the GPIO number. 9*4882a593Smuzhiyun The second cell is used to specify additional options <unused>. 10*4882a593Smuzhiyun- gpio-controller: mark the device as a GPIO controller 11*4882a593Smuzhiyun- #interrupt-cells: the number of cells to describe an IRQ, this should be 2. 12*4882a593Smuzhiyun The first cell is the IRQ number. 13*4882a593Smuzhiyun The second cell is the flags, encoded as the trigger masks from 14*4882a593Smuzhiyun Documentation/devicetree/bindings/interrupt-controller/interrupts.txt 15*4882a593Smuzhiyun- regulators: This is the list of child nodes that specify the regulator 16*4882a593Smuzhiyun initialization data for defined regulators. Not all regulators for the given 17*4882a593Smuzhiyun device need to be present. The definition for each of these nodes is defined 18*4882a593Smuzhiyun using the standard binding for regulators found at 19*4882a593Smuzhiyun Documentation/devicetree/bindings/regulator/regulator.txt. 20*4882a593Smuzhiyun The regulator is matched with the regulator-compatible. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun The valid regulator-compatible values are: 23*4882a593Smuzhiyun tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1, 24*4882a593Smuzhiyun vaux2, vaux33, vmmc, vbb 25*4882a593Smuzhiyun tps65911: vrtc, vio, vdd1, vdd2, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5, 26*4882a593Smuzhiyun ldo6, ldo7, ldo8 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun- xxx-supply: Input voltage supply regulator. 29*4882a593Smuzhiyun These entries are required if regulators are enabled for a device. Missing these 30*4882a593Smuzhiyun properties can cause the regulator registration to fail. 31*4882a593Smuzhiyun If some of input supply is powered through battery or always-on supply then 32*4882a593Smuzhiyun also it is require to have these parameters with proper node handle of always 33*4882a593Smuzhiyun on power supply. 34*4882a593Smuzhiyun tps65910: 35*4882a593Smuzhiyun vcc1-supply: VDD1 input. 36*4882a593Smuzhiyun vcc2-supply: VDD2 input. 37*4882a593Smuzhiyun vcc3-supply: VAUX33 and VMMC input. 38*4882a593Smuzhiyun vcc4-supply: VAUX1 and VAUX2 input. 39*4882a593Smuzhiyun vcc5-supply: VPLL and VDAC input. 40*4882a593Smuzhiyun vcc6-supply: VDIG1 and VDIG2 input. 41*4882a593Smuzhiyun vcc7-supply: VRTC and VBB input. 42*4882a593Smuzhiyun vccio-supply: VIO input. 43*4882a593Smuzhiyun tps65911: 44*4882a593Smuzhiyun vcc1-supply: VDD1 input. 45*4882a593Smuzhiyun vcc2-supply: VDD2 input. 46*4882a593Smuzhiyun vcc3-supply: LDO6, LDO7 and LDO8 input. 47*4882a593Smuzhiyun vcc4-supply: LDO5 input. 48*4882a593Smuzhiyun vcc5-supply: LDO3 and LDO4 input. 49*4882a593Smuzhiyun vcc6-supply: LDO1 and LDO2 input. 50*4882a593Smuzhiyun vcc7-supply: VRTC input. 51*4882a593Smuzhiyun vccio-supply: VIO input. 52*4882a593Smuzhiyun 53*4882a593SmuzhiyunOptional properties: 54*4882a593Smuzhiyun- ti,vmbch-threshold: (tps65911) main battery charged threshold 55*4882a593Smuzhiyun comparator. (see VMBCH_VSEL in TPS65910 datasheet) 56*4882a593Smuzhiyun- ti,vmbch2-threshold: (tps65911) main battery discharged threshold 57*4882a593Smuzhiyun comparator. (see VMBCH_VSEL in TPS65910 datasheet) 58*4882a593Smuzhiyun- ti,en-ck32k-xtal: enable external 32-kHz crystal oscillator (see CK32K_CTRL 59*4882a593Smuzhiyun in TPS6591X datasheet) 60*4882a593Smuzhiyun- ti,en-gpio-sleep: enable sleep control for gpios 61*4882a593Smuzhiyun There should be 9 entries here, one for each gpio. 62*4882a593Smuzhiyun- ti,system-power-controller: Telling whether or not this pmic is controlling 63*4882a593Smuzhiyun the system power. 64*4882a593Smuzhiyun- ti,sleep-enable: Enable SLEEP state. 65*4882a593Smuzhiyun- ti,sleep-keep-therm: Keep thermal monitoring on in sleep state. 66*4882a593Smuzhiyun- ti,sleep-keep-ck32k: Keep the 32KHz clock output on in sleep state. 67*4882a593Smuzhiyun- ti,sleep-keep-hsclk: Keep high speed internal clock on in sleep state. 68*4882a593Smuzhiyun 69*4882a593SmuzhiyunRegulator Optional properties: 70*4882a593Smuzhiyun- ti,regulator-ext-sleep-control: enable external sleep 71*4882a593Smuzhiyun control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)] 72*4882a593Smuzhiyun If this property is not defined, it defaults to 0 (not enabled). 73*4882a593Smuzhiyun 74*4882a593SmuzhiyunExample: 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun pmu: tps65910@d2 { 77*4882a593Smuzhiyun compatible = "ti,tps65910"; 78*4882a593Smuzhiyun reg = <0xd2>; 79*4882a593Smuzhiyun interrupt-parent = <&intc>; 80*4882a593Smuzhiyun interrupts = < 0 118 0x04 >; 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun #gpio-cells = <2>; 83*4882a593Smuzhiyun gpio-controller; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun #interrupt-cells = <2>; 86*4882a593Smuzhiyun interrupt-controller; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun ti,system-power-controller; 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun ti,vmbch-threshold = 0; 91*4882a593Smuzhiyun ti,vmbch2-threshold = 0; 92*4882a593Smuzhiyun ti,en-ck32k-xtal; 93*4882a593Smuzhiyun ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>; 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun vcc1-supply = <®_parent>; 96*4882a593Smuzhiyun vcc2-supply = <&some_reg>; 97*4882a593Smuzhiyun vcc3-supply = <...>; 98*4882a593Smuzhiyun vcc4-supply = <...>; 99*4882a593Smuzhiyun vcc5-supply = <...>; 100*4882a593Smuzhiyun vcc6-supply = <...>; 101*4882a593Smuzhiyun vcc7-supply = <...>; 102*4882a593Smuzhiyun vccio-supply = <...>; 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun regulators { 105*4882a593Smuzhiyun #address-cells = <1>; 106*4882a593Smuzhiyun #size-cells = <0>; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun vdd1_reg: regulator@0 { 109*4882a593Smuzhiyun regulator-compatible = "vdd1"; 110*4882a593Smuzhiyun reg = <0>; 111*4882a593Smuzhiyun regulator-min-microvolt = < 600000>; 112*4882a593Smuzhiyun regulator-max-microvolt = <1500000>; 113*4882a593Smuzhiyun regulator-always-on; 114*4882a593Smuzhiyun regulator-boot-on; 115*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <0>; 116*4882a593Smuzhiyun }; 117*4882a593Smuzhiyun vdd2_reg: regulator@1 { 118*4882a593Smuzhiyun regulator-compatible = "vdd2"; 119*4882a593Smuzhiyun reg = <1>; 120*4882a593Smuzhiyun regulator-min-microvolt = < 600000>; 121*4882a593Smuzhiyun regulator-max-microvolt = <1500000>; 122*4882a593Smuzhiyun regulator-always-on; 123*4882a593Smuzhiyun regulator-boot-on; 124*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <4>; 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun vddctrl_reg: regulator@2 { 127*4882a593Smuzhiyun regulator-compatible = "vddctrl"; 128*4882a593Smuzhiyun reg = <2>; 129*4882a593Smuzhiyun regulator-min-microvolt = < 600000>; 130*4882a593Smuzhiyun regulator-max-microvolt = <1400000>; 131*4882a593Smuzhiyun regulator-always-on; 132*4882a593Smuzhiyun regulator-boot-on; 133*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <0>; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun vio_reg: regulator@3 { 136*4882a593Smuzhiyun regulator-compatible = "vio"; 137*4882a593Smuzhiyun reg = <3>; 138*4882a593Smuzhiyun regulator-min-microvolt = <1500000>; 139*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 140*4882a593Smuzhiyun regulator-always-on; 141*4882a593Smuzhiyun regulator-boot-on; 142*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <1>; 143*4882a593Smuzhiyun }; 144*4882a593Smuzhiyun ldo1_reg: regulator@4 { 145*4882a593Smuzhiyun regulator-compatible = "ldo1"; 146*4882a593Smuzhiyun reg = <4>; 147*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 148*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 149*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <0>; 150*4882a593Smuzhiyun }; 151*4882a593Smuzhiyun ldo2_reg: regulator@5 { 152*4882a593Smuzhiyun regulator-compatible = "ldo2"; 153*4882a593Smuzhiyun reg = <5>; 154*4882a593Smuzhiyun regulator-min-microvolt = <1050000>; 155*4882a593Smuzhiyun regulator-max-microvolt = <1050000>; 156*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <0>; 157*4882a593Smuzhiyun }; 158*4882a593Smuzhiyun ldo3_reg: regulator@6 { 159*4882a593Smuzhiyun regulator-compatible = "ldo3"; 160*4882a593Smuzhiyun reg = <6>; 161*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 162*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 163*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <0>; 164*4882a593Smuzhiyun }; 165*4882a593Smuzhiyun ldo4_reg: regulator@7 { 166*4882a593Smuzhiyun regulator-compatible = "ldo4"; 167*4882a593Smuzhiyun reg = <7>; 168*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 169*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 170*4882a593Smuzhiyun regulator-always-on; 171*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <0>; 172*4882a593Smuzhiyun }; 173*4882a593Smuzhiyun ldo5_reg: regulator@8 { 174*4882a593Smuzhiyun regulator-compatible = "ldo5"; 175*4882a593Smuzhiyun reg = <8>; 176*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 177*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 178*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <0>; 179*4882a593Smuzhiyun }; 180*4882a593Smuzhiyun ldo6_reg: regulator@9 { 181*4882a593Smuzhiyun regulator-compatible = "ldo6"; 182*4882a593Smuzhiyun reg = <9>; 183*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 184*4882a593Smuzhiyun regulator-max-microvolt = <1200000>; 185*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <0>; 186*4882a593Smuzhiyun }; 187*4882a593Smuzhiyun ldo7_reg: regulator@10 { 188*4882a593Smuzhiyun regulator-compatible = "ldo7"; 189*4882a593Smuzhiyun reg = <10>; 190*4882a593Smuzhiyun regulator-min-microvolt = <1200000>; 191*4882a593Smuzhiyun regulator-max-microvolt = <1200000>; 192*4882a593Smuzhiyun regulator-always-on; 193*4882a593Smuzhiyun regulator-boot-on; 194*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <1>; 195*4882a593Smuzhiyun }; 196*4882a593Smuzhiyun ldo8_reg: regulator@11 { 197*4882a593Smuzhiyun regulator-compatible = "ldo8"; 198*4882a593Smuzhiyun reg = <11>; 199*4882a593Smuzhiyun regulator-min-microvolt = <1000000>; 200*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 201*4882a593Smuzhiyun regulator-always-on; 202*4882a593Smuzhiyun ti,regulator-ext-sleep-control = <1>; 203*4882a593Smuzhiyun }; 204*4882a593Smuzhiyun }; 205*4882a593Smuzhiyun }; 206