Merge tag 'thermal-v5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/therma...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mfd / rohm,bd71828-pmic.yaml
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,bd71828-pmic.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: ROHM BD71828 Power Management Integrated Circuit bindings
8
9 maintainers:
10   - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
11
12 description: |
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
18 properties:
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
76 required:
77   - compatible
78   - reg
79   - interrupts
80   - clocks
81   - "#clock-cells"
82   - regulators
83   - gpio-controller
84   - "#gpio-cells"
85
86 additionalProperties: false
87
88 examples:
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     };