diff options
38 files changed, 3105 insertions, 808 deletions
diff --git a/Documentation/devicetree/bindings/mfd/palmas.txt b/Documentation/devicetree/bindings/mfd/palmas.txt index e5f0f8303461..eda898978d33 100644 --- a/Documentation/devicetree/bindings/mfd/palmas.txt +++ b/Documentation/devicetree/bindings/mfd/palmas.txt | |||
| @@ -6,6 +6,7 @@ twl6037 (palmas) | |||
| 6 | tps65913 (palmas) | 6 | tps65913 (palmas) |
| 7 | tps65914 (palmas) | 7 | tps65914 (palmas) |
| 8 | tps659038 | 8 | tps659038 |
| 9 | tps65917 | ||
| 9 | 10 | ||
| 10 | Required properties: | 11 | Required properties: |
| 11 | - compatible : Should be from the list | 12 | - compatible : Should be from the list |
| @@ -16,6 +17,7 @@ Required properties: | |||
| 16 | ti,tps65914 | 17 | ti,tps65914 |
| 17 | ti,tps80036 | 18 | ti,tps80036 |
| 18 | ti,tps659038 | 19 | ti,tps659038 |
| 20 | ti,tps65917 | ||
| 19 | and also the generic series names | 21 | and also the generic series names |
| 20 | ti,palmas | 22 | ti,palmas |
| 21 | - interrupt-controller : palmas has its own internal IRQs | 23 | - interrupt-controller : palmas has its own internal IRQs |
diff --git a/Documentation/devicetree/bindings/regulator/act8865-regulator.txt b/Documentation/devicetree/bindings/regulator/act8865-regulator.txt index bef1fbb647ca..865614b34d6f 100644 --- a/Documentation/devicetree/bindings/regulator/act8865-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/act8865-regulator.txt | |||
| @@ -1,13 +1,16 @@ | |||
| 1 | ACT8865 regulator | 1 | ACT88xx regulators |
| 2 | ------------------- | 2 | ------------------- |
| 3 | 3 | ||
| 4 | Required properties: | 4 | Required properties: |
| 5 | - compatible: "active-semi,act8865" | 5 | - compatible: "active-semi,act8846" or "active-semi,act8865" |
| 6 | - reg: I2C slave address | 6 | - reg: I2C slave address |
| 7 | 7 | ||
| 8 | Any standard regulator properties can be used to configure the single regulator. | 8 | Any standard regulator properties can be used to configure the single regulator. |
| 9 | 9 | ||
| 10 | The valid names for regulators are: | 10 | The valid names for regulators are: |
| 11 | - for act8846: | ||
| 12 | REG1, REG2, REG3, REG4, REG5, REG6, REG7, REG8, REG9, REG10, REG11, REG12 | ||
| 13 | - for act8865: | ||
| 11 | DCDC_REG1, DCDC_REG2, DCDC_REG3, LDO_REG1, LDO_REG2, LDO_REG3, LDO_REG4. | 14 | DCDC_REG1, DCDC_REG2, DCDC_REG3, LDO_REG1, LDO_REG2, LDO_REG3, LDO_REG4. |
| 12 | 15 | ||
| 13 | Example: | 16 | Example: |
diff --git a/Documentation/devicetree/bindings/regulator/palmas-pmic.txt b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt index 42e6b6bc48ff..725393c8a7f2 100644 --- a/Documentation/devicetree/bindings/regulator/palmas-pmic.txt +++ b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt | |||
| @@ -7,6 +7,7 @@ Required properties: | |||
| 7 | ti,twl6037-pmic | 7 | ti,twl6037-pmic |
| 8 | ti,tps65913-pmic | 8 | ti,tps65913-pmic |
| 9 | ti,tps65914-pmic | 9 | ti,tps65914-pmic |
| 10 | ti,tps65917-pmic | ||
| 10 | and also the generic series names | 11 | and also the generic series names |
| 11 | ti,palmas-pmic | 12 | ti,palmas-pmic |
| 12 | - interrupt-parent : The parent interrupt controller which is palmas. | 13 | - interrupt-parent : The parent interrupt controller which is palmas. |
diff --git a/Documentation/devicetree/bindings/regulator/tps65218.txt b/Documentation/devicetree/bindings/regulator/tps65218.txt new file mode 100644 index 000000000000..fccc1d24af58 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/tps65218.txt | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | TPS65218 family of regulators | ||
| 2 | |||
| 3 | Required properties: | ||
| 4 | For tps65218 regulators/LDOs | ||
| 5 | - compatible: | ||
| 6 | - "ti,tps65218-dcdc1" for DCDC1 | ||
| 7 | - "ti,tps65218-dcdc2" for DCDC2 | ||
| 8 | - "ti,tps65218-dcdc3" for DCDC3 | ||
| 9 | - "ti,tps65218-dcdc4" for DCDC4 | ||
| 10 | - "ti,tps65218-dcdc5" for DCDC5 | ||
| 11 | - "ti,tps65218-dcdc6" for DCDC6 | ||
| 12 | - "ti,tps65218-ldo1" for LDO1 | ||
| 13 | |||
| 14 | Optional properties: | ||
| 15 | - Any optional property defined in bindings/regulator/regulator.txt | ||
| 16 | |||
| 17 | Example: | ||
| 18 | |||
| 19 | xyz: regulator@0 { | ||
| 20 | compatible = "ti,tps65218-dcdc1"; | ||
| 21 | regulator-min-microvolt = <1000000>; | ||
| 22 | regulator-max-microvolt = <3000000>; | ||
| 23 | }; | ||
diff --git a/Documentation/power/regulator/consumer.txt b/Documentation/power/regulator/consumer.txt index 55c4175d8099..81c0e2b49cd8 100644 --- a/Documentation/power/regulator/consumer.txt +++ b/Documentation/power/regulator/consumer.txt | |||
| @@ -180,3 +180,38 @@ int regulator_unregister_notifier(struct regulator *regulator, | |||
| 180 | 180 | ||
| 181 | Regulators use the kernel notifier framework to send event to their interested | 181 | Regulators use the kernel notifier framework to send event to their interested |
| 182 | consumers. | 182 | consumers. |
| 183 | |||
| 184 | 7. Regulator Direct Register Access | ||
| 185 | =================================== | ||
| 186 | Some kinds of power management hardware or firmware are designed such that | ||
| 187 | they need to do low-level hardware access to regulators, with no involvement | ||
| 188 | from the kernel. Examples of such devices are: | ||
| 189 | |||
| 190 | - clocksource with a voltage-controlled oscillator and control logic to change | ||
| 191 | the supply voltage over I2C to achieve a desired output clock rate | ||
| 192 | - thermal management firmware that can issue an arbitrary I2C transaction to | ||
| 193 | perform system poweroff during overtemperature conditions | ||
| 194 | |||
| 195 | To set up such a device/firmware, various parameters like I2C address of the | ||
| 196 | regulator, addresses of various regulator registers etc. need to be configured | ||
| 197 | to it. The regulator framework provides the following helpers for querying | ||
| 198 | these details. | ||
| 199 | |||
| 200 | Bus-specific details, like I2C addresses or transfer rates are handled by the | ||
| 201 | regmap framework. To get the regulator's regmap (if supported), use :- | ||
| 202 | |||
| 203 | struct regmap *regulator_get_regmap(struct regulator *regulator); | ||
| 204 | |||
| 205 | To obtain the hardware register offset and bitmask for the regulator's voltage | ||
| 206 | selector register, use :- | ||
| 207 | |||
| 208 | int regulator_get_hardware_vsel_register(struct regulator *regulator, | ||
| 209 | unsigned *vsel_reg, | ||
| 210 | unsigned *vsel_mask); | ||
| 211 | |||
| 212 | To convert a regulator framework voltage selector code (used by | ||
| 213 | regulator_list_voltage) to a hardware-specific voltage selector that can be | ||
| 214 | directly written to the voltage selector register, use :- | ||
| 215 | |||
