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