1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright 2022 Toradex 4 */ 5 6/ { 7 sound { 8 compatible = "simple-audio-card"; 9 simple-audio-card,bitclock-master = <&codec_dai>; 10 simple-audio-card,format = "i2s"; 11 simple-audio-card,frame-master = <&codec_dai>; 12 simple-audio-card,mclk-fs = <256>; 13 simple-audio-card,name = "verdin-wm8904"; 14 simple-audio-card,routing = 15 "Headphone Jack", "HPOUTL", 16 "Headphone Jack", "HPOUTR", 17 "IN2L", "Line In Jack", 18 "IN2R", "Line In Jack", 19 "Headphone Jack", "MICBIAS", 20 "IN1L", "Headphone Jack"; 21 simple-audio-card,widgets = 22 "Microphone", "Headphone Jack", 23 "Headphone", "Headphone Jack", 24 "Line", "Line In Jack"; 25 26 codec_dai: simple-audio-card,codec { 27 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; 28 sound-dai = <&wm8904_1a>; 29 }; 30 31 simple-audio-card,cpu { 32 sound-dai = <&sai1>; 33 }; 34 }; 35 36 reg_usb_hub: regulator-usb-hub { 37 compatible = "regulator-fixed"; 38 enable-active-high; 39 /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ 40 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; 41 regulator-boot-on; 42 regulator-name = "HUB_PWR_EN"; 43 }; 44 45 reg_pcie: regulator-pcie { 46 compatible = "regulator-fixed"; 47 enable-active-high; 48 /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ 49 gpio = <&gpio4 29 GPIO_ACTIVE_HIGH>; 50 regulator-boot-on; 51 regulator-name = "PCIE_1_PWR_EN"; 52 startup-delay-us = <100000>; 53 }; 54}; 55 56&backlight { 57 power-supply = <®_3p3v>; 58}; 59 60/* Verdin SPI_1 */ 61&ecspi1 { 62 status = "okay"; 63}; 64 65/* EEPROM on display adapter boards */ 66&eeprom_display_adapter { 67 status = "okay"; 68}; 69 70/* EEPROM on Verdin Development board */ 71&eeprom_carrier_board { 72 status = "okay"; 73}; 74 75&eqos { 76 status = "okay"; 77}; 78 79&flexcan1 { 80 status = "okay"; 81}; 82 83&flexcan2 { 84 status = "okay"; 85}; 86 87/* Verdin QSPI_1 */ 88&flexspi { 89 status = "okay"; 90}; 91 92&gpio4 { 93 pinctrl-names = "default"; 94 pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; 95}; 96 97/* Current measurement into module VCC */ 98&hwmon { 99 status = "okay"; 100}; 101 102&hwmon_temp { 103 vs-supply = <®_1p8v>; 104 status = "okay"; 105}; 106 107/* Verdin I2C_2_DSI */ 108&i2c2 { 109 status = "okay"; 110}; 111 112&i2c3 { 113 status = "okay"; 114}; 115 116/* Verdin I2C_1 */ 117&i2c4 { 118 status = "okay"; 119 120 /* Audio Codec */ 121 wm8904_1a: audio-codec@1a { 122 compatible = "wlf,wm8904"; 123 reg = <0x1a>; 124 pinctrl-names = "default"; 125 pinctrl-0 = <&pinctrl_sai1>; 126 #sound-dai-cells = <0>; 127 clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1>; 128 clock-names = "mclk"; 129 AVDD-supply = <®_1p8v>; 130 CPVDD-supply = <®_1p8v>; 131 DBVDD-supply = <®_1p8v>; 132 DCVDD-supply = <®_1p8v>; 133 MICVDD-supply = <®_1p8v>; 134 }; 135}; 136 137/* Verdin I2C_3_HDMI */ 138&i2c5 { 139 status = "okay"; 140}; 141 142/* Verdin PCIE_1 */ 143&pcie { 144 vpcie-supply = <®_pcie>; 145 status = "okay"; 146}; 147 148&pcie_phy { 149 status = "okay"; 150}; 151 152/* Verdin PWM_1 */ 153&pwm1 { 154 status = "okay"; 155}; 156 157/* Verdin PWM_2 */ 158&pwm2 { 159 status = "okay"; 160}; 161 162/* Verdin PWM_3_DSI */ 163&pwm3 { 164 status = "okay"; 165}; 166 167®_usdhc2_vmmc { 168 vin-supply = <®_3p3v>; 169}; 170 171/* We support turning off sleep moci on Dahlia */ 172®_force_sleep_moci { 173 status = "disabled"; 174}; 175 176/* Verdin I2S_1 */ 177&sai1 { 178 assigned-clocks = <&clk IMX8MP_CLK_SAI1>; 179 assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; 180 assigned-clock-rates = <24576000>; 181 fsl,sai-mclk-direction-output; 182 status = "okay"; 183}; 184 185/* Verdin UART_1 */ 186&uart1 { 187 status = "okay"; 188}; 189 190/* Verdin UART_2 */ 191&uart2 { 192 status = "okay"; 193}; 194 195/* Verdin UART_3, used as the Linux Console */ 196&uart3 { 197 status = "okay"; 198}; 199 200/* Verdin USB_1 */ 201&usb3_0 { 202 status = "okay"; 203}; 204 205&usb3_phy0 { 206 status = "okay"; 207}; 208 209/* Verdin USB_2 */ 210&usb3_1 { 211 fsl,permanently-attached; 212 status = "okay"; 213}; 214 215&usb3_phy1 { 216 status = "okay"; 217}; 218 219&usb_dwc3_1 { 220 #address-cells = <1>; 221 #size-cells = <0>; 222 223 usb_hub_3_0: usb-hub@1 { 224 compatible = "usb424,5744"; 225 reg = <1>; 226 peer-hub = <&usb_hub_2_0>; 227 vdd-supply = <®_usb_hub>; 228 }; 229 230 usb_hub_2_0: usb-hub@2 { 231 compatible = "usb424,2744"; 232 reg = <2>; 233 peer-hub = <&usb_hub_3_0>; 234 vdd-supply = <®_usb_hub>; 235 }; 236}; 237 238/* Verdin SD_1 */ 239&usdhc2 { 240 status = "okay"; 241}; 242