-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'regulator-3.8' of git://git.kernel.org/pub/scm/linux/kerne…
…l/git/broonie/regulator Pull regulator updates from Mark Brown: "A fairly quiet release again, a couple of relatively small new features and a bunch of driver specific work including yet more code elimination and fixes from Axel Lin. - Addidion of linear_min_sel for offsetting linear selectors in the helpers. - Support for continuous voltage ranges for regulators with extremely high resolution. - Drivers for AS3711, DA9055, MAX9873, TPS51632, TPS80031 and ARM vexpress." Fix up trivial conflict (due to typo fix) in palmas-regulator.c * tag 'regulator-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (80 commits) regulator: core: Fix logic to determinate if regulator can change voltage regulator: s5m8767: Fix to work even if no DVS gpio present regulator: s5m8767: Fix to read the first DVS register. regulator: s5m8767: Fix to work when platform registers less regulators regulator: gpio-regulator: gpio_set_value should use cansleep regulator: gpio-regulator: Fix logical error in for() loop regulator: anatop: Use regulator_[get|set]_voltage_sel_regmap regulator: anatop: Use linear_min_sel with linear mapping regulator: max1586: Implement get_voltage_sel callback regulator: lp8788-buck: Kill _gpio_request function regulator: tps80031: Convert tps80031_ldo_ops to linear_min_sel and list_voltage_linear regulator: lp8788-ldo: Remove val array in lp8788_config_ldo_enable_mode regulator: gpio-regulator: Add ifdef CONFIG_OF guard for regulator_gpio_of_match regulator: palmas: Convert palmas_ops_smps to regulator_[get|set]_voltage_sel_regmap regulator: palmas: Return raw register values as the selectors in [get|set]_voltage_sel regulators: add regulator_can_change_voltage() function regulator: tps51632: Ensure [base|max]_voltage_uV pdata settings are valid regulator: wm831x-dcdc: Add MODULE_ALIAS for wm831x-boostp regulator: wm831x-dcdc: Ensure selected voltage falls within requested range regulator: tps51632: Use linear_min_sel and regulator_[map|list]_voltage_linear ...
- Loading branch information
Showing
85 changed files
with
4,772 additions
and
775 deletions.
There are no files selected for viewing
37 changes: 37 additions & 0 deletions
37
Documentation/devicetree/bindings/regulator/gpio-regulator.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
GPIO controlled regulators | ||
|
||
Required properties: | ||
- compatible : Must be "regulator-gpio". | ||
- states : Selection of available voltages and GPIO configs. | ||
if there are no states, then use a fixed regulator | ||
|
||
Optional properties: | ||
- enable-gpio : GPIO to use to enable/disable the regulator. | ||
- gpios : GPIO group used to control voltage. | ||
- startup-delay-us : Startup time in microseconds. | ||
- enable-active-high : Polarity of GPIO is active high (default is low). | ||
|
||
Any property defined as part of the core regulator binding defined in | ||
regulator.txt can also be used. | ||
|
||
Example: | ||
|
||
mmciv: gpio-regulator { | ||
compatible = "regulator-gpio"; | ||
|
||
regulator-name = "mmci-gpio-supply"; | ||
regulator-min-microvolt = <1800000>; | ||
regulator-max-microvolt = <2600000>; | ||
regulator-boot-on; | ||
|
||
enable-gpio = <&gpio0 23 0x4>; | ||
gpios = <&gpio0 24 0x4 | ||
&gpio0 25 0x4>; | ||
states = <1800000 0x3 | ||
2200000 0x2 | ||
2600000 0x1 | ||
2900000 0x0>; | ||
|
||
startup-delay-us = <100000>; | ||
enable-active-high; | ||
}; |
40 changes: 40 additions & 0 deletions
40
Documentation/devicetree/bindings/regulator/max8925-regulator.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
Max8925 Voltage regulators | ||
|
||
Required nodes: | ||
-nodes: | ||
- SDV1 for SDV SDV1 | ||
- SDV2 for SDV SDV2 | ||
- SDV3 for SDV SDV3 | ||
- LDO1 for LDO LDO1 | ||
- LDO2 for LDO LDO2 | ||
- LDO3 for LDO LDO3 | ||
- LDO4 for LDO LDO4 | ||
- LDO5 for LDO LDO5 | ||
- LDO6 for LDO LDO6 | ||
- LDO7 for LDO LDO7 | ||
- LDO8 for LDO LDO8 | ||
- LDO9 for LDO LDO9 | ||
- LDO10 for LDO LDO10 | ||
- LDO11 for LDO LDO11 | ||
- LDO12 for LDO LDO12 | ||
- LDO13 for LDO LDO13 | ||
- LDO14 for LDO LDO14 | ||
- LDO15 for LDO LDO15 | ||
- LDO16 for LDO LDO16 | ||
- LDO17 for LDO LDO17 | ||
- LDO18 for LDO LDO18 | ||
- LDO19 for LDO LDO19 | ||
- LDO20 for LDO LDO20 | ||
|
||
Optional properties: | ||
- Any optional property defined in bindings/regulator/regulator.txt | ||
|
||
Example: | ||
|
||
SDV1 { | ||
regulator-min-microvolt = <637500>; | ||
regulator-max-microvolt = <1425000>; | ||
regulator-boot-on; | ||
regulator-always-on; | ||
}; | ||
|
146 changes: 146 additions & 0 deletions
146
Documentation/devicetree/bindings/regulator/max8997-regulator.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
* Maxim MAX8997 Voltage and Current Regulator | ||
|
||
The Maxim MAX8997 is a multi-function device which includes volatage and | ||
current regulators, rtc, charger controller and other sub-blocks. It is | ||
interfaced to the host controller using a i2c interface. Each sub-block is | ||
addressed by the host system using different i2c slave address. This document | ||
describes the bindings for 'pmic' sub-block of max8997. | ||
|
||
Required properties: | ||
- compatible: Should be "maxim,max8997-pmic". | ||
- reg: Specifies the i2c slave address of the pmic block. It should be 0x66. | ||
|
||
- max8997,pmic-buck1-dvs-voltage: A set of 8 voltage values in micro-volt (uV) | ||
units for buck1 when changing voltage using gpio dvs. Refer to [1] below | ||
for additional information. | ||
|
||
- max8997,pmic-buck2-dvs-voltage: A set of 8 voltage values in micro-volt (uV) | ||
units for buck2 when changing voltage using gpio dvs. Refer to [1] below | ||
for additional information. | ||
|
||
- max8997,pmic-buck5-dvs-voltage: A set of 8 voltage values in micro-volt (uV) | ||
units for buck5 when changing voltage using gpio dvs. Refer to [1] below | ||
for additional information. | ||
|
||
[1] If none of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional | ||
property is specified, the 'max8997,pmic-buck[1/2/5]-dvs-voltage' | ||
property should specify atleast one voltage level (which would be a | ||
safe operating voltage). | ||
|
||
If either of the 'max8997,pmic-buck[1/2/5]-uses-gpio-dvs' optional | ||
property is specified, then all the eigth voltage values for the | ||
'max8997,pmic-buck[1/2/5]-dvs-voltage' should be specified. | ||
|
||
Optional properties: | ||
- interrupt-parent: Specifies the phandle of the interrupt controller to which | ||
the interrupts from max8997 are delivered to. | ||
- interrupts: Interrupt specifiers for two interrupt sources. | ||
- First interrupt specifier is for 'irq1' interrupt. | ||
- Second interrupt specifier is for 'alert' interrupt. | ||
- max8997,pmic-buck1-uses-gpio-dvs: 'buck1' can be controlled by gpio dvs. | ||
- max8997,pmic-buck2-uses-gpio-dvs: 'buck2' can be controlled by gpio dvs. | ||
- max8997,pmic-buck5-uses-gpio-dvs: 'buck5' can be controlled by gpio dvs. | ||
|
||
Additional properties required if either of the optional properties are used: | ||
- max8997,pmic-ignore-gpiodvs-side-effect: When GPIO-DVS mode is used for | ||
multiple bucks, changing the voltage value of one of the bucks may affect | ||
that of another buck, which is the side effect of the change (set_voltage). | ||
Use this property to ignore such side effects and change the voltage. | ||
|
||
- max8997,pmic-buck125-default-dvs-idx: Default voltage setting selected from | ||
the possible 8 options selectable by the dvs gpios. The value of this | ||
property should be between 0 and 7. If not specified or if out of range, the | ||
default value of this property is set to 0. | ||
|
||
- max8997,pmic-buck125-dvs-gpios: GPIO specifiers for three host gpio's used | ||
for dvs. The format of the gpio specifier depends in the gpio controller. | ||
|
||
Regulators: The regulators of max8997 that have to be instantiated should be | ||
included in a sub-node named 'regulators'. Regulator nodes included in this | ||
sub-node should be of the format as listed below. | ||
|
||
regulator_name { | ||
standard regulator bindings here | ||
}; | ||
|
||
The following are the names of the regulators that the max8997 pmic block | ||
supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number | ||
as per the datasheet of max8997. | ||
|
||
- LDOn | ||
- valid values for n are 1 to 18 and 21 | ||
- Example: LDO0, LD01, LDO2, LDO21 | ||
- BUCKn | ||
- valid values for n are 1 to 7. | ||
- Example: BUCK1, BUCK2, BUCK3, BUCK7 | ||
|
||
- ENVICHG: Battery Charging Current Monitor Output. This is a fixed | ||
voltage type regulator | ||
|
||
- ESAFEOUT1: (ldo19) | ||
- ESAFEOUT2: (ld020) | ||
|
||
- CHARGER_CV: main battery charger voltage control | ||
- CHARGER: main battery charger current control | ||
- CHARGER_TOPOFF: end of charge current threshold level | ||
|
||
The bindings inside the regulator nodes use the standard regulator bindings | ||
which are documented elsewhere. | ||
|
||
Example: | ||
|
||
max8997_pmic@66 { | ||
compatible = "maxim,max8997-pmic"; | ||
interrupt-parent = <&wakeup_eint>; | ||
reg = <0x66>; | ||
interrupts = <4 0>, <3 0>; | ||
|
||
max8997,pmic-buck1-uses-gpio-dvs; | ||
max8997,pmic-buck2-uses-gpio-dvs; | ||
max8997,pmic-buck5-uses-gpio-dvs; | ||
|
||
max8997,pmic-ignore-gpiodvs-side-effect; | ||
max8997,pmic-buck125-default-dvs-idx = <0>; | ||
|
||
max8997,pmic-buck125-dvs-gpios = <&gpx0 0 1 0 0>, /* SET1 */ | ||
<&gpx0 1 1 0 0>, /* SET2 */ | ||
<&gpx0 2 1 0 0>; /* SET3 */ | ||
|
||
max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, | ||
<1250000>, <1200000>, | ||
<1150000>, <1100000>, | ||
<1000000>, <950000>; | ||
|
||
max8997,pmic-buck2-dvs-voltage = <1100000>, <1100000>, | ||
<1100000>, <1100000>, | ||
<1000000>, <1000000>, | ||
<1000000>, <1000000>; | ||
|
||
max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>, | ||
<1200000>, <1200000>, | ||
<1200000>, <1200000>, | ||
<1200000>, <1200000>; | ||
|
||
regulators { | ||
ldo1_reg: LDO1 { | ||
regulator-name = "VDD_ABB_3.3V"; | ||
regulator-min-microvolt = <3300000>; | ||
regulator-max-microvolt = <3300000>; | ||
}; | ||
|
||
ldo2_reg: LDO2 { | ||
regulator-name = "VDD_ALIVE_1.1V"; | ||
regulator-min-microvolt = <1100000>; | ||
regulator-max-microvolt = <1100000>; | ||
regulator-always-on; | ||
}; | ||
|
||
buck1_reg: BUCK1 { | ||
regulator-name = "VDD_ARM_1.2V"; | ||
regulator-min-microvolt = <950000>; | ||
regulator-max-microvolt = <1350000>; | ||
regulator-always-on; | ||
regulator-boot-on; | ||
}; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
Versatile Express voltage regulators | ||
------------------------------------ | ||
|
||
Requires node properties: | ||
- "compatible" value: "arm,vexpress-volt" | ||
- "arm,vexpress-sysreg,func" when controlled via vexpress-sysreg | ||
(see Documentation/devicetree/bindings/arm/vexpress-sysreg.txt | ||
for more details) | ||
|
||
Required regulator properties: | ||
- "regulator-name" | ||
- "regulator-always-on" | ||
|
||
Optional regulator properties: | ||
- "regulator-min-microvolt" | ||
- "regulator-max-microvolt" | ||
|
||
See Documentation/devicetree/bindings/regulator/regulator.txt | ||
for more details about the regulator properties. | ||
|
||
When no "regulator-[min|max]-microvolt" properties are defined, | ||
the device is treated as fixed (or rather "read-only") regulator. | ||
|
||
Example: | ||
volt@0 { | ||
compatible = "arm,vexpress-volt"; | ||
arm,vexpress-sysreg,func = <2 0>; | ||
regulator-name = "Cores"; | ||
regulator-min-microvolt = <800000>; | ||
regulator-max-microvolt = <1050000>; | ||
regulator-always-on; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.