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/* Verdin HDMI_1 Audio */ 68&aud2htx { 69 status = "okay"; 70}; 71 72&backlight { 73 power-supply = <®_3p3v>; 74}; 75 76/* Verdin SPI_1 */ 77&ecspi1 { 78 status = "okay"; 79}; 80 81/* EEPROM on display adapter boards */ 82&eeprom_display_adapter { 83 status = "okay"; 84}; 85 86/* EEPROM on Verdin Development board */ 87&eeprom_carrier_board { 88 status = "okay"; 89}; 90 91&eqos { 92 status = "okay"; 93}; 94 95&fec { 96 phy-supply = <®_eth2phy>; 97 status = "okay"; 98}; 99 100&flexcan1 { 101 status = "okay"; 102}; 103 104&flexcan2 { 105 status = "okay"; 106}; 107 108/* Verdin QSPI_1 */ 109&flexspi { 110 status = "okay"; 111}; 112 113&gpio4 { 114 pinctrl-names = "default"; 115 pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; 116}; 117 118&gpio_expander_21 { 119 status = "okay"; 120 vcc-supply = <®_1p8v>; 121}; 122 123/* Verdin HDMI_1 */ 124&hdmi_pvi { 125 status = "okay"; 126}; 127 128&hdmi_tx { 129 status = "okay"; 130 131 ports { 132 port@1 { 133 hdmi_tx_out: endpoint { 134 remote-endpoint = <&native_hdmi_connector_in>; 135 }; 136 }; 137 }; 138}; 139 140&hdmi_tx_phy { 141 status = "okay"; 142}; 143 144/* Current measurement into module VCC */ 145&hwmon { 146 status = "okay"; 147}; 148 149&hwmon_temp { 150 vs-supply = <®_1p8v>; 151 status = "okay"; 152}; 153 154/* Verdin I2C_2_DSI */ 155&i2c2 { 156 status = "okay"; 157}; 158 159&i2c3 { 160 status = "okay"; 161}; 162 163/* Verdin I2C_1 */ 164&i2c4 { 165 status = "okay"; 166 167 /* Audio Codec */ 168 nau8822_1a: audio-codec@1a { 169 compatible = "nuvoton,nau8822"; 170 reg = <0x1a>; 171 pinctrl-names = "default"; 172 pinctrl-0 = <&pinctrl_sai1>; 173 #sound-dai-cells = <0>; 174 }; 175}; 176 177/* Verdin I2C_3_HDMI */ 178&i2c5 { 179 status = "okay"; 180}; 181 182&lcdif3 { 183 status = "okay"; 184}; 185 186/* Verdin PCIE_1 */ 187&pcie { 188 status = "okay"; 189}; 190 191&pcie_phy { 192 status = "okay"; 193}; 194 195/* Verdin PWM_1 */ 196&pwm1 { 197 status = "okay"; 198}; 199 200/* Verdin PWM_2 */ 201&pwm2 { 202 status = "okay"; 203}; 204 205/* Verdin PWM_3_DSI */ 206&pwm3 { 207 status = "okay"; 208}; 209 210®_usdhc2_vmmc { 211 vin-supply = <®_3p3v>; 212}; 213 214/* Verdin I2S_1 */ 215&sai1 { 216 assigned-clocks = <&clk IMX8MP_CLK_SAI1>; 217 assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 218 assigned-clock-rates = <24576000>; 219 fsl,sai-mclk-direction-output; 220 status = "okay"; 221}; 222 223/* Verdin HDMI_1 Audio */ 224&sound_hdmi { 225 status = "okay"; 226}; 227 228/* Verdin UART_1, connector X50 through RS485 transceiver */ 229&uart1 { 230 linux,rs485-enabled-at-boot-time; 231 rs485-rts-active-low; 232 rs485-rx-during-tx; 233 status = "okay"; 234}; 235 236/* Verdin UART_2 */ 237&uart2 { 238 status = "okay"; 239}; 240 241/* Verdin UART_3, used as the Linux Console */ 242&uart3 { 243 status = "okay"; 244}; 245 246/* Verdin USB_1 */ 247&usb3_0 { 248 status = "okay"; 249}; 250 251&usb3_phy0 { 252 status = "okay"; 253}; 254 255/* Verdin USB_2 */ 256&usb3_1 { 257 fsl,permanently-attached; 258 status = "okay"; 259}; 260 261&usb3_phy1 { 262 status = "okay"; 263}; 264 265/* Limit frequency on dev board due to long traces and bad signal integrity */ 266&usdhc2 { 267 max-frequency = <100000000>; 268 status = "okay"; 269}; 270