blob: 05747e012516e2d0ebd4ba6e708aa589b03e84e9 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/rohm,bd71815-pmic.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ROHM BD71815 Power Management Integrated Circuit
8
9maintainers:
10 - Matti Vaittinen <mazziesaccount@gmail.com>
11
12description: |
13 BD71815AGW is a single-chip power management ICs for battery-powered
14 portable devices. It integrates 5 buck converters, 8 LDOs, a boost driver
15 for LED and a 500 mA single-cell linear charger. Also included is a Coulomb
16 counter, a real-time clock (RTC), and a 32.768 kHz clock gate and two GPOs.
17
18properties:
19 compatible:
20 const: rohm,bd71815
21
22 reg:
23 description:
24 I2C slave address.
25 maxItems: 1
26
27 interrupts:
28 maxItems: 1
29
30 gpio-controller: true
31
32 "#gpio-cells":
33 const: 2
34 description: |
35 The first cell is the pin number and the second cell is used to specify
36 flags. See ../gpio/gpio.txt for more information.
37
38 clocks:
39 maxItems: 1
40
41 "#clock-cells":
42 const: 0
43
44 clock-output-names:
45 const: bd71815-32k-out
46
47 rohm,clkout-open-drain:
48 description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos".
49 $ref: /schemas/types.yaml#/definitions/uint32
50 minimum: 0
51 maximum: 1
52
53 rohm,charger-sense-resistor-ohms:
54 minimum: 10000000
55 maximum: 50000000
56 description: |
57 BD71827 and BD71828 have SAR ADC for measuring charging currents.
58 External sense resistor (RSENSE in data sheet) should be used. If
59 something other but 30MOhm resistor is used the resistance value
60 should be given here in Ohms.
61 default: 30000000
62
63 regulators:
64 $ref: ../regulator/rohm,bd71815-regulator.yaml
65 description:
66 List of child nodes that specify the regulators.
67
68 gpio-reserved-ranges:
69 description: |
70 Usage of BD71828 GPIO pins can be changed via OTP. This property can be
71 used to mark the pins which should not be configured for GPIO. Please see
72 the ../gpio/gpio.txt for more information.
73
74 rohm,enable-hidden-gpo:
75 description: |
76 The BD71815 has undocumented GPO at pin E5. Pin is marked as GND at the
77 data-sheet as its location in the middle of GND pins makes it hard to
78 use on PCB. If your board has managed to use this pin you can enable the
79 second GPO by defining this property. Dont enable this if you are unsure
80 about how the E5 pin is connected on your board.
81 type: boolean
82
83required:
84 - compatible
85 - reg
86 - interrupts
87 - clocks
88 - "#clock-cells"
89 - regulators
90 - gpio-controller
91 - "#gpio-cells"
92
93additionalProperties: false
94
95examples:
96 - |
97 #include <dt-bindings/interrupt-controller/irq.h>
98 #include <dt-bindings/leds/common.h>
99 i2c {
100 #address-cells = <1>;
101 #size-cells = <0>;
102 pmic: pmic@4b {
103 compatible = "rohm,bd71815";
104 reg = <0x4b>;
105
106 interrupt-parent = <&gpio1>;
107 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
108
109 clocks = <&osc 0>;
110 #clock-cells = <0>;
111 clock-output-names = "bd71815-32k-out";
112
113 gpio-controller;
114 #gpio-cells = <2>;
115
116 rohm,charger-sense-resistor-ohms = <10000000>;
117
118 regulators {
119 buck1: buck1 {
120 regulator-name = "buck1";
121 regulator-min-microvolt = <800000>;
122 regulator-max-microvolt = <2000000>;
123 regulator-always-on;
124 regulator-ramp-delay = <1250>;
125 rohm,dvs-run-voltage = <1150000>;
126 rohm,dvs-suspend-voltage = <950000>;
127 };
128 buck2: buck2 {
129 regulator-name = "buck2";
130 regulator-min-microvolt = <800000>;
131 regulator-max-microvolt = <2000000>;
132 regulator-always-on;
133 regulator-ramp-delay = <1250>;
134 rohm,dvs-run-voltage = <1150000>;
135 rohm,dvs-suspend-voltage = <950000>;
136 };
137 buck3: buck3 {
138 regulator-name = "buck3";
139 regulator-min-microvolt = <1200000>;
140 regulator-max-microvolt = <2700000>;
141 regulator-always-on;
142 };
143 buck4: buck4 {
144 regulator-name = "buck4";
145 regulator-min-microvolt = <1100000>;
146 regulator-max-microvolt = <1850000>;
147 regulator-always-on;
148 };
149 buck5: buck5 {
150 regulator-name = "buck5";
151 regulator-min-microvolt = <1800000>;
152 regulator-max-microvolt = <3300000>;
153 regulator-always-on;
154 };
155 ldo1: ldo1 {
156 regulator-name = "ldo1";
157 regulator-min-microvolt = <800000>;
158 regulator-max-microvolt = <3300000>;
159 regulator-always-on;
160 };
161 ldo2: ldo2 {
162 regulator-name = "ldo2";
163 regulator-min-microvolt = <800000>;
164 regulator-max-microvolt = <3300000>;
165 regulator-always-on;
166 };
167 ldo3: ldo3 {
168 regulator-name = "ldo3";
169 regulator-min-microvolt = <800000>;
170 regulator-max-microvolt = <3300000>;
171 regulator-always-on;
172 };
173 ldo4: ldo4 {
174 regulator-name = "ldo4";
175 regulator-min-microvolt = <800000>;
176 regulator-max-microvolt = <3300000>;
177 regulator-always-on;
178 };
179 ldo5: ldo5 {
180 regulator-name = "ldo5";
181 regulator-min-microvolt = <800000>;
182 regulator-max-microvolt = <3300000>;
183 regulator-always-on;
184 };
185 ldo6: ldodvref {
186 regulator-name = "ldodvref";
187 regulator-always-on;
188 };
189 ldo7: ldolpsr {
190 regulator-name = "ldolpsr";
191 regulator-always-on;
192 };
193
194 boost: wled {
195 regulator-name = "wled";
196 regulator-min-microamp = <10>;
197 regulator-max-microamp = <25000>;
198 };
199 };
200 };
201 };