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>;
64 compatible = "gpio-leds";
67 gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
68 linux,default-trigger = "heartbeat";
69 default-state = "off";
74 compatible = "audio-graph-card";
75 label = "STM32MP1-DK";
80 dais = <&sai2a_port &sai2b_port &i2s2_port>;
86 pinctrl-names = "default";
87 pinctrl-0 = <&adc12_ain_pins_a>, <&adc12_usb_cc_pins_a>;
90 vref-supply = <&vrefbuf>;
94 * Type-C USB_PWR_CC1 & USB_PWR_CC2 on in18 & in19.
95 * Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C:
96 * 5 * (56 + 47kOhms) * 5pF => 2.5us.
97 * Use arbitrary margin here (e.g. 5us).
99 st,min-sample-time-nsecs = <5000>;
100 /* AIN connector, USB Type-C CC1 & CC2 */
101 st,adc-channels = <0 1 6 13 18 19>;
105 /* AIN connector, USB Type-C CC1 & CC2 */
106 st,adc-channels = <0 1 2 6 18 19>;
107 st,min-sample-time-nsecs = <5000>;
113 pinctrl-names = "default", "sleep";
114 pinctrl-0 = <&cec_pins_b>;
115 pinctrl-1 = <&cec_sleep_pins_b>;
125 pinctrl-0 = <ðernet0_rgmii_pins_a>;
126 pinctrl-1 = <ðernet0_rgmii_sleep_pins_a>;
127 pinctrl-names = "default", "sleep";
128 phy-mode = "rgmii-id";
130 phy-handle = <&phy0>;
133 #address-cells = <1>;
135 compatible = "snps,dwmac-mdio";
136 phy0: ethernet-phy@0 {
143 contiguous-area = <&gpu_reserved>;
147 pinctrl-names = "default", "sleep";
148 pinctrl-0 = <&i2c1_pins_a>;
149 pinctrl-1 = <&i2c1_sleep_pins_a>;
150 i2c-scl-rising-time-ns = <100>;
151 i2c-scl-falling-time-ns = <7>;
153 /delete-property/dmas;
154 /delete-property/dma-names;
156 hdmi-transmitter@39 {
157 compatible = "sil,sii9022";
159 iovcc-supply = <&v3v3_hdmi>;
160 cvcc12-supply = <&v1v2_hdmi>;
161 reset-gpios = <&gpioa 10 GPIO_ACTIVE_LOW>;
162 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
163 interrupt-parent = <&gpiog>;
164 #sound-dai-cells = <0>;
168 #address-cells = <1>;
173 sii9022_in: endpoint {
174 remote-endpoint = <<dc_ep0_out>;
180 sii9022_tx_endpoint: endpoint {
181 remote-endpoint = <&i2s2_endpoint>;
187 cs42l51: cs42l51@4a {
188 compatible = "cirrus,cs42l51";
190 #sound-dai-cells = <0>;
192 VD-supply = <&v1v8_audio>;
193 VA-supply = <&v1v8_audio>;
194 VAHP-supply = <&v1v8_audio>;
195 reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
197 clock-names = "MCLK";
201 #address-cells = <1>;
204 cs42l51_tx_endpoint: endpoint@0 {
206 remote-endpoint = <&sai2a_endpoint>;
211 cs42l51_rx_endpoint: endpoint@1 {
213 remote-endpoint = <&sai2b_endpoint>;
222 pinctrl-names = "default", "sleep";
223 pinctrl-0 = <&i2c4_pins_a>;
224 pinctrl-1 = <&i2c4_sleep_pins_a>;
225 i2c-scl-rising-time-ns = <185>;
226 i2c-scl-falling-time-ns = <20>;
227 clock-frequency = <400000>;
229 /* spare dmas for other usage */
230 /delete-property/dmas;
231 /delete-property/dma-names;
234 compatible = "st,stpmic1";
236 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
237 interrupt-controller;
238 #interrupt-cells = <2>;
242 compatible = "st,stpmic1-regulators";
243 ldo1-supply = <&v3v3>;
244 ldo3-supply = <&vdd_ddr>;
245 ldo6-supply = <&v3v3>;
246 pwr_sw1-supply = <&bst_out>;
247 pwr_sw2-supply = <&bst_out>;
250 regulator-name = "vddcore";
251 regulator-min-microvolt = <1200000>;
252 regulator-max-microvolt = <1350000>;
254 regulator-initial-mode = <0>;
255 regulator-over-current-protection;
259 regulator-name = "vdd_ddr";
260 regulator-min-microvolt = <1350000>;
261 regulator-max-microvolt = <1350000>;
263 regulator-initial-mode = <0>;
264 regulator-over-current-protection;
268 regulator-name = "vdd";
269 regulator-min-microvolt = <3300000>;
270 regulator-max-microvolt = <3300000>;
273 regulator-initial-mode = <0>;
274 regulator-over-current-protection;
278 regulator-name = "v3v3";
279 regulator-min-microvolt = <3300000>;
280 regulator-max-microvolt = <3300000>;
282 regulator-over-current-protection;
283 regulator-initial-mode = <0>;
287 regulator-name = "v1v8_audio";
288 regulator-min-microvolt = <1800000>;
289 regulator-max-microvolt = <1800000>;
291 interrupts = <IT_CURLIM_LDO1 0>;
295 regulator-name = "v3v3_hdmi";
296 regulator-min-microvolt = <3300000>;
297 regulator-max-microvolt = <3300000>;
299 interrupts = <IT_CURLIM_LDO2 0>;
303 regulator-name = "vtt_ddr";
304 regulator-min-microvolt = <500000>;
305 regulator-max-microvolt = <750000>;
307 regulator-over-current-protection;
311 regulator-name = "vdd_usb";
312 interrupts = <IT_CURLIM_LDO4 0>;
316 regulator-name = "vdda";
317 regulator-min-microvolt = <2900000>;
318 regulator-max-microvolt = <2900000>;
319 interrupts = <IT_CURLIM_LDO5 0>;
324 regulator-name = "v1v2_hdmi";
325 regulator-min-microvolt = <1200000>;
326 regulator-max-microvolt = <1200000>;
328 interrupts = <IT_CURLIM_LDO6 0>;
332 regulator-name = "vref_ddr";
337 regulator-name = "bst_out";
338 interrupts = <IT_OCP_BOOST 0>;
342 regulator-name = "vbus_otg";
343 interrupts = <IT_OCP_OTG 0>;
347 regulator-name = "vbus_sw";
348 interrupts = <IT_OCP_SWOUT 0>;
349 regulator-active-discharge = <1>;
354 compatible = "st,stpmic1-onkey";
355 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
356 interrupt-names = "onkey-falling", "onkey-rising";
357 power-off-time-sec = <10>;
362 compatible = "st,stpmic1-wdt";
369 pinctrl-names = "default", "sleep";
370 pinctrl-0 = <&i2c5_pins_a>;
371 pinctrl-1 = <&i2c5_sleep_pins_a>;
372 i2c-scl-rising-time-ns = <185>;
373 i2c-scl-falling-time-ns = <20>;
374 clock-frequency = <400000>;
375 /* spare dmas for other usage */
376 /delete-property/dmas;
377 /delete-property/dma-names;
382 clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
383 clock-names = "pclk", "i2sclk", "x8k", "x11k";
384 pinctrl-names = "default", "sleep";
385 pinctrl-0 = <&i2s2_pins_a>;
386 pinctrl-1 = <&i2s2_sleep_pins_a>;
390 i2s2_endpoint: endpoint {
391 remote-endpoint = <&sii9022_tx_endpoint>;
408 pinctrl-names = "default", "sleep";
409 pinctrl-0 = <<dc_pins_a>;
410 pinctrl-1 = <<dc_sleep_pins_a>;
414 ltdc_ep0_out: endpoint@0 {
416 remote-endpoint = <&sii9022_in>;
422 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
423 <&vdev0vring1>, <&vdev0buffer>;
424 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
425 mbox-names = "vq0", "vq1", "shutdown";
426 interrupt-parent = <&exti>;
433 vdd_3v3_usbfs-supply = <&vdd_usb>;
445 clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
446 clock-names = "pclk", "x8k", "x11k";
447 pinctrl-names = "default", "sleep";
448 pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_b>;
449 pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_b>;
452 sai2a: audio-controller@4400b004 {
455 clocks = <&rcc SAI2_K>;
456 clock-names = "sai_ck";
460 sai2a_endpoint: endpoint {
461 remote-endpoint = <&cs42l51_tx_endpoint>;
464 dai-tdm-slot-num = <2>;
465 dai-tdm-slot-width = <32>;
470 sai2b: audio-controller@4400b024 {
472 st,sync = <&sai2a 2>;
473 clocks = <&rcc SAI2_K>, <&sai2a>;
474 clock-names = "sai_ck", "MCLK";
478 sai2b_endpoint: endpoint {
479 remote-endpoint = <&cs42l51_rx_endpoint>;
482 dai-tdm-slot-num = <2>;
483 dai-tdm-slot-width = <32>;
490 pinctrl-names = "default", "opendrain", "sleep";
491 pinctrl-0 = <&sdmmc1_b4_pins_a>;
492 pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
493 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
494 cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
498 vmmc-supply = <&v3v3>;
503 pinctrl-names = "default", "opendrain", "sleep";
504 pinctrl-0 = <&sdmmc3_b4_pins_a>;
505 pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
506 pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
510 vmmc-supply = <&v3v3>;
515 /* spare dmas for other usage */
516 /delete-property/dmas;
517 /delete-property/dma-names;
520 pinctrl-0 = <&pwm1_pins_a>;
521 pinctrl-1 = <&pwm1_sleep_pins_a>;
522 pinctrl-names = "default", "sleep";
531 /delete-property/dmas;
532 /delete-property/dma-names;
535 pinctrl-0 = <&pwm3_pins_a>;
536 pinctrl-1 = <&pwm3_sleep_pins_a>;
537 pinctrl-names = "default", "sleep";
546 /delete-property/dmas;
547 /delete-property/dma-names;
550 pinctrl-0 = <&pwm4_pins_a &pwm4_pins_b>;
551 pinctrl-1 = <&pwm4_sleep_pins_a &pwm4_sleep_pins_b>;
552 pinctrl-names = "default", "sleep";
561 /delete-property/dmas;
562 /delete-property/dma-names;
565 pinctrl-0 = <&pwm5_pins_a>;
566 pinctrl-1 = <&pwm5_sleep_pins_a>;
567 pinctrl-names = "default", "sleep";
576 /delete-property/dmas;
577 /delete-property/dma-names;
585 /delete-property/dmas;
586 /delete-property/dma-names;
589 pinctrl-0 = <&pwm12_pins_a>;
590 pinctrl-1 = <&pwm12_sleep_pins_a>;
591 pinctrl-names = "default", "sleep";
600 pinctrl-names = "default", "sleep", "idle";
601 pinctrl-0 = <&uart4_pins_a>;
602 pinctrl-1 = <&uart4_sleep_pins_a>;
603 pinctrl-2 = <&uart4_idle_pins_a>;
608 pinctrl-names = "default", "sleep", "idle";
609 pinctrl-0 = <&uart7_pins_c>;
610 pinctrl-1 = <&uart7_sleep_pins_c>;
611 pinctrl-2 = <&uart7_idle_pins_c>;
616 pinctrl-names = "default", "sleep", "idle";
617 pinctrl-0 = <&usart3_pins_c>;
618 pinctrl-1 = <&usart3_sleep_pins_c>;
619 pinctrl-2 = <&usart3_idle_pins_c>;
625 phys = <&usbphyc_port0>;
630 phys = <&usbphyc_port1 0>;
631 phy-names = "usb2-phy";
641 phy-supply = <&vdd_usb>;
642 vdda1v1-supply = <®11>;
643 vdda1v8-supply = <®18>;
647 phy-supply = <&vdd_usb>;
648 vdda1v1-supply = <®11>;
649 vdda1v8-supply = <®18>;
653 regulator-min-microvolt = <2500000>;
654 regulator-max-microvolt = <2500000>;
655 vdda-supply = <&vdd>;