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 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 0x1000>;
48 vdev0vring1: vdev0vring1@10041000 {
49 compatible = "shared-dma-pool";
50 reg = <0x10041000 0x1000>;
54 vdev0buffer: vdev0buffer@10042000 {
55 compatible = "shared-dma-pool";
56 reg = <0x10042000 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>;
72 gpu_reserved: gpu@d4000000 {
73 reg = <0xd4000000 0x4000000>;
79 compatible = "gpio-leds";
82 gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
83 linux,default-trigger = "heartbeat";
84 default-state = "off";
89 compatible = "audio-graph-card";
90 label = "STM32MP1-DK";
95 dais = <&sai2a_port &sai2b_port>;
101 pinctrl-names = "default", "sleep";
102 pinctrl-0 = <&cec_pins_b>;
103 pinctrl-1 = <&cec_pins_sleep_b>;
109 pinctrl-0 = <ðernet0_rgmii_pins_a>;
110 pinctrl-1 = <ðernet0_rgmii_pins_sleep_a>;
111 pinctrl-names = "default", "sleep";
112 phy-mode = "rgmii-id";
114 phy-handle = <&phy0>;
117 #address-cells = <1>;
119 compatible = "snps,dwmac-mdio";
120 phy0: ethernet-phy@0 {
127 contiguous-area = <&gpu_reserved>;
132 pinctrl-names = "default", "sleep";
133 pinctrl-0 = <&i2c1_pins_a>;
134 pinctrl-1 = <&i2c1_pins_sleep_a>;
135 i2c-scl-rising-time-ns = <100>;
136 i2c-scl-falling-time-ns = <7>;
138 /delete-property/dmas;
139 /delete-property/dma-names;
141 hdmi-transmitter@39 {
142 compatible = "sil,sii9022";
144 iovcc-supply = <&v3v3_hdmi>;
145 cvcc12-supply = <&v1v2_hdmi>;
146 reset-gpios = <&gpioa 10 GPIO_ACTIVE_LOW>;
147 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
148 interrupt-parent = <&gpiog>;
149 pinctrl-names = "default", "sleep";
150 pinctrl-0 = <<dc_pins_a>;
151 pinctrl-1 = <<dc_pins_sleep_a>;
155 #address-cells = <1>;
160 sii9022_in: endpoint {
161 remote-endpoint = <<dc_ep0_out>;
167 cs42l51: cs42l51@4a {
168 compatible = "cirrus,cs42l51";
170 #sound-dai-cells = <0>;
172 VD-supply = <&v1v8_audio>;
173 VA-supply = <&v1v8_audio>;
174 VAHP-supply = <&v1v8_audio>;
175 reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>;
177 clock-names = "MCLK";
181 #address-cells = <1>;
184 cs42l51_tx_endpoint: endpoint@0 {
186 remote-endpoint = <&sai2a_endpoint>;
191 cs42l51_rx_endpoint: endpoint@1 {
193 remote-endpoint = <&sai2b_endpoint>;
202 pinctrl-names = "default";
203 pinctrl-0 = <&i2c4_pins_a>;
204 i2c-scl-rising-time-ns = <185>;
205 i2c-scl-falling-time-ns = <20>;
207 /* spare dmas for other usage */
208 /delete-property/dmas;
209 /delete-property/dma-names;
211 typec: stusb1600@28 {
212 compatible = "st,stusb1600";
214 interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
215 interrupt-parent = <&gpioi>;
216 pinctrl-names = "default";
217 pinctrl-0 = <&stusb1600_pins_a>;
221 typec_con: connector {
222 compatible = "usb-c-connector";
225 power-opmode = "default";
230 compatible = "st,stpmic1";
232 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
233 interrupt-controller;
234 #interrupt-cells = <2>;
238 compatible = "st,stpmic1-regulators";
239 ldo1-supply = <&v3v3>;
240 ldo3-supply = <&vdd_ddr>;
241 ldo6-supply = <&v3v3>;
242 pwr_sw1-supply = <&bst_out>;
243 pwr_sw2-supply = <&bst_out>;
246 regulator-name = "vddcore";
247 regulator-min-microvolt = <800000>;
248 regulator-max-microvolt = <1350000>;
250 regulator-initial-mode = <0>;
251 regulator-over-current-protection;
255 regulator-name = "vdd_ddr";
256 regulator-min-microvolt = <1350000>;
257 regulator-max-microvolt = <1350000>;
259 regulator-initial-mode = <0>;
260 regulator-over-current-protection;
264 regulator-name = "vdd";
265 regulator-min-microvolt = <3300000>;
266 regulator-max-microvolt = <3300000>;
269 regulator-initial-mode = <0>;
270 regulator-over-current-protection;
274 regulator-name = "v3v3";
275 regulator-min-microvolt = <3300000>;
276 regulator-max-microvolt = <3300000>;
278 regulator-over-current-protection;
279 regulator-initial-mode = <0>;
283 regulator-name = "v1v8_audio";
284 regulator-min-microvolt = <1800000>;
285 regulator-max-microvolt = <1800000>;
287 interrupts = <IT_CURLIM_LDO1 0>;
291 regulator-name = "v3v3_hdmi";
292 regulator-min-microvolt = <3300000>;
293 regulator-max-microvolt = <3300000>;
295 interrupts = <IT_CURLIM_LDO2 0>;
299 regulator-name = "vtt_ddr";
300 regulator-min-microvolt = <500000>;
301 regulator-max-microvolt = <750000>;
303 regulator-over-current-protection;
307 regulator-name = "vdd_usb";
308 regulator-min-microvolt = <3300000>;
309 regulator-max-microvolt = <3300000>;
310 interrupts = <IT_CURLIM_LDO4 0>;
314 regulator-name = "vdda";
315 regulator-min-microvolt = <2900000>;
316 regulator-max-microvolt = <2900000>;
317 interrupts = <IT_CURLIM_LDO5 0>;
322 regulator-name = "v1v2_hdmi";
323 regulator-min-microvolt = <1200000>;
324 regulator-max-microvolt = <1200000>;
326 interrupts = <IT_CURLIM_LDO6 0>;
330 regulator-name = "vref_ddr";
332 regulator-over-current-protection;
336 regulator-name = "bst_out";
337 interrupts = <IT_OCP_BOOST 0>;
341 regulator-name = "vbus_otg";
342 interrupts = <IT_OCP_OTG 0>;
346 regulator-name = "vbus_sw";
347 interrupts = <IT_OCP_SWOUT 0>;
348 regulator-active-discharge;
353 compatible = "st,stpmic1-onkey";
354 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
355 interrupt-names = "onkey-falling", "onkey-rising";
356 power-off-time-sec = <10>;
361 compatible = "st,stpmic1-wdt";
380 #address-cells = <1>;
383 ltdc_ep0_out: endpoint@0 {
385 remote-endpoint = <&sii9022_in>;
391 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
392 <&vdev0vring1>, <&vdev0buffer>;
393 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
394 mbox-names = "vq0", "vq1", "shutdown";
395 interrupt-parent = <&exti>;
403 vdd_3v3_usbfs-supply = <&vdd_usb>;
416 clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
417 clock-names = "pclk", "x8k", "x11k";
418 pinctrl-names = "default", "sleep";
419 pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_b>;
420 pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_b>;
423 sai2a: audio-controller@4400b004 {
426 clocks = <&rcc SAI2_K>;
427 clock-names = "sai_ck";
431 sai2a_endpoint: endpoint {
432 remote-endpoint = <&cs42l51_tx_endpoint>;
435 dai-tdm-slot-num = <2>;
436 dai-tdm-slot-width = <32>;
441 sai2b: audio-controller@4400b024 {
443 st,sync = <&sai2a 2>;
444 clocks = <&rcc SAI2_K>, <&sai2a>;
445 clock-names = "sai_ck", "MCLK";
449 sai2b_endpoint: endpoint {
450 remote-endpoint = <&cs42l51_rx_endpoint>;
453 dai-tdm-slot-num = <2>;
454 dai-tdm-slot-width = <32>;
461 pinctrl-names = "default", "opendrain", "sleep";
462 pinctrl-0 = <&sdmmc1_b4_pins_a>;
463 pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
464 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
468 vmmc-supply = <&v3v3>;
473 pinctrl-names = "default";
474 pinctrl-0 = <&uart4_pins_a>;
479 phys = <&usbphyc_port0>;
485 dr_mode = "peripheral";
486 phys = <&usbphyc_port1 0>;
487 phy-names = "usb2-phy";
496 phy-supply = <&vdd_usb>;
500 phy-supply = <&vdd_usb>;
504 regulator-min-microvolt = <2500000>;
505 regulator-max-microvolt = <2500000>;
506 vdda-supply = <&vdd>;