Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mfd / rohm,bd71815-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,bd71815-pmic.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: ROHM BD71815 Power Management Integrated Circuit bindings
8
9 maintainers:
10   - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
11
12 description: |
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
18 properties:
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 it's 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
83 required:
84   - compatible
85   - reg
86   - interrupts
87   - clocks
88   - "#clock-cells"
89   - regulators
90   - gpio-controller
91   - "#gpio-cells"
92
93 additionalProperties: false
94
95 examples:
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     };