blob: d8a255b9c687f65c0e182200e51927968d54d197 [file] [log] [blame]
Marek Vasut5ff05292020-01-24 18:39:16 +01001// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) 2019 Marek Vasut <marex@denx.de>
4 */
5/dts-v1/;
6
Patrick Delaunay48c5e902020-03-06 17:54:41 +01007#include "stm32mp157.dtsi"
8#include "stm32mp15xc.dtsi"
9#include "stm32mp15-pinctrl.dtsi"
10#include "stm32mp15xxaa-pinctrl.dtsi"
Marek Vasut5ff05292020-01-24 18:39:16 +010011#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/mfd/st,stpmic1.h>
13
14/ {
Marek Vasut2ab7a2a2020-03-31 19:51:29 +020015 aliases {
16 eeprom0 = &eeprom0;
17 };
18
Marek Vasut5ff05292020-01-24 18:39:16 +010019 memory@c0000000 {
20 device_type = "memory";
21 reg = <0xC0000000 0x40000000>;
22 };
23};
24
25&cec {
26 pinctrl-names = "default";
27 pinctrl-0 = <&cec_pins_a>;
28 status = "okay";
29};
30
31&dcmi {
32 status = "okay";
33 pinctrl-names = "default", "sleep";
34 pinctrl-0 = <&dcmi_pins_a>;
35 pinctrl-1 = <&dcmi_sleep_pins_a>;
36};
37
38&dts {
39 status = "okay";
40};
41
42&i2c2 {
43 pinctrl-names = "default";
44 pinctrl-0 = <&i2c2_pins_a>;
45 i2c-scl-rising-time-ns = <185>;
46 i2c-scl-falling-time-ns = <20>;
47 status = "okay";
48};
49
50&i2c4 {
51 pinctrl-names = "default";
52 pinctrl-0 = <&i2c4_pins_a>;
53 i2c-scl-rising-time-ns = <185>;
54 i2c-scl-falling-time-ns = <20>;
55 status = "okay";
56 /* spare dmas for other usage */
57 /delete-property/dmas;
58 /delete-property/dma-names;
59
60 pmic: stpmic@33 {
61 compatible = "st,stpmic1";
62 reg = <0x33>;
63 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
64 interrupt-controller;
65 #interrupt-cells = <2>;
66 status = "okay";
67
68 regulators {
69 compatible = "st,stpmic1-regulators";
70 ldo1-supply = <&v3v3>;
71 ldo2-supply = <&v3v3>;
72 ldo3-supply = <&vdd_ddr>;
73 ldo5-supply = <&v3v3>;
74 ldo6-supply = <&v3v3>;
75 pwr_sw1-supply = <&bst_out>;
76 pwr_sw2-supply = <&bst_out>;
77
78 vddcore: buck1 {
79 regulator-name = "vddcore";
80 regulator-min-microvolt = <800000>;
81 regulator-max-microvolt = <1350000>;
82 regulator-always-on;
83 regulator-initial-mode = <0>;
84 regulator-over-current-protection;
85 };
86
87 vdd_ddr: buck2 {
88 regulator-name = "vdd_ddr";
89 regulator-min-microvolt = <1350000>;
90 regulator-max-microvolt = <1350000>;
91 regulator-always-on;
92 regulator-initial-mode = <0>;
93 regulator-over-current-protection;
94 };
95
96 vdd: buck3 {
97 regulator-name = "vdd";
98 regulator-min-microvolt = <3300000>;
99 regulator-max-microvolt = <3300000>;
100 regulator-always-on;
101 st,mask-reset;
102 regulator-initial-mode = <0>;
103 regulator-over-current-protection;
104 };
105
106 v3v3: buck4 {
107 regulator-name = "v3v3";
108 regulator-min-microvolt = <3300000>;
109 regulator-max-microvolt = <3300000>;
110 regulator-always-on;
111 regulator-over-current-protection;
112 regulator-initial-mode = <0>;
113 };
114
115 vdda: ldo1 {
116 regulator-name = "vdda";
117 regulator-min-microvolt = <2900000>;
118 regulator-max-microvolt = <2900000>;
119 interrupts = <IT_CURLIM_LDO1 0>;
120 };
121
122 v2v8: ldo2 {
123 regulator-name = "v2v8";
124 regulator-min-microvolt = <2800000>;
125 regulator-max-microvolt = <2800000>;
126 interrupts = <IT_CURLIM_LDO2 0>;
127 };
128
129 vtt_ddr: ldo3 {
130 regulator-name = "vtt_ddr";
131 regulator-min-microvolt = <500000>;
132 regulator-max-microvolt = <750000>;
133 regulator-always-on;
134 regulator-over-current-protection;
135 };
136
137 vdd_usb: ldo4 {
138 regulator-name = "vdd_usb";
139 regulator-min-microvolt = <3300000>;
140 regulator-max-microvolt = <3300000>;
141 interrupts = <IT_CURLIM_LDO4 0>;
142 };
143
144 vdd_sd: ldo5 {
145 regulator-name = "vdd_sd";
146 regulator-min-microvolt = <2900000>;
147 regulator-max-microvolt = <2900000>;
148 interrupts = <IT_CURLIM_LDO5 0>;
149 regulator-boot-on;
150 };
151
152 v1v8: ldo6 {
153 regulator-name = "v1v8";
154 regulator-min-microvolt = <1800000>;
155 regulator-max-microvolt = <1800000>;
156 interrupts = <IT_CURLIM_LDO6 0>;
157 };
158
159 vref_ddr: vref_ddr {
160 regulator-name = "vref_ddr";
161 regulator-always-on;
162 regulator-over-current-protection;
163 };
164
165 bst_out: boost {
166 regulator-name = "bst_out";
167 interrupts = <IT_OCP_BOOST 0>;
168 };
169
170 vbus_otg: pwr_sw1 {
171 regulator-name = "vbus_otg";
172 interrupts = <IT_OCP_OTG 0>;
173 };
174
175 vbus_sw: pwr_sw2 {
176 regulator-name = "vbus_sw";
177 interrupts = <IT_OCP_SWOUT 0>;
178 regulator-active-discharge;
179 };
180 };
181
182 onkey {
183 compatible = "st,stpmic1-onkey";
184 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
185 interrupt-names = "onkey-falling", "onkey-rising";
186 power-off-time-sec = <10>;
187 status = "okay";
188 };
189
190 watchdog {
191 compatible = "st,stpmic1-wdt";
192 status = "disabled";
193 };
194 };
195
Marek Vasut2ab7a2a2020-03-31 19:51:29 +0200196 eeprom0: eeprom@50 {
Marek Vasut5ff05292020-01-24 18:39:16 +0100197 compatible = "atmel,24c02";
198 reg = <0x50>;
199 pagesize = <16>;
200 };
201};
202
203&i2c5 {
204 pinctrl-names = "default";
205 pinctrl-0 = <&i2c5_pins_a>;
206 i2c-scl-rising-time-ns = <185>;
207 i2c-scl-falling-time-ns = <20>;
208 status = "okay";
209};
210
211&ipcc {
212 status = "okay";
213};
214
215&iwdg2 {
216 timeout-sec = <32>;
217 status = "okay";
218};
219
220&m4_rproc {
221 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
222 mbox-names = "vq0", "vq1", "shutdown";
223 status = "okay";
224};
225
Patrick Delaunay900494d2020-01-28 10:10:59 +0100226&pwr_regulators {
227 vdd-supply = <&vdd>;
228 vdd_3v3_usbfs-supply = <&vdd_usb>;
Marek Vasut5ff05292020-01-24 18:39:16 +0100229};
230
231&qspi {
232 pinctrl-names = "default", "sleep";
233 pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a &qspi_bk2_pins_a>;
234 pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a &qspi_bk2_sleep_pins_a>;
235 reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
236 #address-cells = <1>;
237 #size-cells = <0>;
238 status = "okay";
239
240 flash0: mx66l51235l@0 {
241 compatible = "jedec,spi-nor";
242 reg = <0>;
243 spi-rx-bus-width = <4>;
244 spi-max-frequency = <108000000>;
245 #address-cells = <1>;
246 #size-cells = <1>;
247 };
248
249 flash1: mx66l51235l@1 {
250 compatible = "jedec,spi-nor";
251 reg = <1>;
252 spi-rx-bus-width = <4>;
253 spi-max-frequency = <108000000>;
254 #address-cells = <1>;
255 #size-cells = <1>;
256 };
257};
258
259&rng1 {
260 status = "okay";
261};
262
263&rtc {
264 status = "okay";
265};
266
267&sdmmc1 {
268 pinctrl-names = "default", "opendrain", "sleep";
269 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
270 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
271 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
272 broken-cd;
273 st,sig-dir;
274 st,neg-edge;
275 st,use-ckin;
276 bus-width = <4>;
277 vmmc-supply = <&vdd_sd>;
278 status = "okay";
279};
280
281&sdmmc2 {
282 pinctrl-names = "default";
283 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
284 non-removable;
285 no-sd;
286 no-sdio;
287 st,sig-dir;
288 st,neg-edge;
289 bus-width = <8>;
290 vmmc-supply = <&v3v3>;
291 status = "okay";
292};
293
294&spi1 {
295 pinctrl-names = "default";
296 pinctrl-0 = <&spi1_pins_a>;
297 status = "disabled";
298};
299
300&timers2 {
301 /* spare dmas for other usage (un-delete to enable pwm capture) */
302 /delete-property/dmas;
303 /delete-property/dma-names;
304 status = "disabled";
305 pwm {
306 pinctrl-0 = <&pwm2_pins_a>;
307 pinctrl-names = "default";
308 status = "okay";
309 };
310 timer@1 {
311 status = "okay";
312 };
313};
314
315&timers6 {
316 status = "okay";
317 /* spare dmas for other usage */
318 /delete-property/dmas;
319 /delete-property/dma-names;
320 timer@5 {
321 status = "okay";
322 };
323};
324
325&timers8 {
326 /delete-property/dmas;
327 /delete-property/dma-names;
328 status = "disabled";
329 pwm {
330 pinctrl-0 = <&pwm8_pins_a>;
331 pinctrl-names = "default";
332 status = "okay";
333 };
334 timer@7 {
335 status = "okay";
336 };
337};
338
339&timers12 {
340 /delete-property/dmas;
341 /delete-property/dma-names;
342 status = "disabled";
343 pwm {
344 pinctrl-0 = <&pwm12_pins_a>;
345 pinctrl-names = "default";
346 status = "okay";
347 };
348 timer@11 {
349 status = "okay";
350 };
351};
352
353&uart4 {
354 pinctrl-names = "default";
355 pinctrl-0 = <&uart4_pins_a>;
356 status = "okay";
357};
358
359&usbh_ehci {
360 phys = <&usbphyc_port0>;
361 phy-names = "usb";
362 status = "okay";
363};
364
365&usbotg_hs {
366 dr_mode = "peripheral";
367 phys = <&usbphyc_port1 0>;
368 phy-names = "usb2-phy";
369 vbus-supply = <&vbus_otg>;
370 status = "okay";
371};
372
373&usbphyc {
374 status = "okay";
375};
376
377&usbphyc_port0 {
378 phy-supply = <&vdd_usb>;
379};
380
381&usbphyc_port1 {
382 phy-supply = <&vdd_usb>;
383};