Skip to content

Commit 350d9ab

Browse files
committed
Merge tag 'regulator-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator updates from Mark Brown: "This is a very quiet release, there was no work on the core and a good chunk of the updates were the result of conversions to use newer GPIO APIs. We did gain support for Analog ADP5055 and TI TPS65214 devices, and there's a new restart handler for the PCA9450 which allows devices using it to be properly power cycled on reboot, but otherwise it's minor fixes and API updates" * tag 'regulator-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (24 commits) regulator: qcom_spmi: Constify struct spmi_voltage_range regulator: max8952: Correct Samsung "Electronics" spelling in copyright headers regulator: dt-bindings: mt6357: Drop fixed compatible requirement regulator: gpio: Use dev_err_probe regulator: pca9450: Add restart handler regulator: da9121: Fix Wvoid-pointer-to-enum-cast warning regulator: tps65219: Add TI TPS65214 Regulator Support regulator: tps65219: Add support for TPS65215 Regulator IRQs regulator: tps65219: Add support for TPS65215 regulator resources regulator: tps65219: Update struct names regulator: pf9453: convert to use maple tree register cache regulator: max20086: Change enable gpio to optional regulator: max20086: Fix MAX200086 chip id regulator: adp5055: Remove unneeded semicolon regulator: adp5055: remove duplicate device table regulator: adp5055: Add driver for adp5055 regulator: dt-bindings: adi,adp5055-regulator: Add adp5055 support regulator: don't compare raw GPIO descriptor pointers regulator: rpi-panel-attiny: use new GPIO line value setter callbacks regulator: rpi-panel-attiny: use lock guards for the state mutex ...
2 parents c971f11 + dcd7110 commit 350d9ab

18 files changed

+945
-274
lines changed
Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/regulator/adi,adp5055-regulator.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Analog Devices ADP5055 Triple Buck Regulator
8+
9+
maintainers:
10+
- Alexis Czezar Torreno <alexisczezar.torreno@analog.com>
11+
12+
description: |
13+
The ADP5055 combines three high performance buck regulator. The device enables
14+
direct connection to high input voltages up to 18 V with no preregulators.
15+
https://www.analog.com/media/en/technical-documentation/data-sheets/adp5055.pdf
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- adi,adp5055
21+
22+
reg:
23+
enum:
24+
- 0x70
25+
- 0x71
26+
27+
adi,tset-us:
28+
description:
29+
Setting time used by the device. This is changed via soldering specific
30+
resistor values on the CFG2 pin.
31+
enum: [2600, 20800]
32+
default: 2600
33+
34+
adi,ocp-blanking:
35+
description:
36+
If present, overcurrent protection (OCP) blanking for all regulator is on.
37+
type: boolean
38+
39+
adi,delay-power-good:
40+
description:
41+
Configures delay timer of the power good (PWRGD) pin. Delay is based on
42+
Tset which can be 2.6 ms or 20.8 ms.
43+
type: boolean
44+
45+
'#address-cells':
46+
const: 1
47+
48+
'#size-cells':
49+
const: 0
50+
51+
patternProperties:
52+
'^buck[0-2]$':
53+
type: object
54+
$ref: regulator.yaml#
55+
unevaluatedProperties: false
56+
57+
properties:
58+
enable-gpios:
59+
maxItems: 1
60+
description:
61+
GPIO specifier to enable the GPIO control for each regulator. The
62+
driver supports two modes of enable, hardware only (GPIOs) or software
63+
only (Registers). Pure hardware enabling requires each regulator to
64+
contain this property. If at least one regulator does not have this,
65+
the driver automatically switches to software only mode.
66+
67+
adi,dvs-limit-upper-microvolt:
68+
description:
69+
Configure the allowable upper side limit of the voltage output of each
70+
regulator in microvolt. Relative to the default Vref trimming value.
71+
Vref = 600 mV. Voltages are in 12 mV steps, value is autoadjusted.
72+
Vout_high = Vref_trim + dvs-limit-upper.
73+
minimum: 12000
74+
maximum: 192000
75+
default: 192000
76+
77+
adi,dvs-limit-lower-microvolt:
78+
description:
79+
Configure the allowable lower side limit of the voltage output of each
80+
regulator in microvolt. Relative to the default Vref trimming value.
81+
Vref = 600 mV. Voltages are in 12 mV steps, value is autoadjusted.
82+
Vout_low = Vref_trim + dvs-limit-lower.
83+
minimum: -190500
84+
maximum: -10500
85+
default: -190500
86+
87+
adi,fast-transient:
88+
description:
89+
Configures the fast transient sensitivity for each regulator.
90+
"none" - No fast transient.
91+
"3G_1.5%" - 1.5% window with 3*350uA/V
92+
"5G_1.5%" - 1.5% window with 5*350uA/V
93+
"5G_2.5%" - 2.5% window with 5*350uA/V
94+
enum: [none, 3G_1.5%, 5G_1.5%, 5G_2.5%]
95+
default: 5G_2.5%
96+
97+
adi,mask-power-good:
98+
description:
99+
If present, masks individual regulators PWRGD signal to the external
100+
PWRGD hardware pin.
101+
type: boolean
102+
103+
required:
104+
- regulator-name
105+
106+
required:
107+
- compatible
108+
- reg
109+
110+
additionalProperties: false
111+
112+
examples:
113+
- |
114+
#include <dt-bindings/gpio/gpio.h>
115+
116+
i2c {
117+
#address-cells = <1>;
118+
#size-cells = <0>;
119+
120+
regulator@70 {
121+
compatible = "adi,adp5055";
122+
reg = <0x70>;
123+
#address-cells = <1>;
124+
#size-cells = <0>;
125+
126+
adi,tset-us = <2600>;
127+
adi,ocp-blanking;
128+
adi,delay-power-good;
129+
130+
buck0 {
131+
regulator-name = "buck0";
132+
enable-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
133+
adi,dvs-limit-upper-microvolt = <192000>;
134+
adi,dvs-limit-lower-microvolt = <(-190500)>;
135+
adi,fast-transient = "5G_2.5%";
136+
adi,mask-power-good;
137+
};
138+
139+
buck1 {
140+
regulator-name = "buck1";
141+
enable-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
142+
adi,dvs-limit-upper-microvolt = <192000>;
143+
adi,dvs-limit-lower-microvolt = <(-190500)>;
144+
adi,fast-transient = "5G_2.5%";
145+
adi,mask-power-good;
146+
};
147+
148+
buck2 {
149+
regulator-name = "buck2";
150+
enable-gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
151+
adi,dvs-limit-upper-microvolt = <192000>;
152+
adi,dvs-limit-lower-microvolt = <(-190500)>;
153+
adi,fast-transient = "5G_2.5%";
154+
adi,mask-power-good;
155+
};
156+
};
157+
};

Documentation/devicetree/bindings/regulator/mediatek,mt6357-regulator.yaml

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ patternProperties:
3333

3434
"^ldo-v(camio18|aud28|aux18|io18|io28|rf12|rf18|cn18|cn28|fe28)$":
3535
type: object
36-
$ref: fixed-regulator.yaml#
36+
$ref: regulator.yaml#
3737
unevaluatedProperties: false
3838
description:
3939
Properties for single fixed LDO regulator.
@@ -112,7 +112,6 @@ examples:
112112
regulator-enable-ramp-delay = <220>;
113113
};
114114
mt6357_vfe28_reg: ldo-vfe28 {
115-
compatible = "regulator-fixed";
116115
regulator-name = "vfe28";
117116
regulator-min-microvolt = <2800000>;
118117
regulator-max-microvolt = <2800000>;
@@ -125,14 +124,12 @@ examples:
125124
regulator-enable-ramp-delay = <110>;
126125
};
127126
mt6357_vrf18_reg: ldo-vrf18 {
128-
compatible = "regulator-fixed";
129127
regulator-name = "vrf18";
130128
regulator-min-microvolt = <1800000>;
131129
regulator-max-microvolt = <1800000>;
132130
regulator-enable-ramp-delay = <110>;
133131
};
134132
mt6357_vrf12_reg: ldo-vrf12 {
135-
compatible = "regulator-fixed";
136133
regulator-name = "vrf12";
137134
regulator-min-microvolt = <1200000>;
138135
regulator-max-microvolt = <1200000>;
@@ -157,14 +154,12 @@ examples:
157154
regulator-enable-ramp-delay = <264>;
158155
};
159156
mt6357_vcn28_reg: ldo-vcn28 {
160-
compatible = "regulator-fixed";
161157
regulator-name = "vcn28";
162158
regulator-min-microvolt = <2800000>;
163159
regulator-max-microvolt = <2800000>;
164160
regulator-enable-ramp-delay = <264>;
165161
};
166162
mt6357_vcn18_reg: ldo-vcn18 {
167-
compatible = "regulator-fixed";
168163
regulator-name = "vcn18";
169164
regulator-min-microvolt = <1800000>;
170165
regulator-max-microvolt = <1800000>;
@@ -183,7 +178,6 @@ examples:
183178
regulator-enable-ramp-delay = <264>;
184179
};
185180
mt6357_vcamio_reg: ldo-vcamio18 {
186-
compatible = "regulator-fixed";
187181
regulator-name = "vcamio";
188182
regulator-min-microvolt = <1800000>;
189183
regulator-max-microvolt = <1800000>;
@@ -212,28 +206,24 @@ examples:
212206
regulator-always-on;
213207
};
214208
mt6357_vaux18_reg: ldo-vaux18 {
215-
compatible = "regulator-fixed";
216209
regulator-name = "vaux18";
217210
regulator-min-microvolt = <1800000>;
218211
regulator-max-microvolt = <1800000>;
219212
regulator-enable-ramp-delay = <264>;
220213
};
221214
mt6357_vaud28_reg: ldo-vaud28 {
222-
compatible = "regulator-fixed";
223215
regulator-name = "vaud28";
224216
regulator-min-microvolt = <2800000>;
225217
regulator-max-microvolt = <2800000>;
226218
regulator-enable-ramp-delay = <264>;
227219
};
228220
mt6357_vio28_reg: ldo-vio28 {
229-
compatible = "regulator-fixed";
230221
regulator-name = "vio28";
231222
regulator-min-microvolt = <2800000>;
232223
regulator-max-microvolt = <2800000>;
233224
regulator-enable-ramp-delay = <264>;
234225
};
235226
mt6357_vio18_reg: ldo-vio18 {
236-
compatible = "regulator-fixed";
237227
regulator-name = "vio18";
238228
regulator-min-microvolt = <1800000>;
239229
regulator-max-microvolt = <1800000>;

MAINTAINERS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1567,6 +1567,13 @@ W: https://ez.analog.com/linux-software-drivers
15671567
F: Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml
15681568
F: drivers/iio/filter/admv8818.c
15691569

1570+
ANALOG DEVICES INC ADP5055 DRIVER
1571+
M: Alexis Czezar Torreno <alexisczezar.torreno@analog.com>
1572+
S: Supported
1573+
W: https://ez.analog.com/linux-software-drivers
1574+
F: Documentation/devicetree/bindings/regulator/adi,adp5055-regulator.yaml
1575+
F: drivers/regulator/adp5055-regulator.c
1576+
15701577
ANALOG DEVICES INC ADP5061 DRIVER
15711578
M: Michael Hennerich <Michael.Hennerich@analog.com>
15721579
L: linux-pm@vger.kernel.org

drivers/regulator/Kconfig

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,17 @@ config REGULATOR_AD5398
122122
This driver supports AD5398 and AD5821 current regulator chips.
123123
If building into module, its name is ad5398.ko.
124124

125+
config REGULATOR_ADP5055
126+
tristate "Analog Devices ADP5055 Triple Buck Regulator"
127+
depends on I2C
128+
select REGMAP_I2C
129+
help
130+
This driver controls an Analog Devices ADP5055 with triple buck
131+
regulators using an I2C interface.
132+
133+
Say M here if you want to include support for the regulator as a
134+
module.
135+
125136
config REGULATOR_ANATOP
126137
tristate "Freescale i.MX on-chip ANATOP LDO regulators"
127138
depends on ARCH_MXC || COMPILE_TEST
@@ -1579,10 +1590,16 @@ config REGULATOR_TPS65219
15791590
tristate "TI TPS65219 Power regulators"
15801591
depends on MFD_TPS65219 && OF
15811592
help
1582-
This driver supports TPS65219 voltage regulator chips.
1593+
This driver supports TPS65219, TPS65215, and TPS65214 voltage
1594+
regulator chips.
15831595
TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs
1584-
voltage regulators. It supports software based voltage control
1585-
for different voltage domains.
1596+
voltage regulators.
1597+
TPS65215 PMIC has 3 single phase BUCKs & 2 LDOs.
1598+
TPS65214 PMIC has 3 synchronous stepdown DC-DC converters & 2
1599+
LDOs. One LDO supports a maximum output current of 300 mA and the
1600+
other a maximum of 500 mA
1601+
All 3 PMICs support software based voltage control for different
1602+
voltage domains.
15861603

15871604
config REGULATOR_TPS6594
15881605
tristate "TI TPS6594 Power regulators"

drivers/regulator/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ obj-$(CONFIG_REGULATOR_AB8500) += ab8500-ext.o ab8500.o
2222
obj-$(CONFIG_REGULATOR_ACT8865) += act8865-regulator.o
2323
obj-$(CONFIG_REGULATOR_ACT8945A) += act8945a-regulator.o
2424
obj-$(CONFIG_REGULATOR_AD5398) += ad5398.o
25+
obj-$(CONFIG_REGULATOR_ADP5055) += adp5055-regulator.o
2526
obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o
2627
obj-$(CONFIG_REGULATOR_ARIZONA_LDO1) += arizona-ldo1.o
2728
obj-$(CONFIG_REGULATOR_ARIZONA_MICSUPP) += arizona-micsupp.o

0 commit comments

Comments
 (0)