blob: b3f4cb45154a2d02e60fdc8d7d2230aa781f95de [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>;
Patrick Delaunaydf0d20a2020-04-30 15:52:46 +0200272 cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
273 disable-wp;
Marek Vasut5ff05292020-01-24 18:39:16 +0100274 st,sig-dir;
275 st,neg-edge;
276 st,use-ckin;
277 bus-width = <4>;
278 vmmc-supply = <&vdd_sd>;
279 status = "okay";
280};
281
282&sdmmc2 {
283 pinctrl-names = "default";
284 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
285 non-removable;
286 no-sd;
287 no-sdio;
288 st,sig-dir;
289 st,neg-edge;
290 bus-width = <8>;
291 vmmc-supply = <&v3v3>;
292 status = "okay";
293};
294
295&spi1 {
296 pinctrl-names = "default";
297 pinctrl-0 = <&spi1_pins_a>;
298 status = "disabled";
299};
300
301&timers2 {
302 /* spare dmas for other usage (un-delete to enable pwm capture) */
303 /delete-property/dmas;
304 /delete-property/dma-names;
305 status = "disabled";
306 pwm {
307 pinctrl-0 = <&pwm2_pins_a>;
308 pinctrl-names = "default";
309 status = "okay";
310 };
311 timer@1 {
312 status = "okay";
313 };
314};
315
316&timers6 {
317 status = "okay";
318 /* spare dmas for other usage */
319 /delete-property/dmas;
320 /delete-property/dma-names;
321 timer@5 {
322 status = "okay";
323 };
324};
325
326&timers8 {
327 /delete-property/dmas;
328 /delete-property/dma-names;
329 status = "disabled";
330 pwm {
331 pinctrl-0 = <&pwm8_pins_a>;
332 pinctrl-names = "default";
333 status = "okay";
334 };
335 timer@7 {
336 status = "okay";
337 };
338};
339
340&timers12 {
341 /delete-property/dmas;
342 /delete-property/dma-names;
343 status = "disabled";
344 pwm {
345 pinctrl-0 = <&pwm12_pins_a>;
346 pinctrl-names = "default";
347 status = "okay";
348 };
349 timer@11 {
350 status = "okay";
351 };
352};
353
354&uart4 {
355 pinctrl-names = "default";
356 pinctrl-0 = <&uart4_pins_a>;
357 status = "okay";
358};
359
360&usbh_ehci {
361 phys = <&usbphyc_port0>;
362 phy-names = "usb";
363 status = "okay";
364};
365
366&usbotg_hs {
367 dr_mode = "peripheral";
368 phys = <&usbphyc_port1 0>;
369 phy-names = "usb2-phy";
370 vbus-supply = <&vbus_otg>;
371 status = "okay";
372};
373
374&usbphyc {
375 status = "okay";
376};
377
378&usbphyc_port0 {
379 phy-supply = <&vdd_usb>;
380};
381
382&usbphyc_port1 {
383 phy-supply = <&vdd_usb>;
384};