1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Copyright 2022 Toradex 4 */ 5 6/ { 7 sound_card: sound-card { 8 compatible = "simple-audio-card"; 9 simple-audio-card,bitclock-master = <&dailink_master>; 10 simple-audio-card,format = "i2s"; 11 simple-audio-card,frame-master = <&dailink_master>; 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 dailink_master: simple-audio-card,codec { 27 clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; 28 sound-dai = <&wm8904_1a>; 29 }; 30 31 simple-audio-card,cpu { 32 sound-dai = <&sai2>; 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 = <&gpio5 1 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 = <&gpio5 1 GPIO_ACTIVE_HIGH>; 50 regulator-boot-on; 51 regulator-name = "PCIE_1_PWR_EN"; 52 startup-delay-us = <100000>; 53 }; 54}; 55 56/* Verdin SPI_1 */ 57&ecspi2 { 58 status = "okay"; 59}; 60 61/* EEPROM on display adapter boards */ 62&eeprom_display_adapter { 63 status = "okay"; 64}; 65 66/* EEPROM on Verdin Development board */ 67&eeprom_carrier_board { 68 status = "okay"; 69}; 70 71&fec1 { 72 status = "okay"; 73}; 74 75/* Verdin QSPI_1 */ 76&flexspi { 77 status = "okay"; 78}; 79 80&gpio5 { 81 pinctrl-names = "default"; 82 pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; 83}; 84 85/* Current measurement into module VCC */ 86&hwmon { 87 status = "okay"; 88}; 89 90&hwmon_temp { 91 vs-supply = <®_1p8v>; 92 status = "okay"; 93}; 94 95&i2c3 { 96 status = "okay"; 97}; 98 99/* Verdin I2C_1 */ 100&i2c4 { 101 status = "okay"; 102 103 /* Audio Codec */ 104 wm8904_1a: audio-codec@1a { 105 compatible = "wlf,wm8904"; 106 AVDD-supply = <®_3p3v>; 107 clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; 108 clock-names = "mclk"; 109 CPVDD-supply = <®_3p3v>; 110 DBVDD-supply = <®_3p3v>; 111 DCVDD-supply = <®_3p3v>; 112 MICVDD-supply = <®_3p3v>; 113 reg = <0x1a>; 114 #sound-dai-cells = <0>; 115 }; 116}; 117 118/* Verdin PCIE_1 */ 119&pcie0 { 120 vpcie-supply = <®_pcie>; 121 status = "okay"; 122}; 123 124&pcie_phy { 125 status = "okay"; 126}; 127 128/* Verdin PWM_3_DSI */ 129&pwm1 { 130 status = "okay"; 131}; 132 133/* Verdin PWM_1 */ 134&pwm2 { 135 status = "okay"; 136}; 137 138/* Verdin PWM_2 */ 139&pwm3 { 140 status = "okay"; 141}; 142 143/* We support turning off sleep moci on Dahlia */ 144®_force_sleep_moci { 145 status = "disabled"; 146}; 147 148/* Verdin I2S_1 */ 149&sai2 { 150 status = "okay"; 151}; 152 153/* Verdin UART_3 */ 154&uart1 { 155 status = "okay"; 156}; 157 158/* Verdin UART_1 */ 159&uart2 { 160 status = "okay"; 161}; 162 163/* Verdin UART_2 */ 164&uart3 { 165 status = "okay"; 166}; 167 168/* Verdin USB_1 */ 169&usbotg1 { 170 disable-over-current; 171 status = "okay"; 172}; 173 174/* Verdin USB_2 */ 175&usbotg2 { 176 #address-cells = <1>; 177 #size-cells = <0>; 178 disable-over-current; 179 status = "okay"; 180 181 usb-hub@1 { 182 compatible = "usb424,2744"; 183 reg = <1>; 184 vdd-supply = <®_usb_hub>; 185 }; 186}; 187 188/* Verdin SD_1 */ 189&usdhc2 { 190 status = "okay"; 191}; 192