aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/mfd/lp873x.txt8
-rw-r--r--Documentation/devicetree/bindings/mfd/max77620.txt12
-rw-r--r--Documentation/devicetree/bindings/mfd/tps65086.txt2
-rw-r--r--Documentation/devicetree/bindings/regulator/pwm-regulator.txt4
-rw-r--r--MAINTAINERS1
-rw-r--r--drivers/regulator/Makefile2
-rw-r--r--drivers/regulator/arizona-ldo1.c2
-rw-r--r--drivers/regulator/axp20x-regulator.c12
-rw-r--r--drivers/regulator/core.c38
-rw-r--r--drivers/regulator/fixed.c46
-rw-r--r--drivers/regulator/gpio-regulator.c9
-rw-r--r--drivers/regulator/helpers.c6
-rw-r--r--drivers/regulator/lp873x-regulator.c1
-rw-r--r--drivers/regulator/max77620-regulator.c47
-rw-r--r--drivers/regulator/stw481x-vmmc.c3
-rw-r--r--drivers/regulator/tps6507x-regulator.c2
-rw-r--r--drivers/regulator/tps65086-regulator.c51
-rw-r--r--drivers/regulator/twl-regulator.c673
-rw-r--r--drivers/regulator/twl6030-regulator.c793
-rw-r--r--include/linux/mfd/max77620.h2
-rw-r--r--include/linux/regulator/consumer.h27
-rw-r--r--include/linux/regulator/driver.h4
22 files changed, 1051 insertions, 694 deletions
diff --git a/Documentation/devicetree/bindings/mfd/lp873x.txt b/Documentation/devicetree/bindings/mfd/lp873x.txt
index 52766c2035f7..ae9cf39bd101 100644
--- a/Documentation/devicetree/bindings/mfd/lp873x.txt
+++ b/Documentation/devicetree/bindings/mfd/lp873x.txt
@@ -7,6 +7,9 @@ Required properties:
7 - #gpio-cells: Should be two. The first cell is the pin number and 7 - #gpio-cells: Should be two. The first cell is the pin number and
8 the second cell is used to specify flags. 8 the second cell is used to specify flags.
9 See ../gpio/gpio.txt for more information. 9 See ../gpio/gpio.txt for more information.
10 - xxx-in-supply: Phandle to parent supply node of each regulator
11 populated under regulators node. xxx can be
12 buck0, buck1, ldo0 or ldo1.
10 - regulators: List of child nodes that specify the regulator 13 - regulators: List of child nodes that specify the regulator
11 initialization data. 14 initialization data.
12Example: 15Example:
@@ -17,6 +20,11 @@ pmic: lp8733@60 {
17 gpio-controller; 20 gpio-controller;
18 #gpio-cells = <2>; 21 #gpio-cells = <2>;
19 22
23 buck0-in-supply = <&vsys_3v3>;
24 buck1-in-supply = <&vsys_3v3>;
25 ldo0-in-supply = <&vsys_3v3>;
26 ldo1-in-supply = <&vsys_3v3>;
27
20 regulators { 28 regulators {
21 lp8733_buck0: buck0 { 29 lp8733_buck0: buck0 {
22 regulator-name = "lp8733-buck0"; 30 regulator-name = "lp8733-buck0";
diff --git a/Documentation/devicetree/bindings/mfd/max77620.txt b/Documentation/devicetree/bindings/mfd/max77620.txt
index 2ad44f7e4880..9c16d51cc15b 100644
--- a/Documentation/devicetree/bindings/mfd/max77620.txt
+++ b/Documentation/devicetree/bindings/mfd/max77620.txt
@@ -106,6 +106,18 @@ Here supported time periods by device in microseconds are as follows:
106MAX77620 supports 40, 80, 160, 320, 640, 1280, 2560 and 5120 microseconds. 106MAX77620 supports 40, 80, 160, 320, 640, 1280, 2560 and 5120 microseconds.
107MAX20024 supports 20, 40, 80, 160, 320, 640, 1280 and 2540 microseconds. 107MAX20024 supports 20, 40, 80, 160, 320, 640, 1280 and 2540 microseconds.
108 108
109-maxim,power-ok-control: configure map power ok bit
110 1: Enables POK(Power OK) to control nRST_IO and GPIO1
111 POK function.
112 0: Disables POK control.
113 if property missing, do not configure MPOK bit.
114 If POK mapping is enabled for GPIO1/nRST_IO then,
115 GPIO1/nRST_IO pins are HIGH only if all rails
116 that have POK control enabled are HIGH.
117 If any of the rails goes down(which are enabled for POK
118 control) then, GPIO1/nRST_IO goes LOW.
119 this property is valid for max20024 only.
120
109For DT binding details of different sub modules like GPIO, pincontrol, 121For DT binding details of different sub modules like GPIO, pincontrol,
110regulator, power, please refer respective device-tree binding document 122regulator, power, please refer respective device-tree binding document
111under their respective sub-system directories. 123under their respective sub-system directories.
diff --git a/Documentation/devicetree/bindings/mfd/tps65086.txt b/Documentation/devicetree/bindings/mfd/tps65086.txt
index d3705612a846..9cfa886fe99f 100644
--- a/Documentation/devicetree/bindings/mfd/tps65086.txt
+++ b/Documentation/devicetree/bindings/mfd/tps65086.txt
@@ -23,7 +23,7 @@ Required properties:
23 defined below. 23 defined below.
24 24
25Optional regulator properties: 25Optional regulator properties:
26 - ti,regulator-step-size-25mv : This is applicable for buck[1,2,6], set this 26 - ti,regulator-step-size-25mv : This is applicable for buck[1-6], set this
27 if the regulator is factory set with a 25mv 27 if the regulator is factory set with a 25mv
28 step voltage mapping. 28 step voltage mapping.
29 - ti,regulator-decay : This is applicable for buck[1-6], set this if 29 - ti,regulator-decay : This is applicable for buck[1-6], set this if
diff --git a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt
index 3aeba9f86ed8..bf85aa9ad6a7 100644
--- a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt
@@ -59,7 +59,7 @@ Any property defined as part of the core regulator binding can also be used.
59 59
60Continuous Voltage With Enable GPIO Example: 60Continuous Voltage With Enable GPIO Example:
61 pwm_regulator { 61 pwm_regulator {
62 compatible = "pwm-regulator; 62 compatible = "pwm-regulator";
63 pwms = <&pwm1 0 8448 0>; 63 pwms = <&pwm1 0 8448 0>;
64 enable-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; 64 enable-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
65 regulator-min-microvolt = <1016000>; 65 regulator-min-microvolt = <1016000>;
@@ -76,7 +76,7 @@ Continuous Voltage With Enable GPIO Example:
76 76
77Voltage Table Example: 77Voltage Table Example:
78 pwm_regulator { 78 pwm_regulator {
79 compatible = "pwm-regulator; 79 compatible = "pwm-regulator";
80 pwms = <&pwm1 0 8448 0>; 80 pwms = <&pwm1 0 8448 0>;
81 regulator-min-microvolt = <1016000>; 81 regulator-min-microvolt = <1016000>;
82 regulator-max-microvolt = <1114000>; 82 regulator-max-microvolt = <1114000>;
diff --git a/MAINTAINERS b/MAINTAINERS
index c77e3bff262f..d04335080cdd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -8761,6 +8761,7 @@ F: drivers/regulator/tps65217-regulator.c
8761F: drivers/regulator/tps65218-regulator.c 8761F: drivers/regulator/tps65218-regulator.c
8762F: drivers/regulator/tps65910-regulator.c 8762F: drivers/regulator/tps65910-regulator.c
8763F: drivers/regulator/twl-regulator.c 8763F: drivers/regulator/twl-regulator.c
8764F: drivers/regulator/twl6030-regulator.c
8764F: include/linux/i2c-omap.h 8765F: include/linux/i2c-omap.h
8765 8766
8766OMAP DEVICE TREE SUPPORT 8767OMAP DEVICE TREE SUPPORT
diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile
index 2142a5d3fc08..14294692beb9 100644
--- a/drivers/regulator/Makefile
+++ b/drivers/regulator/Makefile
@@ -104,7 +104,7 @@ obj-$(CONFIG_REGULATOR_TPS6586X) += tps6586x-regulator.o
104obj-$(CONFIG_REGULATOR_TPS65910) += tps65910-regulator.o 104obj-$(CONFIG_REGULATOR_TPS65910) += tps65910-regulator.o
105obj-$(CONFIG_REGULATOR_TPS65912) += tps65912-regulator.o 105obj-$(CONFIG_REGULATOR_TPS65912) += tps65912-regulator.o
106obj-$(CONFIG_REGULATOR_TPS80031) += tps80031-regulator.o 106obj-$(CONFIG_REGULATOR_TPS80031) += tps80031-regulator.o
107obj-$(CONFIG_REGULATOR_TWL4030) += twl-regulator.o 107obj-$(CONFIG_REGULATOR_TWL4030) += twl-regulator.o twl6030-regulator.o
108obj-$(CONFIG_REGULATOR_VEXPRESS) += vexpress-regulator.o 108obj-$(CONFIG_REGULATOR_VEXPRESS) += vexpress-regulator.o
109obj-$(CONFIG_REGULATOR_WM831X) += wm831x-dcdc.o 109obj-$(CONFIG_REGULATOR_WM831X) += wm831x-dcdc.o
110obj-$(CONFIG_REGULATOR_WM831X) += wm831x-isink.o 110obj-$(CONFIG_REGULATOR_WM831X) += wm831x-isink.o
diff --git a/drivers/regulator/arizona-ldo1.c b/drivers/regulator/arizona-ldo1.c
index f7c88ff90c43..302b57cb89c6 100644
--- a/drivers/regulator/arizona-ldo1.c
+++ b/drivers/regulator/arizona-ldo1.c
@@ -130,6 +130,7 @@ static const struct regulator_desc arizona_ldo1_hc = {
130 .uV_step = 50000, 130 .uV_step = 50000,
131 .n_voltages = 8, 131 .n_voltages = 8,
132 .enable_time = 1500, 132 .enable_time = 1500,
133 .ramp_delay = 24000,
133 134
134 .owner = THIS_MODULE, 135 .owner = THIS_MODULE,
135}; 136};
@@ -153,6 +154,7 @@ static const struct regulator_desc arizona_ldo1 = {
153 .uV_step = 25000, 154 .uV_step = 25000,
154 .n_voltages = 13, 155 .n_voltages = 13,
155 .enable_time = 500, 156 .enable_time = 500,
157 .ramp_delay = 24000,
156 158
157 .owner = THIS_MODULE, 159 .owner = THIS_MODULE,
158}; 160};
diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c
index 54382ef902c6..e6a512ebeae2 100644
--- a/drivers/regulator/axp20x-regulator.c
+++ b/drivers/regulator/axp20x-regulator.c
@@ -337,10 +337,18 @@ static const struct regulator_desc axp809_regulators[] = {
337 AXP22X_ELDO2_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2, BIT(1)), 337 AXP22X_ELDO2_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2, BIT(1)),
338 AXP_DESC(AXP809, ELDO3, "eldo3", "eldoin", 700, 3300, 100, 338 AXP_DESC(AXP809, ELDO3, "eldo3", "eldoin", 700, 3300, 100,
339 AXP22X_ELDO3_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2, BIT(2)), 339 AXP22X_ELDO3_V_OUT, 0x1f, AXP22X_PWR_OUT_CTRL2, BIT(2)),
340 AXP_DESC_IO(AXP809, LDO_IO0, "ldo_io0", "ips", 700, 3300, 100, 340 /*
341 * Note the datasheet only guarantees reliable operation up to
342 * 3.3V, this needs to be enforced via dts provided constraints
343 */
344 AXP_DESC_IO(AXP809, LDO_IO0, "ldo_io0", "ips", 700, 3800, 100,
341 AXP22X_LDO_IO0_V_OUT, 0x1f, AXP20X_GPIO0_CTRL, 0x07, 345 AXP22X_LDO_IO0_V_OUT, 0x1f, AXP20X_GPIO0_CTRL, 0x07,
342 AXP22X_IO_ENABLED, AXP22X_IO_DISABLED), 346 AXP22X_IO_ENABLED, AXP22X_IO_DISABLED),
343 AXP_DESC_IO(AXP809, LDO_IO1, "ldo_io1", "ips", 700, 3300, 100, 347 /*
348 * Note the datasheet only guarantees reliable operation up to
349 * 3.3V, this needs to be enforced via dts provided constraints
350