Loading...
Note: File does not exist in v6.8.
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5 */
6/dts-v1/;
7
8#include "stm32mp157.dtsi"
9#include "stm32mp15xc.dtsi"
10#include "stm32mp15-pinctrl.dtsi"
11#include "stm32mp15xxaa-pinctrl.dtsi"
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/mfd/st,stpmic1.h>
14
15/ {
16 model = "STMicroelectronics STM32MP157C eval daughter";
17 compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
18
19 chosen {
20 stdout-path = "serial0:115200n8";
21 };
22
23 memory@c0000000 {
24 device_type = "memory";
25 reg = <0xC0000000 0x40000000>;
26 };
27
28 reserved-memory {
29 #address-cells = <1>;
30 #size-cells = <1>;
31 ranges;
32
33 mcuram2: mcuram2@10000000 {
34 compatible = "shared-dma-pool";
35 reg = <0x10000000 0x40000>;
36 no-map;
37 };
38
39 vdev0vring0: vdev0vring0@10040000 {
40 compatible = "shared-dma-pool";
41 reg = <0x10040000 0x1000>;
42 no-map;
43 };
44
45 vdev0vring1: vdev0vring1@10041000 {
46 compatible = "shared-dma-pool";
47 reg = <0x10041000 0x1000>;
48 no-map;
49 };
50
51 vdev0buffer: vdev0buffer@10042000 {
52 compatible = "shared-dma-pool";
53 reg = <0x10042000 0x4000>;
54 no-map;
55 };
56
57 mcuram: mcuram@30000000 {
58 compatible = "shared-dma-pool";
59 reg = <0x30000000 0x40000>;
60 no-map;
61 };
62
63 retram: retram@38000000 {
64 compatible = "shared-dma-pool";
65 reg = <0x38000000 0x10000>;
66 no-map;
67 };
68
69 gpu_reserved: gpu@e8000000 {
70 reg = <0xe8000000 0x8000000>;
71 no-map;
72 };
73 };
74
75 aliases {
76 serial0 = &uart4;
77 };
78
79 sd_switch: regulator-sd_switch {
80 compatible = "regulator-gpio";
81 regulator-name = "sd_switch";
82 regulator-min-microvolt = <1800000>;
83 regulator-max-microvolt = <2900000>;
84 regulator-type = "voltage";
85 regulator-always-on;
86
87 gpios = <&gpiof 14 GPIO_ACTIVE_HIGH>;
88 gpios-states = <0>;
89 states = <1800000 0x1>,
90 <2900000 0x0>;
91 };
92
93 vin: vin {
94 compatible = "regulator-fixed";
95 regulator-name = "vin";
96 regulator-min-microvolt = <5000000>;
97 regulator-max-microvolt = <5000000>;
98 regulator-always-on;
99 };
100};
101
102&adc {
103 /* ANA0, ANA1 are dedicated pins and don't need pinctrl: only in6. */
104 pinctrl-0 = <&adc1_in6_pins_a>;
105 pinctrl-names = "default";
106 vdd-supply = <&vdd>;
107 vdda-supply = <&vdda>;
108 vref-supply = <&vdda>;
109 status = "disabled";
110 adc1: adc@0 {
111 st,adc-channels = <0 1 6>;
112 /* 16.5 ck_cycles sampling time */
113 st,min-sample-time-nsecs = <400>;
114 status = "okay";
115 };
116};
117
118&crc1 {
119 status = "okay";
120};
121
122&cryp1 {
123 status = "okay";
124};
125
126&dac {
127 pinctrl-names = "default";
128 pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
129 vref-supply = <&vdda>;
130 status = "disabled";
131 dac1: dac@1 {
132 status = "okay";
133 };
134 dac2: dac@2 {
135 status = "okay";
136 };
137};
138
139&dts {
140 status = "okay";
141};
142
143&gpu {
144 contiguous-area = <&gpu_reserved>;
145};
146
147&hash1 {
148 status = "okay";
149};
150
151&i2c4 {
152 pinctrl-names = "default", "sleep";
153 pinctrl-0 = <&i2c4_pins_a>;
154 pinctrl-1 = <&i2c4_sleep_pins_a>;
155 i2c-scl-rising-time-ns = <185>;
156 i2c-scl-falling-time-ns = <20>;
157 clock-frequency = <400000>;
158 status = "okay";
159 /* spare dmas for other usage */
160 /delete-property/dmas;
161 /delete-property/dma-names;
162
163 pmic: stpmic@33 {
164 compatible = "st,stpmic1";
165 reg = <0x33>;
166 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
167 interrupt-controller;
168 #interrupt-cells = <2>;
169 status = "okay";
170
171 regulators {
172 compatible = "st,stpmic1-regulators";
173 buck1-supply = <&vin>;
174 buck2-supply = <&vin>;
175 buck3-supply = <&vin>;
176 buck4-supply = <&vin>;
177 ldo1-supply = <&v3v3>;
178 ldo2-supply = <&v3v3>;
179 ldo3-supply = <&vdd_ddr>;
180 ldo4-supply = <&vin>;
181 ldo5-supply = <&v3v3>;
182 ldo6-supply = <&v3v3>;
183 vref_ddr-supply = <&vin>;
184 boost-supply = <&vin>;
185 pwr_sw1-supply = <&bst_out>;
186 pwr_sw2-supply = <&bst_out>;
187
188 vddcore: buck1 {
189 regulator-name = "vddcore";
190 regulator-min-microvolt = <1200000>;
191 regulator-max-microvolt = <1350000>;
192 regulator-always-on;
193 regulator-initial-mode = <0>;
194 regulator-over-current-protection;
195 };
196
197 vdd_ddr: buck2 {
198 regulator-name = "vdd_ddr";
199 regulator-min-microvolt = <1350000>;
200 regulator-max-microvolt = <1350000>;
201 regulator-always-on;
202 regulator-initial-mode = <0>;
203 regulator-over-current-protection;
204 };
205
206 vdd: buck3 {
207 regulator-name = "vdd";
208 regulator-min-microvolt = <3300000>;
209 regulator-max-microvolt = <3300000>;
210 regulator-always-on;
211 st,mask-reset;
212 regulator-initial-mode = <0>;
213 regulator-over-current-protection;
214 };
215
216 v3v3: buck4 {
217 regulator-name = "v3v3";
218 regulator-min-microvolt = <3300000>;
219 regulator-max-microvolt = <3300000>;
220 regulator-always-on;
221 regulator-over-current-protection;
222 regulator-initial-mode = <0>;
223 };
224
225 vdda: ldo1 {
226 regulator-name = "vdda";
227 regulator-min-microvolt = <2900000>;
228 regulator-max-microvolt = <2900000>;
229 interrupts = <IT_CURLIM_LDO1 0>;
230 };
231
232 v2v8: ldo2 {
233 regulator-name = "v2v8";
234 regulator-min-microvolt = <2800000>;
235 regulator-max-microvolt = <2800000>;
236 interrupts = <IT_CURLIM_LDO2 0>;
237 };
238
239 vtt_ddr: ldo3 {
240 regulator-name = "vtt_ddr";
241 regulator-min-microvolt = <500000>;
242 regulator-max-microvolt = <750000>;
243 regulator-always-on;
244 regulator-over-current-protection;
245 };
246
247 vdd_usb: ldo4 {
248 regulator-name = "vdd_usb";
249 interrupts = <IT_CURLIM_LDO4 0>;
250 };
251
252 vdd_sd: ldo5 {
253 regulator-name = "vdd_sd";
254 regulator-min-microvolt = <2900000>;
255 regulator-max-microvolt = <2900000>;
256 interrupts = <IT_CURLIM_LDO5 0>;
257 regulator-boot-on;
258 };
259
260 v1v8: ldo6 {
261 regulator-name = "v1v8";
262 regulator-min-microvolt = <1800000>;
263 regulator-max-microvolt = <1800000>;
264 interrupts = <IT_CURLIM_LDO6 0>;
265 };
266
267 vref_ddr: vref_ddr {
268 regulator-name = "vref_ddr";
269 regulator-always-on;
270 };
271
272 bst_out: boost {
273 regulator-name = "bst_out";
274 interrupts = <IT_OCP_BOOST 0>;
275 };
276
277 vbus_otg: pwr_sw1 {
278 regulator-name = "vbus_otg";
279 interrupts = <IT_OCP_OTG 0>;
280 };
281
282 vbus_sw: pwr_sw2 {
283 regulator-name = "vbus_sw";
284 interrupts = <IT_OCP_SWOUT 0>;
285 regulator-active-discharge = <1>;
286 };
287 };
288
289 onkey {
290 compatible = "st,stpmic1-onkey";
291 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
292 interrupt-names = "onkey-falling", "onkey-rising";
293 power-off-time-sec = <10>;
294 status = "okay";
295 };
296
297 watchdog {
298 compatible = "st,stpmic1-wdt";
299 status = "disabled";
300 };
301 };
302};
303
304&ipcc {
305 status = "okay";
306};
307
308&iwdg2 {
309 timeout-sec = <32>;
310 status = "okay";
311};
312
313&m4_rproc {
314 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
315 <&vdev0vring1>, <&vdev0buffer>;
316 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>;
317 mbox-names = "vq0", "vq1", "shutdown", "detach";
318 interrupt-parent = <&exti>;
319 interrupts = <68 1>;
320 status = "okay";
321};
322
323&pwr_regulators {
324 vdd-supply = <&vdd>;
325 vdd_3v3_usbfs-supply = <&vdd_usb>;
326};
327
328&rng1 {
329 status = "okay";
330};
331
332&rtc {
333 status = "okay";
334};
335
336&sdmmc1 {
337 pinctrl-names = "default", "opendrain", "sleep";
338 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
339 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
340 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
341 cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
342 disable-wp;
343 st,sig-dir;
344 st,neg-edge;
345 st,use-ckin;
346 bus-width = <4>;
347 vmmc-supply = <&vdd_sd>;
348 vqmmc-supply = <&sd_switch>;
349 sd-uhs-sdr12;
350 sd-uhs-sdr25;
351 sd-uhs-sdr50;
352 sd-uhs-ddr50;
353 status = "okay";
354};
355
356&sdmmc2 {
357 pinctrl-names = "default", "opendrain", "sleep";
358 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
359 pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
360 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
361 non-removable;
362 no-sd;
363 no-sdio;
364 st,neg-edge;
365 bus-width = <8>;
366 vmmc-supply = <&v3v3>;
367 vqmmc-supply = <&vdd>;
368 mmc-ddr-3_3v;
369 status = "okay";
370};
371
372&timers6 {
373 status = "okay";
374 /* spare dmas for other usage */
375 /delete-property/dmas;
376 /delete-property/dma-names;
377 timer@5 {
378 status = "okay";
379 };
380};
381
382&uart4 {
383 pinctrl-names = "default", "sleep", "idle";
384 pinctrl-0 = <&uart4_pins_a>;
385 pinctrl-1 = <&uart4_sleep_pins_a>;
386 pinctrl-2 = <&uart4_idle_pins_a>;
387 /delete-property/dmas;
388 /delete-property/dma-names;
389 status = "okay";
390};
391
392&usbotg_hs {
393 vbus-supply = <&vbus_otg>;
394};
395
396&usbphyc_port0 {
397 phy-supply = <&vdd_usb>;
398};
399
400&usbphyc_port1 {
401 phy-supply = <&vdd_usb>;
402};