]> git.ipfire.org Git - thirdparty/linux.git/blob - Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
gpu: host1x: Use SMMU on Tegra124 and Tegra210
[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 pmic: pmic@4b {
132 compatible = "rohm,bd71847";
133 reg = <0x4b>;
134 interrupt-parent = <&gpio1>;
135 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
136 #clock-cells = <0>;
137 clocks = <&osc 0>;
138 rohm,reset-snvs-powered;
139 rohm,short-press-ms = <10>;
140 rohm,long-press-ms = <2000>;
141
142 regulators {
143 buck1: BUCK1 {
144 regulator-name = "buck1";
145 regulator-min-microvolt = <700000>;
146 regulator-max-microvolt = <1300000>;
147 regulator-boot-on;
148 regulator-always-on;
149 regulator-ramp-delay = <1250>;
150 rohm,dvs-run-voltage = <900000>;
151 rohm,dvs-idle-voltage = <850000>;
152 rohm,dvs-suspend-voltage = <800000>;
153 };
154 buck2: BUCK2 {
155 regulator-name = "buck2";
156 regulator-min-microvolt = <700000>;
157 regulator-max-microvolt = <1300000>;
158 regulator-boot-on;
159 regulator-always-on;
160 regulator-ramp-delay = <1250>;
161 rohm,dvs-run-voltage = <1000000>;
162 rohm,dvs-idle-voltage = <900000>;
163 };
164 buck3: BUCK3 {
165 regulator-name = "buck3";
166 regulator-min-microvolt = <550000>;
167 regulator-max-microvolt = <1350000>;
168 regulator-boot-on;
169 };
170 buck4: BUCK4 {
171 regulator-name = "buck4";
172 regulator-min-microvolt = <2600000>;
173 regulator-max-microvolt = <3300000>;
174 regulator-boot-on;
175 };
176 buck5: BUCK5 {
177 regulator-name = "buck5";
178 regulator-min-microvolt = <1605000>;
179 regulator-max-microvolt = <1995000>;
180 regulator-boot-on;
181 };
182 buck8: BUCK6 {
183 regulator-name = "buck6";
184 regulator-min-microvolt = <800000>;
185 regulator-max-microvolt = <1400000>;
186 };
187
188 ldo1: LDO1 {
189 regulator-name = "ldo1";
190 regulator-min-microvolt = <1600000>;
191 regulator-max-microvolt = <3300000>;
192 regulator-boot-on;
193 };
194 ldo2: LDO2 {
195 regulator-name = "ldo2";
196 regulator-min-microvolt = <800000>;
197 regulator-max-microvolt = <900000>;
198 regulator-boot-on;
199 };
200 ldo3: LDO3 {
201 regulator-name = "ldo3";
202 regulator-min-microvolt = <1800000>;
203 regulator-max-microvolt = <3300000>;
204 };
205 ldo4: LDO4 {
206 regulator-name = "ldo4";
207 regulator-min-microvolt = <900000>;
208 regulator-max-microvolt = <1800000>;
209 };
210 ldo5: LDO5 {
211 regulator-name = "ldo5";
212 regulator-min-microvolt = <800000>;
213 regulator-max-microvolt = <3300000>;
214 };
215 ldo6: LDO6 {
216 regulator-name = "ldo6";
217 regulator-min-microvolt = <900000>;
218 regulator-max-microvolt = <1800000>;
219 };
220 };
221 };
222 };