1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
3 * Copyright (C) STMicroelectronics 2019 - All Rights Reserved
4 * Author: Alexandre Torgue <alexandre.torgue@st.com> for STMicroelectronics.
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/mfd/st,stpmic1.h>
12 device_type = "memory";
13 reg = <0xc0000000 0x20000000>;
21 mcuram2: mcuram2@10000000 {
22 compatible = "shared-dma-pool";
23 reg = <0x10000000 0x40000>;
27 vdev0vring0: vdev0vring0@10040000 {
28 compatible = "shared-dma-pool";
29 reg = <0x10040000 0x1000>;
33 vdev0vring1: vdev0vring1@10041000 {
34 compatible = "shared-dma-pool";
35 reg = <0x10041000 0x1000>;
39 vdev0buffer: vdev0buffer@10042000 {
40 compatible = "shared-dma-pool";
41 reg = <0x10042000 0x4000>;
45 mcuram: mcuram@30000000 {
46 compatible = "shared-dma-pool";
47 reg = <0x30000000 0x40000>;
51 retram: retram@38000000 {
52 compatible = "shared-dma-pool";
53 reg = <0x38000000 0x10000>;
57 gpu_reserved: gpu@d4000000 {
58 reg = <0xd4000000 0x4000000>;
63 reg = <0xde000000 0x02000000>;
69 compatible = "gpio-leds";
72 gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
73 linux,default-trigger = "heartbeat";
74 default-state = "off";
79 compatible = "audio-graph-card";
80 label = "STM32MP1-DK";
85 dais = <&sai2a_port &sai2b_port &i2s2_port>;
91 pinctrl-names = "default";
92 pinctrl-0 = <&adc12_ain_pins_a>, <&adc12_usb_cc_pins_a>;
95 vref-supply = <&vrefbuf>;
99 * Type-C USB_PWR_CC1 & USB_PWR_CC2 on in18 & in19.
100 * Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C:
101 * 5 * (56 + 47kOhms) * 5pF => 2.5us.
102 * Use arbitrary margin here (e.g. 5us).
104 st,min-sample-time-nsecs = <5000>;
105 /* AIN connector, USB Type-C CC1 & CC2 */
106 st,adc-channels = <0 1 6 13 18 19>;
110 /* AIN connector, USB Type-C CC1 & CC2 */
111 st,adc-channels = <0 1 2 6 18 19>;
112 st,min-sample-time-nsecs = <5000>;
118 pinctrl-names = "default", "sleep";
119 pinctrl-0 = <&cec_pins_b>;
120 pinctrl-1 = <&cec_pins_sleep_b>;
126 pinctrl-0 = <ðernet0_rgmii_pins_a>;
127 pinctrl-1 = <ðernet0_rgmii_pins_sleep_a>;
128 pinctrl-names = "default", "sleep";
129 phy-mode = "rgmii-id";
131 phy-handle = <&phy0>;
134 #address-cells = <1>;
136 compatible = "snps,dwmac-mdio";
137 phy0: ethernet-phy@0 {
144 contiguous-area = <&gpu_reserved>;
149 pinctrl-names = "default", "sleep";
150 pinctrl-0 = <&i2c1_pins_a>;
151 pinctrl-1 = <&i2c1_pins_sleep_a>;
152 i2c-scl-rising-time-ns = <100>;
153 i2c-scl-falling-time-ns = <7>;
155 /delete-property/dmas;
156 /delete-property/dma-names;
158 hdmi-transmitter@39 {
159 compatible = "sil,sii9022";
161 iovcc-supply = <&v3v3_hdmi>;
162 cvcc12-supply = <&v1v2_hdmi>;
163 reset-gpios = <&gpioa 10 GPIO_ACTIVE_LOW>;
164 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
165 interrupt-parent = <&gpiog>;
166 #sound-dai-cells = <0>;
170 #address-cells = <1>;
175 sii9022_in: endpoint {
176 remote-endpoint = <<dc_ep0_out>;
182 sii9022_tx_endpoint: endpoint {
183 remote-endpoint = <&i2s2_endpoint>;
189 cs42l51: cs42l51@4a {
190 compatible = "cirrus,cs42l51";
192 #sound-dai-cells = <0>;
194 VD-supply = <&v1v8_audio>;
195 VA-supply = <&v1v8_audio>;
196 VAHP-supply = <&v1v8_audio>;
197 reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
199 clock-names = "MCLK";
203 #address-cells = <1>;
206 cs42l51_tx_endpoint: endpoint@0 {
208 remote-endpoint = <&sai2a_endpoint>;
213 cs42l51_rx_endpoint: endpoint@1 {
215 remote-endpoint = <&sai2b_endpoint>;
224 pinctrl-names = "default";
225 pinctrl-0 = <&i2c4_pins_a>;
226 i2c-scl-rising-time-ns = <185>;
227 i2c-scl-falling-time-ns = <20>;
229 /* spare dmas for other usage */
230 /delete-property/dmas;
231 /delete-property/dma-names;
233 typec: stusb1600@28 {
234 compatible = "st,stusb1600";
236 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
237 interrupt-parent = <&gpioi>;
238 pinctrl-names = "default";
239 pinctrl-0 = <&stusb1600_pins_a>;
243 typec_con: connector {
244 compatible = "usb-c-connector";
247 power-opmode = "default";
252 compatible = "st,stpmic1";
254 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
255 interrupt-controller;
256 #interrupt-cells = <2>;
260 compatible = "st,stpmic1-regulators";
261 ldo1-supply = <&v3v3>;
262 ldo3-supply = <&vdd_ddr>;
263 ldo6-supply = <&v3v3>;
264 pwr_sw1-supply = <&bst_out>;
265 pwr_sw2-supply = <&bst_out>;
268 regulator-name = "vddcore";
269 regulator-min-microvolt = <1200000>;
270 regulator-max-microvolt = <1350000>;
272 regulator-initial-mode = <0>;
273 regulator-over-current-protection;
277 regulator-name = "vdd_ddr";
278 regulator-min-microvolt = <1350000>;
279 regulator-max-microvolt = <1350000>;
281 regulator-initial-mode = <0>;
282 regulator-over-current-protection;
286 regulator-name = "vdd";
287 regulator-min-microvolt = <3300000>;
288 regulator-max-microvolt = <3300000>;
291 regulator-initial-mode = <0>;
292 regulator-over-current-protection;
296 regulator-name = "v3v3";
297 regulator-min-microvolt = <3300000>;
298 regulator-max-microvolt = <3300000>;
300 regulator-over-current-protection;
301 regulator-initial-mode = <0>;
305 regulator-name = "v1v8_audio";
306 regulator-min-microvolt = <1800000>;
307 regulator-max-microvolt = <1800000>;
309 interrupts = <IT_CURLIM_LDO1 0>;
313 regulator-name = "v3v3_hdmi";
314 regulator-min-microvolt = <3300000>;
315 regulator-max-microvolt = <3300000>;
317 interrupts = <IT_CURLIM_LDO2 0>;
321 regulator-name = "vtt_ddr";
322 regulator-min-microvolt = <500000>;
323 regulator-max-microvolt = <750000>;
325 regulator-over-current-protection;
329 regulator-name = "vdd_usb";
330 regulator-min-microvolt = <3300000>;
331 regulator-max-microvolt = <3300000>;
332 interrupts = <IT_CURLIM_LDO4 0>;
336 regulator-name = "vdda";
337 regulator-min-microvolt = <2900000>;
338 regulator-max-microvolt = <2900000>;
339 interrupts = <IT_CURLIM_LDO5 0>;
344 regulator-name = "v1v2_hdmi";
345 regulator-min-microvolt = <1200000>;
346 regulator-max-microvolt = <1200000>;
348 interrupts = <IT_CURLIM_LDO6 0>;
352 regulator-name = "vref_ddr";
354 regulator-over-current-protection;
358 regulator-name = "bst_out";
359 interrupts = <IT_OCP_BOOST 0>;
363 regulator-name = "vbus_otg";
364 interrupts = <IT_OCP_OTG 0>;
368 regulator-name = "vbus_sw";
369 interrupts = <IT_OCP_SWOUT 0>;
370 regulator-active-discharge = <1>;
375 compatible = "st,stpmic1-onkey";
376 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
377 interrupt-names = "onkey-falling", "onkey-rising";
378 power-off-time-sec = <10>;
383 compatible = "st,stpmic1-wdt";
390 clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
391 clock-names = "pclk", "i2sclk", "x8k", "x11k";
392 pinctrl-names = "default", "sleep";
393 pinctrl-0 = <&i2s2_pins_a>;
394 pinctrl-1 = <&i2s2_pins_sleep_a>;
398 i2s2_endpoint: endpoint {
399 remote-endpoint = <&sii9022_tx_endpoint>;
416 pinctrl-names = "default", "sleep";
417 pinctrl-0 = <<dc_pins_a>;
418 pinctrl-1 = <<dc_pins_sleep_a>;
422 #address-cells = <1>;
425 ltdc_ep0_out: endpoint@0 {
427 remote-endpoint = <&sii9022_in>;
433 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
434 <&vdev0vring1>, <&vdev0buffer>;
435 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
436 mbox-names = "vq0", "vq1", "shutdown";
437 interrupt-parent = <&exti>;
444 vdd_3v3_usbfs-supply = <&vdd_usb>;
456 clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
457 clock-names = "pclk", "x8k", "x11k";
458 pinctrl-names = "default", "sleep";
459 pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_b>;
460 pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_b>;
463 sai2a: audio-controller@4400b004 {
466 clocks = <&rcc SAI2_K>;
467 clock-names = "sai_ck";
471 sai2a_endpoint: endpoint {
472 remote-endpoint = <&cs42l51_tx_endpoint>;
475 dai-tdm-slot-num = <2>;
476 dai-tdm-slot-width = <32>;
481 sai2b: audio-controller@4400b024 {
483 st,sync = <&sai2a 2>;
484 clocks = <&rcc SAI2_K>, <&sai2a>;
485 clock-names = "sai_ck", "MCLK";
489 sai2b_endpoint: endpoint {
490 remote-endpoint = <&cs42l51_rx_endpoint>;
493 dai-tdm-slot-num = <2>;
494 dai-tdm-slot-width = <32>;
501 pinctrl-names = "default", "opendrain", "sleep";
502 pinctrl-0 = <&sdmmc1_b4_pins_a>;
503 pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
504 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
508 vmmc-supply = <&v3v3>;
513 pinctrl-names = "default", "opendrain", "sleep";
514 pinctrl-0 = <&sdmmc3_b4_pins_a>;
515 pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
516 pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
520 vmmc-supply = <&v3v3>;
525 /* spare dmas for other usage */
526 /delete-property/dmas;
527 /delete-property/dma-names;
530 pinctrl-0 = <&pwm1_pins_a>;
531 pinctrl-1 = <&pwm1_sleep_pins_a>;
532 pinctrl-names = "default", "sleep";
541 /delete-property/dmas;
542 /delete-property/dma-names;
545 pinctrl-0 = <&pwm3_pins_a>;
546 pinctrl-1 = <&pwm3_sleep_pins_a>;
547 pinctrl-names = "default", "sleep";
556 /delete-property/dmas;
557 /delete-property/dma-names;
560 pinctrl-0 = <&pwm4_pins_a &pwm4_pins_b>;
561 pinctrl-1 = <&pwm4_sleep_pins_a &pwm4_sleep_pins_b>;
562 pinctrl-names = "default", "sleep";
571 /delete-property/dmas;
572 /delete-property/dma-names;
575 pinctrl-0 = <&pwm5_pins_a>;
576 pinctrl-1 = <&pwm5_sleep_pins_a>;
577 pinctrl-names = "default", "sleep";
586 /delete-property/dmas;
587 /delete-property/dma-names;
595 /delete-property/dmas;
596 /delete-property/dma-names;
599 pinctrl-0 = <&pwm12_pins_a>;
600 pinctrl-1 = <&pwm12_sleep_pins_a>;
601 pinctrl-names = "default", "sleep";
610 pinctrl-names = "default";
611 pinctrl-0 = <&uart4_pins_a>;
616 phys = <&usbphyc_port0>;
621 dr_mode = "peripheral";
622 phys = <&usbphyc_port1 0>;
623 phy-names = "usb2-phy";
632 phy-supply = <&vdd_usb>;
636 phy-supply = <&vdd_usb>;
640 regulator-min-microvolt = <2500000>;
641 regulator-max-microvolt = <2500000>;
642 vdda-supply = <&vdd>;