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