]> git.ipfire.org Git - thirdparty/linux.git/blob - Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
Merge tag 'drm/tegra/for-5.7-fixes' of git://anongit.freedesktop.org/tegra/linux...
[thirdparty/linux.git] / Documentation / devicetree / bindings / mfd / rohm,bd71847-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,bd71847-pmic.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: ROHM BD71847 and BD71850 Power Management Integrated Circuit bindings
8
9 maintainers:
10 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
11
12 description: |
13 BD71847AMWV and BD71850MWV are programmable Power Management ICs for powering
14 single-core, dual-core, and quad-core SoCs such as NXP-i.MX 8M. It is
15 optimized for low BOM cost and compact solution footprint. BD71847MWV and
16 BD71850MWV integrate 6 Buck regulators and 6 LDOs.
17 Datasheets are available at
18 https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71847amwv-product
19 https://www.rohm.com/products/power-management/power-management-ic-for-system/industrial-consumer-applications/nxp-imx/bd71850mwv-product
20
21 properties:
22 compatible:
23 enum:
24 - rohm,bd71847
25 - rohm,bd71850
26
27 reg:
28 description:
29 I2C slave address.
30 maxItems: 1
31
32 interrupts:
33 maxItems: 1
34
35 clocks:
36 maxItems: 1
37
38 "#clock-cells":
39 const: 0
40
41 # The BD71847 abd BD71850 support two different HW states as reset target
42 # states. States are called as SNVS and READY. At READY state all the PMIC
43 # power outputs go down and OTP is reload. At the SNVS state all other logic
44 # and external devices apart from the SNVS power domain are shut off. Please
45 # refer to NXP i.MX8 documentation for further information regarding SNVS
46 # state. When a reset is done via SNVS state the PMIC OTP data is not reload.
47 # This causes power outputs that have been under SW control to stay down when
48 # reset has switched power state to SNVS. If reset is done via READY state the
49 # power outputs will be returned to HW control by OTP loading. Thus the reset
50 # target state is set to READY by default. If SNVS state is used the boot
51 # crucial regulators must have the regulator-always-on and regulator-boot-on
52 # properties set in regulator node.
53
54 rohm,reset-snvs-powered:
55 description:
56 Transfer PMIC to SNVS state at reset.
57 type: boolean
58
59 # Configure the "short press" and "long press" timers for the power button.
60 # Values are rounded to what hardware supports
61 # Short-press:
62 # Shortest being 10ms, next 500ms and then multiple of 500ms up to 7,5s
63 # Long-press:
64 # Shortest being 10ms, next 1000ms and then multiple of 1000ms up to 15s
65 # If these properties are not present the existing # configuration (from
66 # bootloader or OTP) is not touched.
67
68 rohm,short-press-ms:
69 description:
70 Short press duration in milliseconds
71 enum:
72 - 10
73 - 500
74 - 1000
75 - 1500
76 - 2000
77 - 2500
78 - 3000
79 - 3500
80 - 4000
81 - 4500
82 - 5000
83 - 5500
84 - 6000
85 - 6500
86 - 7000
87 - 7500
88
89 rohm,long-press-ms:
90 description:
91 Long press duration in milliseconds
92 enum:
93 - 10
94 - 1000
95 - 2000
96 - 3000
97 - 4000
98 - 5000
99 - 6000
100 - 7000
101 - 8000
102 - 9000
103 - 10000
104 - 11000
105 - 12000
106 - 13000
107 - 14000
108 - 15000
109
110 regulators:
111 $ref: ../regulator/rohm,bd71847-regulator.yaml
112 description:
113 List of child nodes that specify the regulators.
114
115 required:
116 - compatible
117 - reg
118 - interrupts
119 - clocks
120 - "#clock-cells"
121 - regulators
122
123 additionalProperties: false
124
125 examples:
126 - |
127 #include <dt-bindings/interrupt-controller/irq.h>
128 #include <dt-bindings/leds/common.h>
129
130 i2c {
131 #address-cells = <1>;
132 #size-cells = <0>;
133 pmic: pmic@4b {
134 compatible = "rohm,bd71847";
135 reg = <0x4b>;
136 interrupt-parent = <&gpio1>;
137 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
138 #clock-cells = <0>;
139 clocks = <&osc 0>;
140 rohm,reset-snvs-powered;
141 rohm,short-press-ms = <10>;
142 rohm,long-press-ms = <2000>;
143
144 regulators {
145 buck1: BUCK1 {
146 regulator-name = "buck1";
147 regulator-min-microvolt = <700000>;
148 regulator-max-microvolt = <1300000>;
149 regulator-boot-on;
150 regulator-always-on;
151 regulator-ramp-delay = <1250>;
152 rohm,dvs-run-voltage = <900000>;
153 rohm,dvs-idle-voltage = <850000>;
154 rohm,dvs-suspend-voltage = <800000>;
155 };
156 buck2: BUCK2 {
157 regulator-name = "buck2";
158 regulator-min-microvolt = <700000>;
159 regulator-max-microvolt = <1300000>;
160 regulator-boot-on;
161 regulator-always-on;
162 regulator-ramp-delay = <1250>;
163 rohm,dvs-run-voltage = <1000000>;
164 rohm,dvs-idle-voltage = <900000>;
165 };
166 buck3: BUCK3 {
167 regulator-name = "buck3";
168 regulator-min-microvolt = <550000>;
169 regulator-max-microvolt = <1350000>;
170 regulator-boot-on;
171 };
172 buck4: BUCK4 {
173 regulator-name = "buck4";
174 regulator-min-microvolt = <2600000>;
175 regulator-max-microvolt = <3300000>;
176 regulator-boot-on;
177 };
178 buck5: BUCK5 {
179 regulator-name = "buck5";
180 regulator-min-microvolt = <1605000>;
181 regulator-max-microvolt = <1995000>;
182 regulator-boot-on;
183 };
184 buck8: BUCK6 {
185 regulator-name = "buck6";
186 regulator-min-microvolt = <800000>;
187 regulator-max-microvolt = <1400000>;
188 };
189
190 ldo1: LDO1 {
191 regulator-name = "ldo1";
192 regulator-min-microvolt = <1600000>;
193 regulator-max-microvolt = <3300000>;
194 regulator-boot-on;
195 };
196 ldo2: LDO2 {
197 regulator-name = "ldo2";
198 regulator-min-microvolt = <800000>;
199 regulator-max-microvolt = <900000>;
200 regulator-boot-on;
201 };
202 ldo3: LDO3 {
203 regulator-name = "ldo3";
204 regulator-min-microvolt = <1800000>;
205 regulator-max-microvolt = <3300000>;
206 };
207 ldo4: LDO4 {
208 regulator-name = "ldo4";
209 regulator-min-microvolt = <900000>;
210 regulator-max-microvolt = <1800000>;
211 };
212 ldo5: LDO5 {
213 regulator-name = "ldo5";
214 regulator-min-microvolt = <800000>;
215 regulator-max-microvolt = <3300000>;
216 };
217 ldo6: LDO6 {
218 regulator-name = "ldo6";
219 regulator-min-microvolt = <900000>;
220 regulator-max-microvolt = <1800000>;
221 };
222 };
223 };
224 };