1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
3 * Copyright (C) Linaro Ltd 2019 - All Rights Reserved
4 * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
5 * Copyright (C) 2020 Marek Vasut <marex@denx.de>
8 /* Avenger96 uses DHCOR SoM configured for 1V8 IO operation */
9 #include "stm32mp15xx-dhcor-io1v8.dtsi"
13 ethernet0 = ðernet0;
22 cec_clock: clk-cec-fixed {
24 compatible = "fixed-clock";
25 clock-frequency = <24000000>;
29 stdout-path = "serial0:115200n8";
33 compatible = "hdmi-connector";
38 remote-endpoint = <&adv7513_out>;
44 compatible = "gpio-leds";
46 label = "green:user0";
47 gpios = <&gpioz 7 GPIO_ACTIVE_HIGH>;
48 linux,default-trigger = "heartbeat";
49 default-state = "off";
53 label = "green:user1";
54 gpios = <&gpiof 3 GPIO_ACTIVE_HIGH>;
55 linux,default-trigger = "mmc0";
56 default-state = "off";
60 label = "green:user2";
61 gpios = <&gpiog 0 GPIO_ACTIVE_HIGH>;
62 linux,default-trigger = "mmc1";
63 default-state = "off";
67 label = "green:user3";
68 gpios = <&gpiog 1 GPIO_ACTIVE_HIGH>;
69 default-state = "off";
74 sd_switch: regulator-sd_switch {
75 compatible = "regulator-gpio";
76 regulator-name = "sd_switch";
77 regulator-min-microvolt = <1800000>;
78 regulator-max-microvolt = <2900000>;
79 regulator-type = "voltage";
82 gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>;
84 states = <1800000 0x1>,
89 compatible = "audio-graph-card";
90 label = "STM32-AV96-HDMI";
95 wlan_pwr: regulator-wlan {
96 compatible = "regulator-fixed";
98 regulator-name = "wl-reg";
99 regulator-min-microvolt = <3300000>;
100 regulator-max-microvolt = <3300000>;
102 gpio = <&gpioz 3 GPIO_ACTIVE_HIGH>;
108 pinctrl-names = "default";
109 pinctrl-0 = <&adc12_ain_pins_b>;
111 vdda-supply = <&vdda>;
112 vref-supply = <&vdda>;
119 st,min-sample-time-ns = <5000>;
124 st,min-sample-time-ns = <5000>;
129 st,min-sample-time-ns = <5000>;
136 st,min-sample-time-ns = <5000>;
141 st,min-sample-time-ns = <5000>;
146 st,min-sample-time-ns = <5000>;
151 pinctrl-names = "default", "sleep";
152 pinctrl-0 = <&dcmi_pins_c>;
153 pinctrl-1 = <&dcmi_sleep_pins_c>;
158 remote-endpoint = <&stmipi_2>;
168 pinctrl-0 = <ðernet0_rgmii_pins_c>;
169 pinctrl-1 = <ðernet0_rgmii_sleep_pins_c>;
170 pinctrl-names = "default", "sleep";
173 phy-handle = <&phy0>;
176 #address-cells = <1>;
178 compatible = "snps,dwmac-mdio";
179 reset-gpios = <&gpioz 2 GPIO_ACTIVE_LOW>;
180 reset-delay-us = <1000>;
181 reset-post-delay-us = <1000>;
183 phy0: ethernet-phy@7 {
186 rxc-skew-ps = <1500>;
187 rxdv-skew-ps = <540>;
188 rxd0-skew-ps = <420>;
189 rxd1-skew-ps = <420>;
190 rxd2-skew-ps = <420>;
191 rxd3-skew-ps = <420>;
193 txc-skew-ps = <1440>;
194 txen-skew-ps = <540>;
195 txd0-skew-ps = <420>;
196 txd1-skew-ps = <420>;
197 txd2-skew-ps = <420>;
198 txd3-skew-ps = <420>;
204 gpio-line-names = "", "", "", "",
206 "", "", "", "AV96-K",
207 "AV96-I", "", "AV96-A", "";
211 gpio-line-names = "", "", "", "",
212 "", "AV96-J", "", "",
213 "", "", "", "AV96-B",
214 "", "AV96-L", "", "";
218 gpio-line-names = "", "", "", "AV96-C",
225 gpio-line-names = "", "", "", "",
227 "AV96-D", "", "", "",
228 "", "", "AV96-E", "AV96-F";
232 gpio-line-names = "", "", "", "",
235 "AV96-G", "AV96-H", "", "";
238 &i2c1 { /* X6 I2C1 */
239 pinctrl-names = "default";
240 pinctrl-0 = <&i2c1_pins_b>;
241 i2c-scl-rising-time-ns = <185>;
242 i2c-scl-falling-time-ns = <20>;
244 /delete-property/dmas;
245 /delete-property/dma-names;
248 &i2c2 { /* X6 I2C2 */
249 pinctrl-names = "default";
250 pinctrl-0 = <&i2c2_pins_c>;
251 i2c-scl-rising-time-ns = <185>;
252 i2c-scl-falling-time-ns = <20>;
254 /delete-property/dmas;
255 /delete-property/dma-names;
260 compatible = "st,st-mipid02";
261 pinctrl-names = "default", "sleep";
262 pinctrl-0 = <&mco1_pins_a>;
263 pinctrl-1 = <&mco1_sleep_pins_a>;
265 clocks = <&rcc CK_MCO1>;
266 clock-names = "xclk";
267 assigned-clocks = <&rcc CK_MCO1>;
268 assigned-clock-parents = <&rcc CK_HSE>;
269 assigned-clock-rates = <24000000>;
270 VDDE-supply = <&v1v8>;
271 VDDIN-supply = <&v1v8>;
272 reset-gpios = <&gpioz 0 GPIO_ACTIVE_LOW>;
276 #address-cells = <1>;
292 remote-endpoint = <&dcmi_0>;
298 hdmi-transmitter@3d {
299 compatible = "adi,adv7513";
300 reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>;
301 reg-names = "main", "edid", "cec", "packet";
302 clocks = <&cec_clock>;
305 avdd-supply = <&v3v3>;
306 dvdd-supply = <&v3v3>;
307 pvdd-supply = <&v3v3>;
308 dvdd-3v-supply = <&v3v3>;
309 bgvdd-supply = <&v3v3>;
311 interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
312 interrupt-parent = <&gpiog>;
316 adi,input-depth = <8>;
317 adi,input-colorspace = "rgb";
318 adi,input-clock = "1x";
321 #address-cells = <1>;
326 adv7513_in: endpoint {
327 remote-endpoint = <<dc_ep0_out>;
333 adv7513_out: endpoint {
334 remote-endpoint = <&hdmi_con>;
340 adv7513_i2s0: endpoint {
341 remote-endpoint = <&sai2a_endpoint>;
347 dh_mac_eeprom: eeprom@53 {
348 compatible = "atmel,24c02";
355 pinctrl-names = "default", "sleep";
356 pinctrl-0 = <<dc_pins_d>;
357 pinctrl-1 = <<dc_sleep_pins_d>;
361 ltdc_ep0_out: endpoint {
362 remote-endpoint = <&adv7513_in>;
368 clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
369 pinctrl-names = "default", "sleep";
370 pinctrl-0 = <&sai2a_pins_c>;
371 pinctrl-1 = <&sai2a_sleep_pins_c>;
372 clock-names = "pclk", "x8k", "x11k";
375 sai2a: audio-controller@4400b004 {
378 clocks = <&rcc SAI2_K>;
379 clock-names = "sai_ck";
383 sai2a_endpoint: endpoint {
384 remote-endpoint = <&adv7513_i2s0>;
393 pinctrl-names = "default", "opendrain", "sleep";
394 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_b>;
395 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_b>;
396 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_b>;
397 cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
403 vmmc-supply = <&vdd_sd>;
404 vqmmc-supply = <&sd_switch>;
409 pinctrl-names = "default", "opendrain", "sleep";
410 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_c>;
411 pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_c>;
412 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_c>;
419 vmmc-supply = <&v3v3>;
420 vqmmc-supply = <&vdd_io>;
425 pinctrl-names = "default", "opendrain", "sleep";
426 pinctrl-0 = <&sdmmc3_b4_pins_b>;
427 pinctrl-1 = <&sdmmc3_b4_od_pins_b>;
428 pinctrl-2 = <&sdmmc3_b4_sleep_pins_b>;
433 vmmc-supply = <&wlan_pwr>;
436 #address-cells = <1>;
440 compatible = "brcm,bcm4329-fmac";
445 pinctrl-names = "default";
446 pinctrl-0 = <&spi2_pins_a>;
447 cs-gpios = <&gpioi 0 0>;
449 /delete-property/dmas;
450 /delete-property/dma-names;
454 /* On Low speed expansion header */
456 pinctrl-names = "default";
457 pinctrl-0 = <&uart4_pins_b>;
458 /delete-property/dmas;
459 /delete-property/dma-names;
464 /* On Low speed expansion header */
466 pinctrl-names = "default";
467 pinctrl-0 = <&uart7_pins_a>;
469 /delete-property/dmas;
470 /delete-property/dma-names;
476 pinctrl-names = "default", "sleep";
477 pinctrl-0 = <&usart2_pins_a>;
478 pinctrl-1 = <&usart2_sleep_pins_a>;
480 /delete-property/dmas;
481 /delete-property/dma-names;
485 compatible = "brcm,bcm43438-bt";
486 max-speed = <3000000>;
487 shutdown-gpios = <&gpioz 6 GPIO_ACTIVE_HIGH>;
496 pinctrl-0 = <&usbotg_hs_pins_a>;
497 pinctrl-names = "default";
498 phy-names = "usb2-phy";
499 phys = <&usbphyc_port1 0>;
501 vbus-supply = <&vbus_otg>;
509 phy-supply = <&vdd_usb>;
513 phy-supply = <&vdd_usb>;