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