Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [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 |
Yegor Yefremov | 3bf0e9e0b | 2014-03-10 12:55:36 +0100 | [diff] [blame] | 14 | Documentation/devicetree/bindings/interrupt-controller/interrupts.txt |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 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. |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 20 | The regulator is matched with the regulator-compatible. |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 21 | |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 22 | The valid regulator-compatible values are: |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 23 | tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1, |
Markus Pargmann | 03746dc | 2013-12-20 12:43:27 +0100 | [diff] [blame] | 24 | vaux2, vaux33, vmmc, vbb |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 25 | tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5, |
| 26 | ldo6, ldo7, ldo8 |
| 27 | |
Laxman Dewangan | 19228a6 | 2012-07-06 14:13:12 +0530 | [diff] [blame] | 28 | - xxx-supply: Input voltage supply regulator. |
Laxman Dewangan | d2cfdb0 | 2012-07-17 11:34:06 +0530 | [diff] [blame] | 29 | These entries are require if regulators are enabled for a device. Missing of these |
| 30 | properties can cause the regulator registration fails. |
| 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. |
Laxman Dewangan | 19228a6 | 2012-07-06 14:13:12 +0530 | [diff] [blame] | 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. |
Markus Pargmann | 03746dc | 2013-12-20 12:43:27 +0100 | [diff] [blame] | 41 | vcc7-supply: VRTC and VBB input. |
Laxman Dewangan | 19228a6 | 2012-07-06 14:13:12 +0530 | [diff] [blame] | 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. |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 52 | |
Laxman Dewangan | d2cfdb0 | 2012-07-17 11:34:06 +0530 | [diff] [blame] | 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. |
Bill Huang | b079fa72 | 2012-08-19 18:07:56 -0700 | [diff] [blame] | 62 | - ti,system-power-controller: Telling whether or not this pmic is controlling |
| 63 | the system power. |
Laxman Dewangan | d2cfdb0 | 2012-07-17 11:34:06 +0530 | [diff] [blame] | 64 | |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 65 | Regulator Optional properties: |
| 66 | - ti,regulator-ext-sleep-control: enable external sleep |
| 67 | control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)] |
| 68 | If this property is not defined, it defaults to 0 (not enabled). |
| 69 | |
| 70 | Example: |
| 71 | |
| 72 | pmu: tps65910@d2 { |
| 73 | compatible = "ti,tps65910"; |
| 74 | reg = <0xd2>; |
| 75 | interrupt-parent = <&intc>; |
| 76 | interrupts = < 0 118 0x04 >; |
| 77 | |
| 78 | #gpio-cells = <2>; |
| 79 | gpio-controller; |
| 80 | |
| 81 | #interrupt-cells = <2>; |
| 82 | interrupt-controller; |
| 83 | |
Bill Huang | b079fa72 | 2012-08-19 18:07:56 -0700 | [diff] [blame] | 84 | ti,system-power-controller; |
| 85 | |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 86 | ti,vmbch-threshold = 0; |
| 87 | ti,vmbch2-threshold = 0; |
Johan Hovold | bcc1dd4 | 2012-06-28 12:20:22 +0200 | [diff] [blame] | 88 | ti,en-ck32k-xtal; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 89 | ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>; |
| 90 | |
Laxman Dewangan | 19228a6 | 2012-07-06 14:13:12 +0530 | [diff] [blame] | 91 | vcc1-supply = <®_parent>; |
Laxman Dewangan | d2cfdb0 | 2012-07-17 11:34:06 +0530 | [diff] [blame] | 92 | vcc2-supply = <&some_reg>; |
| 93 | vcc3-supply = <...>; |
| 94 | vcc4-supply = <...>; |
| 95 | vcc5-supply = <...>; |
| 96 | vcc6-supply = <...>; |
| 97 | vcc7-supply = <...>; |
| 98 | vccio-supply = <...>; |
Laxman Dewangan | 19228a6 | 2012-07-06 14:13:12 +0530 | [diff] [blame] | 99 | |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 100 | regulators { |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 101 | #address-cells = <1>; |
| 102 | #size-cells = <0>; |
| 103 | |
| 104 | vdd1_reg: regulator@0 { |
| 105 | regulator-compatible = "vdd1"; |
| 106 | reg = <0>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 107 | regulator-min-microvolt = < 600000>; |
| 108 | regulator-max-microvolt = <1500000>; |
| 109 | regulator-always-on; |
| 110 | regulator-boot-on; |
| 111 | ti,regulator-ext-sleep-control = <0>; |
| 112 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 113 | vdd2_reg: regulator@1 { |
| 114 | regulator-compatible = "vdd2"; |
| 115 | reg = <1>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 116 | regulator-min-microvolt = < 600000>; |
| 117 | regulator-max-microvolt = <1500000>; |
| 118 | regulator-always-on; |
| 119 | regulator-boot-on; |
| 120 | ti,regulator-ext-sleep-control = <4>; |
| 121 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 122 | vddctrl_reg: regulator@2 { |
| 123 | regulator-compatible = "vddctrl"; |
| 124 | reg = <2>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 125 | regulator-min-microvolt = < 600000>; |
| 126 | regulator-max-microvolt = <1400000>; |
| 127 | regulator-always-on; |
| 128 | regulator-boot-on; |
| 129 | ti,regulator-ext-sleep-control = <0>; |
| 130 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 131 | vio_reg: regulator@3 { |
| 132 | regulator-compatible = "vio"; |
| 133 | reg = <3>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 134 | regulator-min-microvolt = <1500000>; |
| 135 | regulator-max-microvolt = <1800000>; |
| 136 | regulator-always-on; |
| 137 | regulator-boot-on; |
| 138 | ti,regulator-ext-sleep-control = <1>; |
| 139 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 140 | ldo1_reg: regulator@4 { |
| 141 | regulator-compatible = "ldo1"; |
| 142 | reg = <4>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 143 | regulator-min-microvolt = <1000000>; |
| 144 | regulator-max-microvolt = <3300000>; |
| 145 | ti,regulator-ext-sleep-control = <0>; |
| 146 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 147 | ldo2_reg: regulator@5 { |
| 148 | regulator-compatible = "ldo2"; |
| 149 | reg = <5>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 150 | regulator-min-microvolt = <1050000>; |
| 151 | regulator-max-microvolt = <1050000>; |
| 152 | ti,regulator-ext-sleep-control = <0>; |
| 153 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 154 | ldo3_reg: regulator@6 { |
| 155 | regulator-compatible = "ldo3"; |
| 156 | reg = <6>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 157 | regulator-min-microvolt = <1000000>; |
| 158 | regulator-max-microvolt = <3300000>; |
| 159 | ti,regulator-ext-sleep-control = <0>; |
| 160 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 161 | ldo4_reg: regulator@7 { |
| 162 | regulator-compatible = "ldo4"; |
| 163 | reg = <7>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 164 | regulator-min-microvolt = <1000000>; |
| 165 | regulator-max-microvolt = <3300000>; |
| 166 | regulator-always-on; |
| 167 | ti,regulator-ext-sleep-control = <0>; |
| 168 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 169 | ldo5_reg: regulator@8 { |
| 170 | regulator-compatible = "ldo5"; |
| 171 | reg = <8>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 172 | regulator-min-microvolt = <1000000>; |
| 173 | regulator-max-microvolt = <3300000>; |
| 174 | ti,regulator-ext-sleep-control = <0>; |
| 175 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 176 | ldo6_reg: regulator@9 { |
| 177 | regulator-compatible = "ldo6"; |
| 178 | reg = <9>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 179 | regulator-min-microvolt = <1200000>; |
| 180 | regulator-max-microvolt = <1200000>; |
| 181 | ti,regulator-ext-sleep-control = <0>; |
| 182 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 183 | ldo7_reg: regulator@10 { |
| 184 | regulator-compatible = "ldo7"; |
| 185 | reg = <10>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 186 | regulator-min-microvolt = <1200000>; |
| 187 | regulator-max-microvolt = <1200000>; |
| 188 | regulator-always-on; |
| 189 | regulator-boot-on; |
| 190 | ti,regulator-ext-sleep-control = <1>; |
| 191 | }; |
Laxman Dewangan | 8c5e461 | 2012-07-05 12:53:04 +0530 | [diff] [blame] | 192 | ldo8_reg: regulator@11 { |
| 193 | regulator-compatible = "ldo8"; |
| 194 | reg = <11>; |
Rhyland Klein | 1291aa4 | 2012-05-08 11:42:39 -0700 | [diff] [blame] | 195 | regulator-min-microvolt = <1000000>; |
| 196 | regulator-max-microvolt = <3300000>; |
| 197 | regulator-always-on; |
| 198 | ti,regulator-ext-sleep-control = <1>; |
| 199 | }; |
| 200 | }; |
| 201 | }; |