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