Skip to content

Commit cb3aa2b

Browse files
committed
Merge tag 'ib-mfd-clk-gpio-power-regulator-rtc-v6.20' into psy-next
Merge immutable branch between MFD, Clk, GPIO, Power, Regulator and RTC due for the v6.20 merge window to apply further cleanups on top of the BD72720 power-supply driver contained in this branch. Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2 parents 4c3f02f + e39951f commit cb3aa2b

19 files changed

Lines changed: 3127 additions & 132 deletions

File tree

Documentation/devicetree/bindings/leds/rohm,bd71828-leds.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,12 @@ maintainers:
1010
- Matti Vaittinen <mazziesaccount@gmail.com>
1111

1212
description: |
13-
This module is part of the ROHM BD71828 MFD device. For more details
14-
see Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml.
13+
This module is part of the ROHM BD71828 and BD72720 MFD device. For more
14+
details see Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml
15+
and Documentation/devicetree/bindings/mfd/rohm,bd72720-pmic.yaml
1516
1617
The LED controller is represented as a sub-node of the PMIC node on the device
17-
tree.
18+
tree. This should be located under "leds" - node in PMIC node.
1819
1920
The device has two LED outputs referred as GRNLED and AMBLED in data-sheet.
2021
Lines changed: 339 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,339 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/mfd/rohm,bd72720-pmic.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: ROHM BD72720 Power Management Integrated Circuit
8+
9+
maintainers:
10+
- Matti Vaittinen <mazziesaccount@gmail.com>
11+
12+
description:
13+
BD72720 is a single-chip power management IC for battery-powered portable
14+
devices. The BD72720 integrates 10 bucks and 11 LDOs, and a 3000 mA
15+
switching charger. The IC also includes a Coulomb counter, a real-time
16+
clock (RTC), GPIOs and a 32.768 kHz clock gate.
17+
18+
# In addition to the properties found from the charger node, the ROHM BD72720
19+
# uses properties from a static battery node. Please see the:
20+
# Documentation/devicetree/bindings/power/supply/battery.yaml
21+
#
22+
# Following properties are used
23+
# when present:
24+
#
25+
# charge-full-design-microamp-hours: Battry capacity in mAh
26+
# voltage-max-design-microvolt: Maximum voltage
27+
# voltage-min-design-microvolt: Minimum voltage system is still operating.
28+
# degrade-cycle-microamp-hours: Capacity lost due to aging at each full
29+
# charge cycle.
30+
# ocv-capacity-celsius: Array of OCV table temperatures. 1/table.
31+
# ocv-capacity-table-<N>: Table of OCV voltage/SOC pairs. Corresponds
32+
# N.th temperature in ocv-capacity-celsius
33+
#
34+
# volt-drop-thresh-microvolt: Threshold for starting the VDR correction
35+
# volt-drop-soc: Table of capacity values matching the
36+
# values in VDR tables.
37+
#
38+
# volt-drop-temperatures-millicelsius: Temperatures corresponding to the volage
39+
# drop values given in volt-drop-[0-9]-microvolt
40+
#
41+
# volt-drop-[0-9]-microvolt: VDR table for a temperature specified in
42+
# volt-drop-temperatures-millicelsius
43+
#
44+
# VDR tables are (usually) determined for a specific battery by ROHM.
45+
# The battery node would then be referred from the charger node:
46+
#
47+
# monitored-battery = <&battery>;
48+
49+
properties:
50+
compatible:
51+
const: rohm,bd72720
52+
53+
reg:
54+
description:
55+
I2C slave address.
56+
maxItems: 1
57+
58+
interrupts:
59+
maxItems: 1
60+
61+
gpio-controller: true
62+
63+
"#gpio-cells":
64+
const: 2
65+
description:
66+
The first cell is the pin number and the second cell is used to specify
67+
flags. See the gpio binding document for more information.
68+
69+
clocks:
70+
maxItems: 1
71+
72+
"#clock-cells":
73+
const: 0
74+
75+
clock-output-names:
76+
const: bd71828-32k-out
77+
78+
rohm,clkout-open-drain:
79+
description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos".
80+
$ref: /schemas/types.yaml#/definitions/uint32
81+
maximum: 1
82+
83+
rohm,charger-sense-resistor-micro-ohms:
84+
minimum: 10000
85+
maximum: 50000
86+
description:
87+
BD72720 has a SAR ADC for measuring charging currents. External sense
88+
resistor (RSENSE in data sheet) should be used. If some other but
89+
30 mOhm resistor is used the resistance value should be given here in
90+
micro Ohms.
91+
92+
regulators:
93+
$ref: /schemas/regulator/rohm,bd72720-regulator.yaml
94+
description:
95+
List of child nodes that specify the regulators.
96+
97+
leds:
98+
$ref: /schemas/leds/rohm,bd71828-leds.yaml
99+
100+
rohm,pin-fault_b:
101+
$ref: /schemas/types.yaml#/definitions/string
102+
description:
103+
BD72720 has an OTP option to use fault_b-pin for different
104+
purposes. Set this property accordingly. OTP options are
105+
OTP0 - bi-directional FAULT_B or READY indicator depending on a
106+
'sub option'
107+
OTP1 - GPO
108+
OTP2 - Power sequencer output.
109+
enum:
110+
- faultb
111+
- readyind
112+
- gpo
113+
- pwrseq
114+
115+
patternProperties:
116+
"^rohm,pin-dvs[0-1]$":
117+
$ref: /schemas/types.yaml#/definitions/string
118+
description:
119+
BD72720 has 4 different OTP options to determine the use of dvs<X>-pins.
120+
OTP0 - regulator RUN state control.
121+
OTP1 - GPI.
122+
OTP2 - GPO.
123+
OTP3 - Power sequencer output.
124+
This property specifies the use of the pin.
125+
enum:
126+
- dvs-input
127+
- gpi
128+
- gpo
129+
- pwrseq
130+
131+
"^rohm,pin-exten[0-1]$":
132+
$ref: /schemas/types.yaml#/definitions/string
133+
description: BD72720 has an OTP option to use exten0-pin for different
134+
purposes. Set this property accordingly.
135+
OTP0 - GPO
136+
OTP1 - Power sequencer output.
137+
enum:
138+
- gpo
139+
- pwrseq
140+
141+
required:
142+
- compatible
143+
- reg
144+
- interrupts
145+
- clocks
146+
- "#clock-cells"
147+
- regulators
148+
- gpio-controller
149+
- "#gpio-cells"
150+
151+
additionalProperties: false
152+
153+
examples:
154+
- |
155+
#include <dt-bindings/interrupt-controller/irq.h>
156+
#include <dt-bindings/leds/common.h>
157+
i2c {
158+
#address-cells = <1>;
159+
#size-cells = <0>;
160+
pmic: pmic@4b {
161+
compatible = "rohm,bd72720";
162+
reg = <0x4b>;
163+
164+
interrupt-parent = <&gpio1>;
165+
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
166+
167+
clocks = <&osc 0>;
168+
#clock-cells = <0>;
169+
clock-output-names = "bd71828-32k-out";
170+
171+
gpio-controller;
172+
#gpio-cells = <2>;
173+
174+
rohm,pin-dvs0 = "gpi";
175+
rohm,pin-dvs1 = "gpi";
176+
rohm,pin-exten0 = "gpo";
177+
rohm,pin-exten1 = "gpo";
178+
rohm,pin-fault_b = "faultb";
179+
180+
rohm,charger-sense-resistor-micro-ohms = <10000>;
181+
182+
regulators {
183+
buck1 {
184+
regulator-name = "buck1";
185+
regulator-min-microvolt = <500000>;
186+
regulator-max-microvolt = <2000000>;
187+
regulator-ramp-delay = <2500>;
188+
};
189+
buck2 {
190+
regulator-name = "buck2";
191+
regulator-min-microvolt = <500000>;
192+
regulator-max-microvolt = <2000000>;
193+
regulator-ramp-delay = <2500>;
194+
};
195+
buck3 {
196+
regulator-name = "buck3";
197+
regulator-min-microvolt = <1200000>;
198+
regulator-max-microvolt = <2000000>;
199+
};
200+
buck4 {
201+
regulator-name = "buck4";
202+
regulator-min-microvolt = <1000000>;
203+
regulator-max-microvolt = <1800000>;
204+
};
205+
buck5 {
206+
regulator-name = "buck5";
207+
regulator-min-microvolt = <2500000>;
208+
regulator-max-microvolt = <3300000>;
209+
};
210+
buck6 {
211+
regulator-name = "buck6";
212+
regulator-min-microvolt = <500000>;
213+
regulator-max-microvolt = <2000000>;
214+
regulator-ramp-delay = <2500>;
215+
};
216+
buck7 {
217+
regulator-name = "buck7";
218+
regulator-min-microvolt = <500000>;
219+
regulator-max-microvolt = <2000000>;
220+
regulator-ramp-delay = <2500>;
221+
};
222+
buck8 {
223+
regulator-name = "buck8";
224+
regulator-min-microvolt = <500000>;
225+
regulator-max-microvolt = <1700000>;
226+
regulator-ramp-delay = <2500>;
227+
rohm,dvs-run-voltage = <1700000>;
228+
rohm,dvs-idle-voltage = <1>;
229+
rohm,dvs-suspend-voltage = <1>;
230+
rohm,dvs-lpsr-voltage = <0>;
231+
regulator-boot-on;
232+
};
233+
buck9 {
234+
regulator-name = "buck9";
235+
regulator-min-microvolt = <500000>;
236+
regulator-max-microvolt = <1700000>;
237+
regulator-ramp-delay = <2500>;
238+
rohm,dvs-run-voltage = <1700000>;
239+
rohm,dvs-idle-voltage = <1>;
240+
rohm,dvs-suspend-voltage = <1>;
241+
rohm,dvs-lpsr-voltage = <0>;
242+
regulator-boot-on;
243+
};
244+
buck10 {
245+
regulator-name = "buck10";
246+
regulator-min-microvolt = <500000>;
247+
regulator-max-microvolt = <1700000>;
248+
regulator-ramp-delay = <2500>;
249+
rohm,dvs-run-voltage = <1700000>;
250+
rohm,dvs-idle-voltage = <1>;
251+
rohm,dvs-suspend-voltage = <1>;
252+
rohm,dvs-lpsr-voltage = <0>;
253+
regulator-boot-on;
254+
};
255+
ldo1 {
256+
regulator-name = "ldo1";
257+
regulator-min-microvolt = <800000>;
258+
regulator-max-microvolt = <3300000>;
259+
};
260+
ldo2 {
261+
regulator-name = "ldo2";
262+
regulator-min-microvolt = <800000>;
263+
regulator-max-microvolt = <3300000>;
264+
};
265+
ldo3 {
266+
regulator-name = "ldo3";
267+
regulator-min-microvolt = <800000>;
268+
regulator-max-microvolt = <3300000>;
269+
};
270+
ldo4 {
271+
regulator-name = "ldo4";
272+
regulator-min-microvolt = <800000>;
273+
regulator-max-microvolt = <3300000>;
274+
};
275+
ldo5 {
276+
regulator-name = "ldo5";
277+
regulator-min-microvolt = <800000>;
278+
regulator-max-microvolt = <3300000>;
279+
};
280+
ldo6 {
281+
regulator-name = "ldo6";
282+
regulator-min-microvolt = <1800000>;
283+
regulator-max-microvolt = <1800000>;
284+
};
285+
ldo7 {
286+
regulator-name = "ldo7";
287+
regulator-min-microvolt = <800000>;
288+
regulator-max-microvolt = <3300000>;
289+
};
290+
ldo8 {
291+
regulator-name = "ldo8";
292+
regulator-min-microvolt = <750000>;
293+
regulator-max-microvolt = <3300000>;
294+
rohm,dvs-suspend-voltage = <0>;
295+
rohm,dvs-lpsr-voltage = <1>;
296+
rohm,dvs-run-voltage = <750000>;
297+
};
298+
ldo9 {
299+
regulator-name = "ldo9";
300+
regulator-min-microvolt = <750000>;
301+
regulator-max-microvolt = <3300000>;
302+
rohm,dvs-suspend-voltage = <0>;
303+
rohm,dvs-lpsr-voltage = <1>;
304+
rohm,dvs-run-voltage = <750000>;
305+
};
306+
ldo10 {
307+
regulator-name = "ldo10";
308+
regulator-min-microvolt = <750000>;
309+
regulator-max-microvolt = <3300000>;
310+
rohm,dvs-suspend-voltage = <0>;
311+
rohm,dvs-lpsr-voltage = <1>;
312+
rohm,dvs-run-voltage = <750000>;
313+
};
314+
ldo11 {
315+
regulator-name = "ldo11";
316+
regulator-min-microvolt = <750000>;
317+
regulator-max-microvolt = <3300000>;
318+
rohm,dvs-suspend-voltage = <0>;
319+
rohm,dvs-lpsr-voltage = <1>;
320+
rohm,dvs-run-voltage = <750000>;
321+
};
322+
};
323+
324+
leds {
325+
compatible = "rohm,bd71828-leds";
326+
327+
led-1 {
328+
rohm,led-compatible = "bd71828-grnled";
329+
function = LED_FUNCTION_INDICATOR;
330+
color = <LED_COLOR_ID_GREEN>;
331+
};
332+
led-2 {
333+
rohm,led-compatible = "bd71828-ambled";
334+
function = LED_FUNCTION_CHARGING;
335+
color = <LED_COLOR_ID_AMBER>;
336+
};
337+
};
338+
};
339+
};

0 commit comments

Comments
 (0)