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.
9 #include "stm32mp157c.dtsi"
10 #include "stm32mp157xac-pinctrl.dtsi"
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/mfd/st,stpmic1.h>
15 model = "STMicroelectronics STM32MP157A-DK1 Discovery Board";
16 compatible = "st,stm32mp157a-dk1", "st,stm32mp157";
19 ethernet0 = ðernet0;
24 stdout-path = "serial0:115200n8";
28 device_type = "memory";
29 reg = <0xc0000000 0x20000000>;
37 mcuram2: mcuram2@10000000 {
38 compatible = "shared-dma-pool";
39 reg = <0x10000000 0x40000>;
43 vdev0vring0: vdev0vring0@10040000 {
44 compatible = "shared-dma-pool";
45 reg = <0x10040000 0x1000>;
49 vdev0vring1: vdev0vring1@10041000 {
50 compatible = "shared-dma-pool";
51 reg = <0x10041000 0x1000>;
55 vdev0buffer: vdev0buffer@10042000 {
56 compatible = "shared-dma-pool";
57 reg = <0x10042000 0x4000>;
61 mcuram: mcuram@30000000 {
62 compatible = "shared-dma-pool";
63 reg = <0x30000000 0x40000>;
67 retram: retram@38000000 {
68 compatible = "shared-dma-pool";
69 reg = <0x38000000 0x10000>;
73 gpu_reserved: gpu@d4000000 {
74 reg = <0xd4000000 0x4000000>;
80 compatible = "gpio-leds";
83 gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
84 linux,default-trigger = "heartbeat";
85 default-state = "off";
90 compatible = "audio-graph-card";
91 label = "STM32MP1-DK";
96 dais = <&sai2a_port &sai2b_port &i2s2_port>;
102 pinctrl-names = "default";
103 pinctrl-0 = <&adc12_ain_pins_a>, <&adc12_usb_cc_pins_a>;
105 vdda-supply = <&vdd>;
106 vref-supply = <&vrefbuf>;
110 * Type-C USB_PWR_CC1 & USB_PWR_CC2 on in18 & in19.
111 * Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C:
112 * 5 * (56 + 47kOhms) * 5pF => 2.5us.
113 * Use arbitrary margin here (e.g. 5us).
115 st,min-sample-time-nsecs = <5000>;
116 /* AIN connector, USB Type-C CC1 & CC2 */
117 st,adc-channels = <0 1 6 13 18 19>;
121 /* AIN connector, USB Type-C CC1 & CC2 */
122 st,adc-channels = <0 1 2 6 18 19>;
123 st,min-sample-time-nsecs = <5000>;
129 pinctrl-names = "default", "sleep";
130 pinctrl-0 = <&cec_pins_b>;
131 pinctrl-1 = <&cec_pins_sleep_b>;
137 pinctrl-0 = <ðernet0_rgmii_pins_a>;
138 pinctrl-1 = <ðernet0_rgmii_pins_sleep_a>;
139 pinctrl-names = "default", "sleep";
140 phy-mode = "rgmii-id";
142 phy-handle = <&phy0>;
145 #address-cells = <1>;
147 compatible = "snps,dwmac-mdio";
148 phy0: ethernet-phy@0 {
155 contiguous-area = <&gpu_reserved>;
160 pinctrl-names = "default", "sleep";
161 pinctrl-0 = <&i2c1_pins_a>;
162 pinctrl-1 = <&i2c1_pins_sleep_a>;
163 i2c-scl-rising-time-ns = <100>;
164 i2c-scl-falling-time-ns = <7>;
166 /delete-property/dmas;
167 /delete-property/dma-names;
169 hdmi-transmitter@39 {
170 compatible = "sil,sii9022";
172 iovcc-supply = <&v3v3_hdmi>;
173 cvcc12-supply = <&v1v2_hdmi>;
174 reset-gpios = <&gpioa 10 GPIO_ACTIVE_LOW>;
175 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
176 interrupt-parent = <&gpiog>;
177 #sound-dai-cells = <0>;
181 #address-cells = <1>;
186 sii9022_in: endpoint {
187 remote-endpoint = <<dc_ep0_out>;
193 sii9022_tx_endpoint: endpoint {
194 remote-endpoint = <&i2s2_endpoint>;
200 cs42l51: cs42l51@4a {
201 compatible = "cirrus,cs42l51";
203 #sound-dai-cells = <0>;
205 VD-supply = <&v1v8_audio>;
206 VA-supply = <&v1v8_audio>;
207 VAHP-supply = <&v1v8_audio>;
208 reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
210 clock-names = "MCLK";
214 #address-cells = <1>;
217 cs42l51_tx_endpoint: endpoint@0 {
219 remote-endpoint = <&sai2a_endpoint>;
224 cs42l51_rx_endpoint: endpoint@1 {
226 remote-endpoint = <&sai2b_endpoint>;
235 pinctrl-names = "default";
236 pinctrl-0 = <&i2c4_pins_a>;
237 i2c-scl-rising-time-ns = <185>;
238 i2c-scl-falling-time-ns = <20>;
240 /* spare dmas for other usage */
241 /delete-property/dmas;
242 /delete-property/dma-names;
245 compatible = "st,stpmic1";
247 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
248 interrupt-controller;
249 #interrupt-cells = <2>;
253 compatible = "st,stpmic1-regulators";
254 ldo1-supply = <&v3v3>;
255 ldo3-supply = <&vdd_ddr>;
256 ldo6-supply = <&v3v3>;
257 pwr_sw1-supply = <&bst_out>;
258 pwr_sw2-supply = <&bst_out>;
261 regulator-name = "vddcore";
262 regulator-min-microvolt = <1200000>;
263 regulator-max-microvolt = <1350000>;
265 regulator-initial-mode = <0>;
266 regulator-over-current-protection;
270 regulator-name = "vdd_ddr";
271 regulator-min-microvolt = <1350000>;
272 regulator-max-microvolt = <1350000>;
274 regulator-initial-mode = <0>;
275 regulator-over-current-protection;
279 regulator-name = "vdd";
280 regulator-min-microvolt = <3300000>;
281 regulator-max-microvolt = <3300000>;
284 regulator-initial-mode = <0>;
285 regulator-over-current-protection;
289 regulator-name = "v3v3";
290 regulator-min-microvolt = <3300000>;
291 regulator-max-microvolt = <3300000>;
293 regulator-over-current-protection;
294 regulator-initial-mode = <0>;
298 regulator-name = "v1v8_audio";
299 regulator-min-microvolt = <1800000>;
300 regulator-max-microvolt = <1800000>;
302 interrupts = <IT_CURLIM_LDO1 0>;
306 regulator-name = "v3v3_hdmi";
307 regulator-min-microvolt = <3300000>;
308 regulator-max-microvolt = <3300000>;
310 interrupts = <IT_CURLIM_LDO2 0>;
314 regulator-name = "vtt_ddr";
315 regulator-min-microvolt = <500000>;
316 regulator-max-microvolt = <750000>;
318 regulator-over-current-protection;
322 regulator-name = "vdd_usb";
323 regulator-min-microvolt = <3300000>;
324 regulator-max-microvolt = <3300000>;
325 interrupts = <IT_CURLIM_LDO4 0>;
329 regulator-name = "vdda";
330 regulator-min-microvolt = <2900000>;
331 regulator-max-microvolt = <2900000>;
332 interrupts = <IT_CURLIM_LDO5 0>;
337 regulator-name = "v1v2_hdmi";
338 regulator-min-microvolt = <1200000>;
339 regulator-max-microvolt = <1200000>;
341 interrupts = <IT_CURLIM_LDO6 0>;
345 regulator-name = "vref_ddr";
347 regulator-over-current-protection;
351 regulator-name = "bst_out";
352 interrupts = <IT_OCP_BOOST 0>;
356 regulator-name = "vbus_otg";
357 interrupts = <IT_OCP_OTG 0>;
361 regulator-name = "vbus_sw";
362 interrupts = <IT_OCP_SWOUT 0>;
363 regulator-active-discharge = <1>;
368 compatible = "st,stpmic1-onkey";
369 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
370 interrupt-names = "onkey-falling", "onkey-rising";
371 power-off-time-sec = <10>;
376 compatible = "st,stpmic1-wdt";
383 clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
384 clock-names = "pclk", "i2sclk", "x8k", "x11k";
385 pinctrl-names = "default", "sleep";
386 pinctrl-0 = <&i2s2_pins_a>;
387 pinctrl-1 = <&i2s2_pins_sleep_a>;
391 i2s2_endpoint: endpoint {
392 remote-endpoint = <&sii9022_tx_endpoint>;
409 pinctrl-names = "default", "sleep";
410 pinctrl-0 = <<dc_pins_a>;
411 pinctrl-1 = <<dc_pins_sleep_a>;
415 #address-cells = <1>;
418 ltdc_ep0_out: endpoint@0 {
420 remote-endpoint = <&sii9022_in>;
426 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
427 <&vdev0vring1>, <&vdev0buffer>;
428 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
429 mbox-names = "vq0", "vq1", "shutdown";
430 interrupt-parent = <&exti>;
437 vdd_3v3_usbfs-supply = <&vdd_usb>;
449 clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
450 clock-names = "pclk", "x8k", "x11k";
451 pinctrl-names = "default", "sleep";
452 pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_b>;
453 pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_b>;
456 sai2a: audio-controller@4400b004 {
459 clocks = <&rcc SAI2_K>;
460 clock-names = "sai_ck";
464 sai2a_endpoint: endpoint {
465 remote-endpoint = <&cs42l51_tx_endpoint>;
468 dai-tdm-slot-num = <2>;
469 dai-tdm-slot-width = <32>;
474 sai2b: audio-controller@4400b024 {
476 st,sync = <&sai2a 2>;
477 clocks = <&rcc SAI2_K>, <&sai2a>;
478 clock-names = "sai_ck", "MCLK";
482 sai2b_endpoint: endpoint {
483 remote-endpoint = <&cs42l51_rx_endpoint>;
486 dai-tdm-slot-num = <2>;
487 dai-tdm-slot-width = <32>;
494 pinctrl-names = "default", "opendrain", "sleep";
495 pinctrl-0 = <&sdmmc1_b4_pins_a>;
496 pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
497 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
501 vmmc-supply = <&v3v3>;
506 pinctrl-names = "default";
507 pinctrl-0 = <&uart4_pins_a>;
512 regulator-min-microvolt = <2500000>;
513 regulator-max-microvolt = <2500000>;
514 vdda-supply = <&vdd>;