// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /* * Copyright 2022 Toradex */ / { sound_card: sound-card { compatible = "simple-audio-card"; simple-audio-card,bitclock-master = <&dailink_master>; simple-audio-card,format = "i2s"; simple-audio-card,frame-master = <&dailink_master>; simple-audio-card,mclk-fs = <256>; simple-audio-card,name = "imx8mm-wm8904"; simple-audio-card,routing = "Headphone Jack", "HPOUTL", "Headphone Jack", "HPOUTR", "IN2L", "Line In Jack", "IN2R", "Line In Jack", "Headphone Jack", "MICBIAS", "IN1L", "Headphone Jack"; simple-audio-card,widgets = "Microphone", "Headphone Jack", "Headphone", "Headphone Jack", "Line", "Line In Jack"; dailink_master: simple-audio-card,codec { clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; sound-dai = <&wm8904_1a>; }; simple-audio-card,cpu { sound-dai = <&sai2>; }; }; }; /* Verdin SPI_1 */ &ecspi2 { status = "okay"; }; /* EEPROM on display adapter boards */ &eeprom_display_adapter { status = "okay"; }; /* EEPROM on Verdin Development board */ &eeprom_carrier_board { status = "okay"; }; &fec1 { status = "okay"; }; /* Verdin QSPI_1 */ &flexspi { status = "okay"; }; &gpio5 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; }; /* Current measurement into module VCC */ &hwmon { status = "okay"; }; &hwmon_temp { vs-supply = <®_1p8v>; status = "okay"; }; &i2c3 { status = "okay"; }; /* Verdin I2C_1 */ &i2c4 { status = "okay"; /* Audio Codec */ wm8904_1a: audio-codec@1a { compatible = "wlf,wm8904"; AVDD-supply = <®_3p3v>; clocks = <&clk IMX8MM_CLK_SAI2_ROOT>; clock-names = "mclk"; CPVDD-supply = <®_3p3v>; DBVDD-supply = <®_3p3v>; DCVDD-supply = <®_3p3v>; MICVDD-supply = <®_3p3v>; reg = <0x1a>; #sound-dai-cells = <0>; }; }; /* Verdin PCIE_1 */ &pcie0 { status = "okay"; }; &pcie_phy { status = "okay"; }; /* Verdin PWM_3_DSI */ &pwm1 { status = "okay"; }; /* Verdin PWM_1 */ &pwm2 { status = "okay"; }; /* Verdin PWM_2 */ &pwm3 { status = "okay"; }; /* Verdin I2S_1 */ &sai2 { status = "okay"; }; /* Verdin UART_3 */ &uart1 { status = "okay"; }; /* Verdin UART_1 */ &uart2 { status = "okay"; }; /* Verdin UART_2 */ &uart3 { status = "okay"; }; /* Verdin USB_1 */ &usbotg1 { disable-over-current; status = "okay"; }; /* Verdin USB_2 */ &usbotg2 { disable-over-current; status = "okay"; }; /* Verdin SD_1 */ &usdhc2 { status = "okay"; };