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>;
85 compatible = "regulator-fixed";
86 regulator-name = "vin";
87 regulator-min-microvolt = <5000000>;
88 regulator-max-microvolt = <5000000>;
94 pinctrl-names = "default";
95 pinctrl-0 = <&adc12_ain_pins_a>, <&adc12_usb_cc_pins_a>;
98 vref-supply = <&vrefbuf>;
102 * Type-C USB_PWR_CC1 & USB_PWR_CC2 on in18 & in19.
103 * Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C:
104 * 5 * (56 + 47kOhms) * 5pF => 2.5us.
105 * Use arbitrary margin here (e.g. 5us).
107 st,min-sample-time-nsecs = <5000>;
108 /* AIN connector, USB Type-C CC1 & CC2 */
109 st,adc-channels = <0 1 6 13 18 19>;
113 /* AIN connector, USB Type-C CC1 & CC2 */
114 st,adc-channels = <0 1 2 6 18 19>;
115 st,min-sample-time-nsecs = <5000>;
121 pinctrl-names = "default", "sleep";
122 pinctrl-0 = <&cec_pins_b>;
123 pinctrl-1 = <&cec_sleep_pins_b>;
136 cpu-supply = <&vddcore>;
140 cpu-supply = <&vddcore>;
145 pinctrl-0 = <ðernet0_rgmii_pins_a>;
146 pinctrl-1 = <ðernet0_rgmii_sleep_pins_a>;
147 pinctrl-names = "default", "sleep";
148 phy-mode = "rgmii-id";
150 phy-handle = <&phy0>;
153 #address-cells = <1>;
155 compatible = "snps,dwmac-mdio";
156 phy0: ethernet-phy@0 {
163 contiguous-area = <&gpu_reserved>;
171 pinctrl-names = "default", "sleep";
172 pinctrl-0 = <&i2c1_pins_a>;
173 pinctrl-1 = <&i2c1_sleep_pins_a>;
174 i2c-scl-rising-time-ns = <100>;
175 i2c-scl-falling-time-ns = <7>;
177 /delete-property/dmas;
178 /delete-property/dma-names;
180 hdmi-transmitter@39 {
181 compatible = "sil,sii9022";
183 iovcc-supply = <&v3v3_hdmi>;
184 cvcc12-supply = <&v1v2_hdmi>;
185 reset-gpios = <&gpioa 10 GPIO_ACTIVE_LOW>;
186 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
187 interrupt-parent = <&gpiog>;
188 #sound-dai-cells = <0>;
192 #address-cells = <1>;
197 sii9022_in: endpoint {
198 remote-endpoint = <<dc_ep0_out>;
204 sii9022_tx_endpoint: endpoint {
205 remote-endpoint = <&i2s2_endpoint>;
211 cs42l51: cs42l51@4a {
212 compatible = "cirrus,cs42l51";
214 #sound-dai-cells = <0>;
216 VD-supply = <&v1v8_audio>;
217 VA-supply = <&v1v8_audio>;
218 VAHP-supply = <&v1v8_audio>;
219 reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
221 clock-names = "MCLK";
225 #address-cells = <1>;
228 cs42l51_tx_endpoint: endpoint@0 {
230 remote-endpoint = <&sai2a_endpoint>;
235 cs42l51_rx_endpoint: endpoint@1 {
237 remote-endpoint = <&sai2b_endpoint>;
246 pinctrl-names = "default", "sleep";
247 pinctrl-0 = <&i2c4_pins_a>;
248 pinctrl-1 = <&i2c4_sleep_pins_a>;
249 i2c-scl-rising-time-ns = <185>;
250 i2c-scl-falling-time-ns = <20>;
251 clock-frequency = <400000>;
253 /* spare dmas for other usage */
254 /delete-property/dmas;
255 /delete-property/dma-names;
258 compatible = "st,stusb1600";
260 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
261 interrupt-parent = <&gpioi>;
262 pinctrl-names = "default";
263 pinctrl-0 = <&stusb1600_pins_a>;
268 compatible = "usb-c-connector";
271 typec-power-opmode = "default";
274 con_usbotg_hs_ep: endpoint {
275 remote-endpoint = <&usbotg_hs_ep>;
282 compatible = "st,stpmic1";
284 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
285 interrupt-controller;
286 #interrupt-cells = <2>;
290 compatible = "st,stpmic1-regulators";
291 buck1-supply = <&vin>;
292 buck2-supply = <&vin>;
293 buck3-supply = <&vin>;
294 buck4-supply = <&vin>;
295 ldo1-supply = <&v3v3>;
296 ldo2-supply = <&vin>;
297 ldo3-supply = <&vdd_ddr>;
298 ldo4-supply = <&vin>;
299 ldo5-supply = <&vin>;
300 ldo6-supply = <&v3v3>;
301 vref_ddr-supply = <&vin>;
302 boost-supply = <&vin>;
303 pwr_sw1-supply = <&bst_out>;
304 pwr_sw2-supply = <&bst_out>;
307 regulator-name = "vddcore";
308 regulator-min-microvolt = <1200000>;
309 regulator-max-microvolt = <1350000>;
311 regulator-initial-mode = <0>;
312 regulator-over-current-protection;
316 regulator-name = "vdd_ddr";
317 regulator-min-microvolt = <1350000>;
318 regulator-max-microvolt = <1350000>;
320 regulator-initial-mode = <0>;
321 regulator-over-current-protection;
325 regulator-name = "vdd";
326 regulator-min-microvolt = <3300000>;
327 regulator-max-microvolt = <3300000>;
330 regulator-initial-mode = <0>;
331 regulator-over-current-protection;
335 regulator-name = "v3v3";
336 regulator-min-microvolt = <3300000>;
337 regulator-max-microvolt = <3300000>;
339 regulator-over-current-protection;
340 regulator-initial-mode = <0>;
344 regulator-name = "v1v8_audio";
345 regulator-min-microvolt = <1800000>;
346 regulator-max-microvolt = <1800000>;
348 interrupts = <IT_CURLIM_LDO1 0>;
352 regulator-name = "v3v3_hdmi";
353 regulator-min-microvolt = <3300000>;
354 regulator-max-microvolt = <3300000>;
356 interrupts = <IT_CURLIM_LDO2 0>;
360 regulator-name = "vtt_ddr";
361 regulator-min-microvolt = <500000>;
362 regulator-max-microvolt = <750000>;
364 regulator-over-current-protection;
368 regulator-name = "vdd_usb";
369 interrupts = <IT_CURLIM_LDO4 0>;
373 regulator-name = "vdda";
374 regulator-min-microvolt = <2900000>;
375 regulator-max-microvolt = <2900000>;
376 interrupts = <IT_CURLIM_LDO5 0>;
381 regulator-name = "v1v2_hdmi";
382 regulator-min-microvolt = <1200000>;
383 regulator-max-microvolt = <1200000>;
385 interrupts = <IT_CURLIM_LDO6 0>;
389 regulator-name = "vref_ddr";
394 regulator-name = "bst_out";
395 interrupts = <IT_OCP_BOOST 0>;
399 regulator-name = "vbus_otg";
400 interrupts = <IT_OCP_OTG 0>;
404 regulator-name = "vbus_sw";
405 interrupts = <IT_OCP_SWOUT 0>;
406 regulator-active-discharge = <1>;
411 compatible = "st,stpmic1-onkey";
412 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
413 interrupt-names = "onkey-falling", "onkey-rising";
414 power-off-time-sec = <10>;
419 compatible = "st,stpmic1-wdt";
426 pinctrl-names = "default", "sleep";
427 pinctrl-0 = <&i2c5_pins_a>;
428 pinctrl-1 = <&i2c5_sleep_pins_a>;
429 i2c-scl-rising-time-ns = <185>;
430 i2c-scl-falling-time-ns = <20>;
431 clock-frequency = <400000>;
432 /* spare dmas for other usage */
433 /delete-property/dmas;
434 /delete-property/dma-names;
439 clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
440 clock-names = "pclk", "i2sclk", "x8k", "x11k";
441 pinctrl-names = "default", "sleep";
442 pinctrl-0 = <&i2s2_pins_a>;
443 pinctrl-1 = <&i2s2_sleep_pins_a>;
447 i2s2_endpoint: endpoint {
448 remote-endpoint = <&sii9022_tx_endpoint>;
465 pinctrl-names = "default", "sleep";
466 pinctrl-0 = <<dc_pins_a>;
467 pinctrl-1 = <<dc_sleep_pins_a>;
471 ltdc_ep0_out: endpoint@0 {
473 remote-endpoint = <&sii9022_in>;
479 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
480 <&vdev0vring1>, <&vdev0buffer>;
481 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
482 mbox-names = "vq0", "vq1", "shutdown";
483 interrupt-parent = <&exti>;
490 vdd_3v3_usbfs-supply = <&vdd_usb>;
502 clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
503 clock-names = "pclk", "x8k", "x11k";
504 pinctrl-names = "default", "sleep";
505 pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_b>;
506 pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_b>;
509 sai2a: audio-controller@4400b004 {
512 clocks = <&rcc SAI2_K>;
513 clock-names = "sai_ck";
517 sai2a_endpoint: endpoint {
518 remote-endpoint = <&cs42l51_tx_endpoint>;
521 dai-tdm-slot-num = <2>;
522 dai-tdm-slot-width = <32>;
527 sai2b: audio-controller@4400b024 {
529 st,sync = <&sai2a 2>;
530 clocks = <&rcc SAI2_K>, <&sai2a>;
531 clock-names = "sai_ck", "MCLK";
535 sai2b_endpoint: endpoint {
536 remote-endpoint = <&cs42l51_rx_endpoint>;
539 dai-tdm-slot-num = <2>;
540 dai-tdm-slot-width = <32>;
547 pinctrl-names = "default", "opendrain", "sleep";
548 pinctrl-0 = <&sdmmc1_b4_pins_a>;
549 pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
550 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
551 cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
555 vmmc-supply = <&v3v3>;
560 pinctrl-names = "default", "opendrain", "sleep";
561 pinctrl-0 = <&sdmmc3_b4_pins_a>;
562 pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
563 pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
567 vmmc-supply = <&v3v3>;
572 /* spare dmas for other usage */
573 /delete-property/dmas;
574 /delete-property/dma-names;
577 pinctrl-0 = <&pwm1_pins_a>;
578 pinctrl-1 = <&pwm1_sleep_pins_a>;
579 pinctrl-names = "default", "sleep";
588 /delete-property/dmas;
589 /delete-property/dma-names;
592 pinctrl-0 = <&pwm3_pins_a>;
593 pinctrl-1 = <&pwm3_sleep_pins_a>;
594 pinctrl-names = "default", "sleep";
603 /delete-property/dmas;
604 /delete-property/dma-names;
607 pinctrl-0 = <&pwm4_pins_a &pwm4_pins_b>;
608 pinctrl-1 = <&pwm4_sleep_pins_a &pwm4_sleep_pins_b>;
609 pinctrl-names = "default", "sleep";
618 /delete-property/dmas;
619 /delete-property/dma-names;
622 pinctrl-0 = <&pwm5_pins_a>;
623 pinctrl-1 = <&pwm5_sleep_pins_a>;
624 pinctrl-names = "default", "sleep";
633 /delete-property/dmas;
634 /delete-property/dma-names;
642 /delete-property/dmas;
643 /delete-property/dma-names;
646 pinctrl-0 = <&pwm12_pins_a>;
647 pinctrl-1 = <&pwm12_sleep_pins_a>;
648 pinctrl-names = "default", "sleep";
657 pinctrl-names = "default", "sleep", "idle";
658 pinctrl-0 = <&uart4_pins_a>;
659 pinctrl-1 = <&uart4_sleep_pins_a>;
660 pinctrl-2 = <&uart4_idle_pins_a>;
665 pinctrl-names = "default", "sleep", "idle";
666 pinctrl-0 = <&uart7_pins_c>;
667 pinctrl-1 = <&uart7_sleep_pins_c>;
668 pinctrl-2 = <&uart7_idle_pins_c>;
673 pinctrl-names = "default", "sleep", "idle";
674 pinctrl-0 = <&usart3_pins_c>;
675 pinctrl-1 = <&usart3_sleep_pins_c>;
676 pinctrl-2 = <&usart3_idle_pins_c>;
682 phys = <&usbphyc_port0>;
687 phys = <&usbphyc_port1 0>;
688 phy-names = "usb2-phy";
693 usbotg_hs_ep: endpoint {
694 remote-endpoint = <&con_usbotg_hs_ep>;
704 phy-supply = <&vdd_usb>;
708 phy-supply = <&vdd_usb>;
712 regulator-min-microvolt = <2500000>;
713 regulator-max-microvolt = <2500000>;
714 vdda-supply = <&vdd>;