blob: 11089aa89ec6678aba416ad48cbaa60ff009e9fb [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,bd71828-pmic.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: ROHM BD71828 Power Management Integrated Circuit
8
9maintainers:
10 - Matti Vaittinen <mazziesaccount@gmail.com>
11
12description: |
13 BD71828GW is a single-chip power management IC for battery-powered portable
14 devices. The IC integrates 7 buck converters, 7 LDOs, and a 1500 mA
15 single-cell linear charger. Also included is a Coulomb counter, a real-time
16 clock (RTC), and a 32.768 kHz clock gate.
17
18properties:
19 compatible:
20 const: rohm,bd71828
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: bd71828-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 some
59 other but 30MOhm resistor is used the resistance value should be given
60 here in Ohms.
61
62 regulators:
63 $ref: ../regulator/rohm,bd71828-regulator.yaml
64 description:
65 List of child nodes that specify the regulators.
66
67 leds:
68 $ref: ../leds/rohm,bd71828-leds.yaml
69
70 gpio-reserved-ranges:
71 description: |
72 Usage of BD71828 GPIO pins can be changed via OTP. This property can be
73 used to mark the pins which should not be configured for GPIO. Please see
74 the ../gpio/gpio.txt for more information.
75
76required:
77 - compatible
78 - reg
79 - interrupts
80 - clocks
81 - "#clock-cells"
82 - regulators
83 - gpio-controller
84 - "#gpio-cells"
85
86additionalProperties: false
87
88examples:
89 - |
90 #include <dt-bindings/interrupt-controller/irq.h>
91 #include <dt-bindings/leds/common.h>
92 i2c {
93 #address-cells = <1>;
94 #size-cells = <0>;
95 pmic: pmic@4b {
96 compatible = "rohm,bd71828";
97 reg = <0x4b>;
98
99 interrupt-parent = <&gpio1>;
100 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
101
102 clocks = <&osc 0>;
103 #clock-cells = <0>;
104 clock-output-names = "bd71828-32k-out";
105
106 gpio-controller;
107 #gpio-cells = <2>;
108 gpio-reserved-ranges = <0 1>, <2 1>;
109
110 rohm,charger-sense-resistor-ohms = <10000000>;
111
112 regulators {
113 buck1: BUCK1 {
114 regulator-name = "buck1";
115 regulator-min-microvolt = <500000>;
116 regulator-max-microvolt = <2000000>;
117 regulator-ramp-delay = <2500>;
118 };
119 buck2: BUCK2 {
120 regulator-name = "buck2";
121 regulator-min-microvolt = <500000>;
122 regulator-max-microvolt = <2000000>;
123 regulator-ramp-delay = <2500>;
124 };
125 buck3: BUCK3 {
126 regulator-name = "buck3";
127 regulator-min-microvolt = <1200000>;
128 regulator-max-microvolt = <2000000>;
129 };
130 buck4: BUCK4 {
131 regulator-name = "buck4";
132 regulator-min-microvolt = <1000000>;
133 regulator-max-microvolt = <1800000>;
134 };
135 buck5: BUCK5 {
136 regulator-name = "buck5";
137 regulator-min-microvolt = <2500000>;
138 regulator-max-microvolt = <3300000>;
139 };
140 buck6: BUCK6 {
141 regulator-name = "buck6";
142 regulator-min-microvolt = <500000>;
143 regulator-max-microvolt = <2000000>;
144 regulator-ramp-delay = <2500>;
145 };
146 buck7: BUCK7 {
147 regulator-name = "buck7";
148 regulator-min-microvolt = <500000>;
149 regulator-max-microvolt = <2000000>;
150 regulator-ramp-delay = <2500>;
151 };
152 ldo1: LDO1 {
153 regulator-name = "ldo1";
154 regulator-min-microvolt = <800000>;
155 regulator-max-microvolt = <3300000>;
156 };
157 ldo2: LDO2 {
158 regulator-name = "ldo2";
159 regulator-min-microvolt = <800000>;
160 regulator-max-microvolt = <3300000>;
161 };
162 ldo3: LDO3 {
163 regulator-name = "ldo3";
164 regulator-min-microvolt = <800000>;
165 regulator-max-microvolt = <3300000>;
166 };
167 ldo4: LDO4 {
168 regulator-name = "ldo4";
169 regulator-min-microvolt = <800000>;
170 regulator-max-microvolt = <3300000>;
171 };
172 ldo5: LDO5 {
173 regulator-name = "ldo5";
174 regulator-min-microvolt = <800000>;
175 regulator-max-microvolt = <3300000>;
176 };
177 ldo6: LDO6 {
178 regulator-name = "ldo6";
179 regulator-min-microvolt = <1800000>;
180 regulator-max-microvolt = <1800000>;
181 };
182 ldo7_reg: LDO7 {
183 regulator-name = "ldo7";
184 regulator-min-microvolt = <800000>;
185 regulator-max-microvolt = <3300000>;
186 };
187 };
188
189 leds {
190 compatible = "rohm,bd71828-leds";
191
192 led-1 {
193 rohm,led-compatible = "bd71828-grnled";
194 function = LED_FUNCTION_INDICATOR;
195 color = <LED_COLOR_ID_GREEN>;
196 };
197 led-2 {
198 rohm,led-compatible = "bd71828-ambled";
199 function = LED_FUNCTION_CHARGING;
200 color = <LED_COLOR_ID_AMBER>;
201 };
202 };
203 };
204 };