1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright 2022 Toradex 4 */ 5 6/ { 7 native-hdmi-connector { 8 compatible = "hdmi-connector"; 9 label = "X37"; 10 type = "a"; 11 12 port { 13 native_hdmi_connector_in: endpoint { 14 remote-endpoint = <&hdmi_tx_out>; 15 }; 16 }; 17 }; 18 19 reg_eth2phy: regulator-eth2phy { 20 compatible = "regulator-fixed"; 21 enable-active-high; 22 gpio = <&gpio_expander_21 4 GPIO_ACTIVE_HIGH>; /* ETH_PWR_EN */ 23 off-on-delay-us = <500000>; 24 regulator-max-microvolt = <3300000>; 25 regulator-min-microvolt = <3300000>; 26 regulator-name = "+V3.3_ETH"; 27 startup-delay-us = <200000>; 28 vin-supply = <®_3p3v>; 29 }; 30 31 sound { 32 compatible = "simple-audio-card"; 33 simple-audio-card,bitclock-master = <&codec_dai>; 34 simple-audio-card,format = "i2s"; 35 simple-audio-card,frame-master = <&codec_dai>; 36 simple-audio-card,mclk-fs = <256>; 37 simple-audio-card,name = "verdin-nau8822"; 38 simple-audio-card,routing = 39 "Headphones", "LHP", 40 "Headphones", "RHP", 41 "Speaker", "LSPK", 42 "Speaker", "RSPK", 43 "Line Out", "AUXOUT1", 44 "Line Out", "AUXOUT2", 45 "LAUX", "Line In", 46 "RAUX", "Line In", 47 "LMICP", "Mic In", 48 "RMICP", "Mic In"; 49 simple-audio-card,widgets = 50 "Headphones", "Headphones", 51 "Line Out", "Line Out", 52 "Speaker", "Speaker", 53 "Microphone", "Mic In", 54 "Line", "Line In"; 55 56 codec_dai: simple-audio-card,codec { 57 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; 58 sound-dai = <&nau8822_1a>; 59 }; 60 61 simple-audio-card,cpu { 62 sound-dai = <&sai1>; 63 }; 64 }; 65}; 66 67&backlight { 68 power-supply = <®_3p3v>; 69}; 70 71/* Verdin SPI_1 */ 72&ecspi1 { 73 status = "okay"; 74}; 75 76/* EEPROM on display adapter boards */ 77&eeprom_display_adapter { 78 status = "okay"; 79}; 80 81/* EEPROM on Verdin Development board */ 82&eeprom_carrier_board { 83 status = "okay"; 84}; 85 86&eqos { 87 status = "okay"; 88}; 89 90&fec { 91 phy-supply = <®_eth2phy>; 92 status = "okay"; 93}; 94 95&flexcan1 { 96 status = "okay"; 97}; 98 99&flexcan2 { 100 status = "okay"; 101}; 102 103/* Verdin QSPI_1 */ 104&flexspi { 105 status = "okay"; 106}; 107 108&gpio4 { 109 pinctrl-names = "default"; 110 pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; 111}; 112 113&gpio_expander_21 { 114 status = "okay"; 115 vcc-supply = <®_1p8v>; 116}; 117 118/* Verdin HDMI_1 */ 119&hdmi_pvi { 120 status = "okay"; 121}; 122 123&hdmi_tx { 124 status = "okay"; 125 126 ports { 127 port@1 { 128 hdmi_tx_out: endpoint { 129 remote-endpoint = <&native_hdmi_connector_in>; 130 }; 131 }; 132 }; 133}; 134 135&hdmi_tx_phy { 136 status = "okay"; 137}; 138 139/* Current measurement into module VCC */ 140&hwmon { 141 status = "okay"; 142}; 143 144&hwmon_temp { 145 vs-supply = <®_1p8v>; 146 status = "okay"; 147}; 148 149/* Verdin I2C_2_DSI */ 150&i2c2 { 151 status = "okay"; 152}; 153 154&i2c3 { 155 status = "okay"; 156}; 157 158/* Verdin I2C_1 */ 159&i2c4 { 160 status = "okay"; 161 162 /* Audio Codec */ 163 nau8822_1a: audio-codec@1a { 164 compatible = "nuvoton,nau8822"; 165 reg = <0x1a>; 166 pinctrl-names = "default"; 167 pinctrl-0 = <&pinctrl_sai1>; 168 #sound-dai-cells = <0>; 169 }; 170}; 171 172/* Verdin I2C_3_HDMI */ 173&i2c5 { 174 status = "okay"; 175}; 176 177&lcdif3 { 178 status = "okay"; 179}; 180 181/* Verdin PCIE_1 */ 182&pcie { 183 status = "okay"; 184}; 185 186&pcie_phy { 187 status = "okay"; 188}; 189 190/* Verdin PWM_1 */ 191&pwm1 { 192 status = "okay"; 193}; 194 195/* Verdin PWM_2 */ 196&pwm2 { 197 status = "okay"; 198}; 199 200/* Verdin PWM_3_DSI */ 201&pwm3 { 202 status = "okay"; 203}; 204 205®_usdhc2_vmmc { 206 vin-supply = <®_3p3v>; 207}; 208 209/* Verdin I2S_1 */ 210&sai1 { 211 assigned-clocks = <&clk IMX8MP_CLK_SAI1>; 212 assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 213 assigned-clock-rates = <24576000>; 214 fsl,sai-mclk-direction-output; 215 status = "okay"; 216}; 217 218/* Verdin UART_1, connector X50 through RS485 transceiver */ 219&uart1 { 220 linux,rs485-enabled-at-boot-time; 221 rs485-rts-active-low; 222 rs485-rx-during-tx; 223 status = "okay"; 224}; 225 226/* Verdin UART_2 */ 227&uart2 { 228 status = "okay"; 229}; 230 231/* Verdin UART_3, used as the Linux Console */ 232&uart3 { 233 status = "okay"; 234}; 235 236/* Verdin USB_1 */ 237&usb3_0 { 238 status = "okay"; 239}; 240 241&usb3_phy0 { 242 status = "okay"; 243}; 244 245/* Verdin USB_2 */ 246&usb3_1 { 247 fsl,permanently-attached; 248 status = "okay"; 249}; 250 251&usb3_phy1 { 252 status = "okay"; 253}; 254 255/* Limit frequency on dev board due to long traces and bad signal integrity */ 256&usdhc2 { 257 max-frequency = <100000000>; 258 status = "okay"; 259}; 260