1 // SPDX-License-Identifier: (GPL-2.0 or MIT)
3 // Copyright (c) 2021 emtrion GmbH
4 // Author: Reinhold Müller <reinhold.mueller@emtrion.de>.
7 #include "stm32mp157.dtsi"
8 #include "stm32mp15xc.dtsi"
9 #include "stm32mp15-pinctrl.dtsi"
10 #include "stm32mp15xxac-pinctrl.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/mfd/st,stpmic1.h>
16 ethernet0 = ðernet0;
23 stdout-path = "serial0:115200n8";
27 device_type = "memory";
28 reg = <0xc0000000 0x20000000>;
36 mcuram2: mcuram2@10000000 {
37 compatible = "shared-dma-pool";
38 reg = <0x10000000 0x40000>;
42 vdev0vring0: vdev0vring0@10040000 {
43 compatible = "shared-dma-pool";
44 reg = <0x10040000 0x2000>;
48 vdev0vring1: vdev0vring1@10042000 {
49 compatible = "shared-dma-pool";
50 reg = <0x10042000 0x2000>;
54 vdev0buffer: vdev0buffer@10044000 {
55 compatible = "shared-dma-pool";
56 reg = <0x10044000 0x4000>;
60 mcuram: mcuram@30000000 {
61 compatible = "shared-dma-pool";
62 reg = <0x30000000 0x40000>;
66 retram: retram@38000000 {
67 compatible = "shared-dma-pool";
68 reg = <0x38000000 0x10000>;
74 compatible = "gpio-leds";
77 gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
78 linux,default-trigger = "none";
79 default-state = "off";
84 gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
85 linux,default-trigger = "heartbeat";
94 vref-supply = <&vrefbuf>;
98 pinctrl-names = "default";
99 pinctrl-0 = <&adc1_in6_pins_a>;
100 st,min-sample-time-nsecs = <5000>;
101 st,adc-channels = <6>;
106 #address-cells = <1>;
111 label = "sense_temp";
112 st,min-sample-time-ns = <9000>;
117 st,min-sample-time-ns = <9000>;
122 st,min-sample-time-ns = <9000>;
127 st,min-sample-time-ns = <9000>;
141 pinctrl-names = "default";
142 pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
143 vref-supply = <&vdda>;
160 snps,reset-gpio = <&gpioa 1 GPIO_ACTIVE_LOW>;
161 snps,reset-active-low;
162 snps,reset-delays-us = <0 30000 50000>;
163 pinctrl-0 = <ðernet0_rmii_pins_b>;
164 pinctrl-1 = <ðernet0_rmii_sleep_pins_b>;
165 pinctrl-names = "default", "sleep";
168 phy-handle = <&phy0>;
172 #address-cells = <1>;
174 compatible = "snps,dwmac-mdio";
175 phy0: ethernet-phy@0 {
186 pinctrl-names = "default", "sleep";
187 pinctrl-0 = <&i2c1_pins_a>;
188 pinctrl-1 = <&i2c1_sleep_pins_a>;
189 i2c-scl-rising-time-ns = <100>;
190 i2c-scl-falling-time-ns = <7>;
192 /delete-property/dmas;
193 /delete-property/dma-names;
197 pinctrl-names = "default", "sleep";
198 pinctrl-0 = <&i2c4_pins_a>;
199 pinctrl-1 = <&i2c4_sleep_pins_a>;
200 i2c-scl-rising-time-ns = <185>;
201 i2c-scl-falling-time-ns = <20>;
203 /delete-property/dmas;
204 /delete-property/dma-names;
207 compatible = "st,stpmic1";
209 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
210 interrupt-controller;
211 #interrupt-cells = <2>;
215 compatible = "st,stpmic1-regulators";
217 ldo1-supply = <&v3v3>;
218 ldo3-supply = <&vdd_ddr>;
219 ldo6-supply = <&v3v3>;
220 pwr_sw1-supply = <&bst_out>;
221 pwr_sw2-supply = <&bst_out>;
224 regulator-name = "vddcore";
225 regulator-min-microvolt = <1200000>;
226 regulator-max-microvolt = <1350000>;
228 regulator-initial-mode = <0>;
229 regulator-over-current-protection;
233 regulator-name = "vdd_ddr";
234 regulator-min-microvolt = <1350000>;
235 regulator-max-microvolt = <1350000>;
237 regulator-initial-mode = <0>;
238 regulator-over-current-protection;
242 regulator-name = "vdd";
243 regulator-min-microvolt = <3300000>;
244 regulator-max-microvolt = <3300000>;
247 regulator-initial-mode = <0>;
248 regulator-over-current-protection;
252 regulator-name = "v3v3";
253 regulator-min-microvolt = <3300000>;
254 regulator-max-microvolt = <3300000>;
256 regulator-over-current-protection;
257 regulator-initial-mode = <0>;
261 regulator-name = "v1v8_audio";
262 regulator-min-microvolt = <1800000>;
263 regulator-max-microvolt = <1800000>;
265 interrupts = <IT_CURLIM_LDO1 0>;
269 regulator-name = "v3v3_hdmi";
270 regulator-min-microvolt = <3300000>;
271 regulator-max-microvolt = <3300000>;
273 interrupts = <IT_CURLIM_LDO2 0>;
277 regulator-name = "vtt_ddr";
278 regulator-min-microvolt = <500000>;
279 regulator-max-microvolt = <750000>;
281 regulator-over-current-protection;
285 regulator-name = "vdd_usb";
286 regulator-min-microvolt = <3300000>;
287 regulator-max-microvolt = <3300000>;
288 interrupts = <IT_CURLIM_LDO4 0>;
292 regulator-name = "vdd_sd";
293 regulator-min-microvolt = <3300000>;
294 regulator-max-microvolt = <3300000>;
295 interrupts = <IT_CURLIM_LDO5 0>;
300 regulator-name = "vdda";
301 regulator-min-microvolt = <2900000>;
302 regulator-max-microvolt = <2900000>;
304 interrupts = <IT_CURLIM_LDO6 0>;
309 regulator-name = "vref_ddr";
311 regulator-over-current-protection;
315 regulator-name = "bst_out";
316 interrupts = <IT_OCP_BOOST 0>;
320 regulator-name = "vbus_otg";
321 interrupts = <IT_OCP_OTG 0>;
322 regulator-active-discharge;
326 regulator-name = "usbh_vbus";
327 interrupts = <IT_OCP_SWOUT 0>;
334 compatible = "st,stpmic1-onkey";
335 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
336 interrupt-names = "onkey-falling", "onkey-rising";
341 compatible = "st,stpmic1-wdt";
348 pinctrl-names = "default", "sleep";
349 pinctrl-0 = <&i2c5_pins_a>;
350 pinctrl-1 = <&i2c5_sleep_pins_a>;
351 i2c-scl-rising-time-ns = <185>;
352 i2c-scl-falling-time-ns = <20>;
353 /delete-property/dmas;
354 /delete-property/dma-names;
367 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
368 <&vdev0vring1>, <&vdev0buffer>;
369 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
370 mbox-names = "vq0", "vq1", "shutdown";
371 interrupt-parent = <&exti>;
373 interrupt-names = "wdg";
380 vdd_3v3_usbfs-supply = <&vdd_usb>;
384 pinctrl-names = "default", "sleep";
385 pinctrl-0 = <&qspi_clk_pins_a
388 pinctrl-1 = <&qspi_clk_sleep_pins_a
389 &qspi_bk1_sleep_pins_a
390 &qspi_cs1_sleep_pins_a>;
391 reg = <0x58003000 0x1000>, <0x70000000 0x4000000>;
392 #address-cells = <1>;
397 compatible = "jedec,spi-nor";
399 spi-max-frequency = <133000000>;
400 spi-rx-bus-width = <1>;
401 spi-tx-bus-width = <1>;
402 #address-cells = <1>;
416 arm,primecell-periphid = <0x10153180>;
417 pinctrl-names = "default", "opendrain", "sleep";
418 pinctrl-0 = <&sdmmc2_b4_pins_b>;
419 pinctrl-1 = <&sdmmc2_b4_od_pins_b>;
420 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a>;
424 vmmc-supply = <&v3v3>;
429 pinctrl-names = "default";
430 pinctrl-0 = <&spi1_pins_a>;
431 cs-gpios = <&gpioz 3 0>;
436 /* spare dmas for other usage */
437 /delete-property/dmas;
438 /delete-property/dma-names;
440 pinctrl-0 = <&pwm1_pins_b>;
441 pinctrl-1 = <&pwm1_sleep_pins_b>;
442 pinctrl-names = "default", "sleep";
451 /delete-property/dmas;
452 /delete-property/dma-names;
454 pinctrl-0 = <&pwm4_pins_b>;
455 pinctrl-1 = <&pwm4_sleep_pins_b>;
456 pinctrl-names = "default", "sleep";
465 /delete-property/dmas;
466 /delete-property/dma-names;
468 pinctrl-0 = <&pwm5_pins_a>;
469 pinctrl-1 = <&pwm5_sleep_pins_a>;
470 pinctrl-names = "default", "sleep";
479 pinctrl-names = "default", "sleep", "idle";
480 pinctrl-0 = <&uart4_pins_a>;
481 pinctrl-1 = <&uart4_sleep_pins_a>;
482 pinctrl-2 = <&uart4_idle_pins_a>;
487 pinctrl-names = "default", "sleep";
488 pinctrl-0 = <&usart2_pins_a>;
489 pinctrl-1 = <&usart2_sleep_pins_a>;
494 pinctrl-names = "default", "sleep", "idle";
495 pinctrl-0 = <&usart3_pins_d>;
496 pinctrl-1 = <&usart3_sleep_pins_d>;
497 pinctrl-2 = <&usart3_idle_pins_d>;
502 phys = <&usbphyc_port0>;
508 phys = <&usbphyc_port0>;
514 dr_mode = "peripheral";
515 pinctrl-names = "default";
516 pinctrl-0 = <&usbotg_hs_pins_a>;
517 phy-names = "usb2-phy";
518 phys = <&usbphyc_port1 0>;
519 vbus-supply = <&vbus_otg>;
528 phy-supply = <&vdd_usb>;
532 phy-supply = <&vdd_usb>;
536 regulator-min-microvolt = <2500000>;
537 regulator-max-microvolt = <2500000>;
538 vdda-supply = <&vdd>;