Loading...
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 "stm32mp157c.dtsi"
9#include "stm32mp157-pinctrl.dtsi"
10
11/ {
12 model = "STMicroelectronics STM32MP157C eval daughter";
13 compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
14
15 chosen {
16 stdout-path = "serial0:115200n8";
17 };
18
19 memory {
20 reg = <0xC0000000 0x40000000>;
21 };
22
23 aliases {
24 serial0 = &uart4;
25 };
26};
27
28&uart4 {
29 pinctrl-names = "default";
30 pinctrl-0 = <&uart4_pins_a>;
31 status = "okay";
32};
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
94&adc {
95 /* ANA0, ANA1 are dedicated pins and don't need pinctrl: only in6. */
96 pinctrl-0 = <&adc1_in6_pins_a>;
97 pinctrl-names = "default";
98 vdd-supply = <&vdd>;
99 vdda-supply = <&vdda>;
100 vref-supply = <&vdda>;
101 status = "disabled";
102 adc1: adc@0 {
103 st,adc-channels = <0 1 6>;
104 /* 16.5 ck_cycles sampling time */
105 st,min-sample-time-nsecs = <400>;
106 status = "okay";
107 };
108};
109
110&dac {
111 pinctrl-names = "default";
112 pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
113 vref-supply = <&vdda>;
114 status = "disabled";
115 dac1: dac@1 {
116 status = "okay";
117 };
118 dac2: dac@2 {
119 status = "okay";
120 };
121};
122
123&dts {
124 status = "okay";
125};
126
127&gpu {
128 contiguous-area = <&gpu_reserved>;
129};
130
131&i2c4 {
132 pinctrl-names = "default", "sleep";
133 pinctrl-0 = <&i2c4_pins_a>;
134 pinctrl-1 = <&i2c4_sleep_pins_a>;
135 i2c-scl-rising-time-ns = <185>;
136 i2c-scl-falling-time-ns = <20>;
137 clock-frequency = <400000>;
138 status = "okay";
139 /* spare dmas for other usage */
140 /delete-property/dmas;
141 /delete-property/dma-names;
142
143 pmic: stpmic@33 {
144 compatible = "st,stpmic1";
145 reg = <0x33>;
146 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
147 interrupt-controller;
148 #interrupt-cells = <2>;
149 status = "okay";
150
151 regulators {
152 compatible = "st,stpmic1-regulators";
153 ldo1-supply = <&v3v3>;
154 ldo2-supply = <&v3v3>;
155 ldo3-supply = <&vdd_ddr>;
156 ldo5-supply = <&v3v3>;
157 ldo6-supply = <&v3v3>;
158 pwr_sw1-supply = <&bst_out>;
159 pwr_sw2-supply = <&bst_out>;
160
161 vddcore: buck1 {
162 regulator-name = "vddcore";
163 regulator-min-microvolt = <1200000>;
164 regulator-max-microvolt = <1350000>;
165 regulator-always-on;
166 regulator-initial-mode = <0>;
167 regulator-over-current-protection;
168 };
169
170 vdd_ddr: buck2 {
171 regulator-name = "vdd_ddr";
172 regulator-min-microvolt = <1350000>;
173 regulator-max-microvolt = <1350000>;
174 regulator-always-on;
175 regulator-initial-mode = <0>;
176 regulator-over-current-protection;
177 };
178
179 vdd: buck3 {
180 regulator-name = "vdd";
181 regulator-min-microvolt = <3300000>;
182 regulator-max-microvolt = <3300000>;
183 regulator-always-on;
184 st,mask-reset;
185 regulator-initial-mode = <0>;
186 regulator-over-current-protection;
187 };
188
189 v3v3: buck4 {
190 regulator-name = "v3v3";
191 regulator-min-microvolt = <3300000>;
192 regulator-max-microvolt = <3300000>;
193 regulator-always-on;
194 regulator-over-current-protection;
195 regulator-initial-mode = <0>;
196 };
197
198 vdda: ldo1 {
199 regulator-name = "vdda";
200 regulator-min-microvolt = <2900000>;
201 regulator-max-microvolt = <2900000>;
202 interrupts = <IT_CURLIM_LDO1 0>;
203 };
204
205 v2v8: ldo2 {
206 regulator-name = "v2v8";
207 regulator-min-microvolt = <2800000>;
208 regulator-max-microvolt = <2800000>;
209 interrupts = <IT_CURLIM_LDO2 0>;
210 };
211
212 vtt_ddr: ldo3 {
213 regulator-name = "vtt_ddr";
214 regulator-min-microvolt = <500000>;
215 regulator-max-microvolt = <750000>;
216 regulator-always-on;
217 regulator-over-current-protection;
218 };
219
220 vdd_usb: ldo4 {
221 regulator-name = "vdd_usb";
222 interrupts = <IT_CURLIM_LDO4 0>;
223 };
224
225 vdd_sd: ldo5 {
226 regulator-name = "vdd_sd";
227 regulator-min-microvolt = <2900000>;
228 regulator-max-microvolt = <2900000>;
229 interrupts = <IT_CURLIM_LDO5 0>;
230 regulator-boot-on;
231 };
232
233 v1v8: ldo6 {
234 regulator-name = "v1v8";
235 regulator-min-microvolt = <1800000>;
236 regulator-max-microvolt = <1800000>;
237 interrupts = <IT_CURLIM_LDO6 0>;
238 };
239
240 vref_ddr: vref_ddr {
241 regulator-name = "vref_ddr";
242 regulator-always-on;
243 };
244
245 bst_out: boost {
246 regulator-name = "bst_out";
247 interrupts = <IT_OCP_BOOST 0>;
248 };
249
250 vbus_otg: pwr_sw1 {
251 regulator-name = "vbus_otg";
252 interrupts = <IT_OCP_OTG 0>;
253 };
254
255 vbus_sw: pwr_sw2 {
256 regulator-name = "vbus_sw";
257 interrupts = <IT_OCP_SWOUT 0>;
258 regulator-active-discharge = <1>;
259 };
260 };
261
262 onkey {
263 compatible = "st,stpmic1-onkey";
264 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
265 interrupt-names = "onkey-falling", "onkey-rising";
266 power-off-time-sec = <10>;
267 status = "okay";
268 };
269
270 watchdog {
271 compatible = "st,stpmic1-wdt";
272 status = "disabled";
273 };
274 };
275};
276
277&ipcc {
278 status = "okay";
279};
280
281&iwdg2 {
282 timeout-sec = <32>;
283 status = "okay";
284};
285
286&m4_rproc {
287 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
288 <&vdev0vring1>, <&vdev0buffer>;
289 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
290 mbox-names = "vq0", "vq1", "shutdown";
291 interrupt-parent = <&exti>;
292 interrupts = <68 1>;
293 status = "okay";
294};
295
296&pwr_regulators {
297 vdd-supply = <&vdd>;
298 vdd_3v3_usbfs-supply = <&vdd_usb>;
299};
300
301&rng1 {
302 status = "okay";
303};
304
305&rtc {
306 status = "okay";
307};
308
309&sdmmc1 {
310 pinctrl-names = "default", "opendrain", "sleep";
311 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
312 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
313 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
314 cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
315 disable-wp;
316 st,sig-dir;
317 st,neg-edge;
318 st,use-ckin;
319 bus-width = <4>;
320 vmmc-supply = <&vdd_sd>;
321 vqmmc-supply = <&sd_switch>;
322 sd-uhs-sdr12;
323 sd-uhs-sdr25;
324 sd-uhs-sdr50;
325 sd-uhs-ddr50;
326 status = "okay";
327};
328
329&sdmmc2 {
330 pinctrl-names = "default", "opendrain", "sleep";
331 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
332 pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
333 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
334 non-removable;
335 no-sd;
336 no-sdio;
337 st,neg-edge;
338 bus-width = <8>;
339 vmmc-supply = <&v3v3>;
340 vqmmc-supply = <&vdd>;
341 mmc-ddr-3_3v;
342 status = "okay";
343};
344
345&timers6 {
346 status = "okay";
347 /* spare dmas for other usage */
348 /delete-property/dmas;
349 /delete-property/dma-names;
350 timer@5 {
351 status = "okay";
352 };
353};
354
355&uart4 {
356 pinctrl-names = "default", "sleep", "idle";
357 pinctrl-0 = <&uart4_pins_a>;
358 pinctrl-1 = <&uart4_sleep_pins_a>;
359 pinctrl-2 = <&uart4_idle_pins_a>;
360 status = "okay";
361};
362
363&usbotg_hs {
364 vbus-supply = <&vbus_otg>;
365};
366
367&usbphyc_port0 {
368 phy-supply = <&vdd_usb>;
369 vdda1v1-supply = <®11>;
370 vdda1v8-supply = <®18>;
371};
372
373&usbphyc_port1 {
374 phy-supply = <&vdd_usb>;
375 vdda1v1-supply = <®11>;
376 vdda1v8-supply = <®18>;
377};