Skip to content

Commit 81e29b7

Browse files
committed
Merge tag 'regulator-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator updates from Mark Brown: "This time around most of the changes are a lot of new drivers along with the standard set of fixes and cleanups (thanks again largely to Axel Lin). We do have one nice new feature in the core which factors out the disappointingly tricky code around DT parsing, only a couple of drivers have been converted so far: - Factor out the code for parsing the standard bindings for a set of regulators out of DT, making the probe part of a lot of drivers simplier. - New drivers for Dialog DA9213, HiSilicon HI6420, Intersil ISL9305/H, Ricoh RN5T618, Rockchip RK808, Skyworks SKY81452, Silergy SYR82x, and Qualcomm RPM" * tag 'regulator-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (71 commits) regulator: da9211: Fix a bug in update of mask bit regulator: pwm-regulator: add devicetree bindings for pwm regulator regulator: pwm-regulator: get voltage and duty table from dts regulator: qcom_rpm: Fix FORCE_MODE_IS_2_BITS macro regulator: qcom_rpm: Don't explicitly initialise the first field of config regulator: ltc3589: fix broken voltage transitions regulator: qcom-rpm: Regulator driver for the Qualcomm RPM regulator: axp20x: Use parent device as regulator configuration device regulator: fan53555: Fix null pointer dereference regulator: fan53555: Fixup report wrong vendor message regulator: fan53555: fix wrong cast in probe regulator: fan53555: add support for Silergy SYR82x regulators regulator: fan53555: add devicetree support regulator: add devicetree bindings for Fairchild FAN53555 regulators regulator: rk808: Add function for ramp delay for buck1/buck2 regulator: fan53555: use set_ramp_delay to set the ramp up slew rate regulator: fan53555: enable vin supply regulator: rk808: Fix missing of_node_put regulator: rk808: Remove unused variables regulator: of: Add stub OF match function for !OF case ...
2 parents c831dd7 + ad21edc commit 81e29b7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+4320
-770
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
* Dialog Semiconductor DA9211/DA9213 Voltage Regulator
2+
3+
Required properties:
4+
- compatible: "dlg,da9211" or "dlg,da9213".
5+
- reg: I2C slave address, usually 0x68.
6+
- interrupts: the interrupt outputs of the controller
7+
- regulators: A node that houses a sub-node for each regulator within the
8+
device. Each sub-node is identified using the node's name, with valid
9+
values listed below. The content of each sub-node is defined by the
10+
standard binding for regulators; see regulator.txt.
11+
BUCKA and BUCKB.
12+
13+
Optional properties:
14+
- Any optional property defined in regulator.txt
15+
16+
Example 1) DA9211
17+
18+
pmic: da9211@68 {
19+
compatible = "dlg,da9211";
20+
reg = <0x68>;
21+
interrupts = <3 27>;
22+
23+
regulators {
24+
BUCKA {
25+
regulator-name = "VBUCKA";
26+
regulator-min-microvolt = < 300000>;
27+
regulator-max-microvolt = <1570000>;
28+
regulator-min-microamp = <2000000>;
29+
regulator-max-microamp = <5000000>;
30+
};
31+
BUCKB {
32+
regulator-name = "VBUCKB";
33+
regulator-min-microvolt = < 300000>;
34+
regulator-max-microvolt = <1570000>;
35+
regulator-min-microamp = <2000000>;
36+
regulator-max-microamp = <5000000>;
37+
};
38+
};
39+
};
40+
41+
Example 2) DA92113
42+
pmic: da9213@68 {
43+
compatible = "dlg,da9213";
44+
reg = <0x68>;
45+
interrupts = <3 27>;
46+
47+
regulators {
48+
BUCKA {
49+
regulator-name = "VBUCKA";
50+
regulator-min-microvolt = < 300000>;
51+
regulator-max-microvolt = <1570000>;
52+
regulator-min-microamp = <3000000>;
53+
regulator-max-microamp = <6000000>;
54+
};
55+
BUCKB {
56+
regulator-name = "VBUCKB";
57+
regulator-min-microvolt = < 300000>;
58+
regulator-max-microvolt = <1570000>;
59+
regulator-min-microamp = <3000000>;
60+
regulator-max-microamp = <6000000>;
61+
};
62+
};
63+
};
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Binding for Fairchild FAN53555 regulators
2+
3+
Required properties:
4+
- compatible: one of "fcs,fan53555", "silergy,syr827", "silergy,syr828"
5+
- reg: I2C address
6+
7+
Optional properties:
8+
- fcs,suspend-voltage-selector: declare which of the two available
9+
voltage selector registers should be used for the suspend
10+
voltage. The other one is used for the runtime voltage setting
11+
Possible values are either <0> or <1>
12+
- vin-supply: regulator supplying the vin pin
13+
14+
Example:
15+
16+
regulator@40 {
17+
compatible = "fcs,fan53555";
18+
regulator-name = "fan53555";
19+
regulator-min-microvolt = <1000000>;
20+
regulator-max-microvolt = <1800000>;
21+
vin-supply = <&parent_reg>;
22+
fcs,suspend-voltage-selector = <1>;
23+
};
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
Intersil ISL9305/ISL9305H voltage regulator
2+
3+
Required properties:
4+
5+
- compatible: "isl,isl9305" or "isl,isl9305h"
6+
- reg: I2C slave address, usually 0x68.
7+
- regulators: A node that houses a sub-node for each regulator within the
8+
device. Each sub-node is identified using the node's name, with valid
9+
values being "dcd1", "dcd2", "ldo1" and "ldo2". The content of each sub-node
10+
is defined by the standard binding for regulators; see regulator.txt.
11+
- VINDCD1-supply: A phandle to a regulator node supplying VINDCD1.
12+
VINDCD2-supply: A phandle to a regulator node supplying VINDCD2.
13+
VINLDO1-supply: A phandle to a regulator node supplying VINLDO1.
14+
VINLDO2-supply: A phandle to a regulator node supplying VINLDO2.
15+
16+
Optional properties:
17+
- Per-regulator optional properties are defined in regulator.txt
18+
19+
Example
20+
21+
pmic: isl9305@68 {
22+
compatible = "isl,isl9305";
23+
reg = <0x68>;
24+
25+
VINDCD1-supply = <&system_power>;
26+
VINDCD2-supply = <&system_power>;
27+
VINLDO1-supply = <&system_power>;
28+
VINLDO2-supply = <&system_power>;
29+
30+
regulators {
31+
dcd1 {
32+
regulator-name = "VDD_DSP";
33+
regulator-always-on;
34+
};
35+
};
36+
};
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
Maxim MAX1586 voltage regulator
2+
3+
Required properties:
4+
- compatible: must be "maxim,max1586"
5+
- reg: I2C slave address, usually 0x14
6+
- v3-gain: integer specifying the V3 gain as per datasheet
7+
(1 + R24/R25 + R24/185.5kOhm)
8+
- any required generic properties defined in regulator.txt
9+
10+
Example:
11+
12+
i2c_master {
13+
max1586@14 {
14+
compatible = "maxim,max1586";
15+
reg = <0x14>;
16+
v3-gain = <1000000>;
17+
18+
regulators {
19+
vcc_core: v3 {
20+
regulator-name = "vcc_core";
21+
regulator-compatible = "Output_V3";
22+
regulator-min-microvolt = <1000000>;
23+
regulator-max-microvolt = <1705000>;
24+
regulator-always-on;
25+
};
26+
};
27+
};
28+
};
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
Binding for Maxim MAX77802 regulators
2+
3+
This is a part of device tree bindings of MAX77802 multi-function device.
4+
More information can be found in bindings/mfd/max77802.txt file.
5+
6+
The MAX77802 PMIC has 10 high-efficiency Buck and 32 Low-dropout (LDO)
7+
regulators that can be controlled over I2C.
8+
9+
Following properties should be present in main device node of the MFD chip.
10+
11+
Optional node:
12+
- regulators : The regulators of max77802 have to be instantiated
13+
under subnode named "regulators" using the following format.
14+
15+
regulator-name {
16+
standard regulator constraints....
17+
};
18+
refer Documentation/devicetree/bindings/regulator/regulator.txt
19+
20+
The regulator node name should be initialized with a string to get matched
21+
with their hardware counterparts as follow. The valid names are:
22+
23+
-LDOn : for LDOs, where n can lie in ranges 1-15, 17-21, 23-30
24+
and 32-35.
25+
example: LDO1, LDO2, LDO35.
26+
-BUCKn : for BUCKs, where n can lie in range 1 to 10.
27+
example: BUCK1, BUCK5, BUCK10.
28+
Example:
29+
30+
max77802@09 {
31+
compatible = "maxim,max77802";
32+
interrupt-parent = <&wakeup_eint>;
33+
interrupts = <26 0>;
34+
reg = <0x09>;
35+
#address-cells = <1>;
36+
#size-cells = <0>;
37+
38+
regulators {
39+
ldo11_reg: LDO11 {
40+
regulator-name = "vdd_ldo11";
41+
regulator-min-microvolt = <1900000>;
42+
regulator-max-microvolt = <1900000>;
43+
regulator-always-on;
44+
};
45+
46+
buck1_reg: BUCK1 {
47+
regulator-name = "vdd_mif";
48+
regulator-min-microvolt = <950000>;
49+
regulator-max-microvolt = <1300000>;
50+
regulator-always-on;
51+
regulator-boot-on;
52+
};
53+
};
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
pwm regulator bindings
2+
3+
Required properties:
4+
- compatible: Should be "pwm-regulator"
5+
- pwms: OF device-tree PWM specification (see PWM binding pwm.txt)
6+
- voltage-table: voltage and duty table, include 2 members in each set of
7+
brackets, first one is voltage(unit: uv), the next is duty(unit: percent)
8+
9+
Any property defined as part of the core regulator binding defined in
10+
regulator.txt can also be used.
11+
12+
Example:
13+
pwm_regulator {
14+
compatible = "pwm-regulator;
15+
pwms = <&pwm1 0 8448 0>;
16+
17+
voltage-table = <1114000 0>,
18+
<1095000 10>,
19+
<1076000 20>,
20+
<1056000 30>,
21+
<1036000 40>,
22+
<1016000 50>;
23+
24+
regulator-min-microvolt = <1016000>;
25+
regulator-max-microvolt = <1114000>;
26+
regulator-name = "vdd_logic";
27+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
SKY81452 voltage regulator
2+
3+
Required properties:
4+
- any required generic properties defined in regulator.txt
5+
6+
Optional properties:
7+
- any available generic properties defined in regulator.txt
8+
9+
Example:
10+
11+
regulator {
12+
/* generic regulator properties */
13+
regulator-name = "touch_en";
14+
regulator-min-microvolt = <4500000>;
15+
regulator-max-microvolt = <8000000>;
16+
};

Documentation/devicetree/bindings/vendor-prefixes.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ epson Seiko Epson Corp.
4949
est ESTeem Wireless Modems
5050
eukrea Eukréa Electromatique
5151
excito Excito
52+
fcs Fairchild Semiconductor
5253
fsl Freescale Semiconductor
5354
GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
5455
gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
@@ -124,6 +125,7 @@ sil Silicon Image
124125
silabs Silicon Laboratories
125126
simtek
126127
sii Seiko Instruments, Inc.
128+
silergy Silergy Corp.
127129
sirf SiRF Technology, Inc.
128130
smsc Standard Microsystems Corporation
129131
snps Synopsys, Inc.

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9895,6 +9895,7 @@ F: drivers/scsi/vmw_pvscsi.h
98959895
VOLTAGE AND CURRENT REGULATOR FRAMEWORK
98969896
M: Liam Girdwood <[email protected]>
98979897
M: Mark Brown <[email protected]>
9898+
98989899
W: http://opensource.wolfsonmicro.com/node/15
98999900
W: http://www.slimlogic.co.uk/?p=48
99009901
T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git

0 commit comments

Comments
 (0)