0001 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
0002 /*
0003 * Copyright 2022 Toradex
0004 */
0005
0006 / {
0007 sound_card: sound-card {
0008 compatible = "simple-audio-card";
0009 simple-audio-card,bitclock-master = <&dailink_master>;
0010 simple-audio-card,format = "i2s";
0011 simple-audio-card,frame-master = <&dailink_master>;
0012 simple-audio-card,name = "imx8mm-wm8904";
0013 simple-audio-card,routing =
0014 "Headphone Jack", "HPOUTL",
0015 "Headphone Jack", "HPOUTR",
0016 "IN2L", "Line In Jack",
0017 "IN2R", "Line In Jack",
0018 "Headphone Jack", "MICBIAS",
0019 "IN1L", "Headphone Jack";
0020 simple-audio-card,widgets =
0021 "Microphone", "Headphone Jack",
0022 "Headphone", "Headphone Jack",
0023 "Line", "Line In Jack";
0024
0025 dailink_master: simple-audio-card,codec {
0026 clocks = <&clk IMX8MM_CLK_SAI2_ROOT>;
0027 sound-dai = <&wm8904_1a>;
0028 };
0029
0030 simple-audio-card,cpu {
0031 sound-dai = <&sai2>;
0032 };
0033 };
0034 };
0035
0036 /* Verdin SPI_1 */
0037 &ecspi2 {
0038 status = "okay";
0039 };
0040
0041 /* EEPROM on display adapter boards */
0042 &eeprom_display_adapter {
0043 status = "okay";
0044 };
0045
0046 /* EEPROM on Verdin Development board */
0047 &eeprom_carrier_board {
0048 status = "okay";
0049 };
0050
0051 &fec1 {
0052 status = "okay";
0053 };
0054
0055 /* Verdin QSPI_1 */
0056 &flexspi {
0057 status = "okay";
0058 };
0059
0060 /* Current measurement into module VCC */
0061 &hwmon {
0062 status = "okay";
0063 };
0064
0065 &hwmon_temp {
0066 vs-supply = <®_1p8v>;
0067 status = "okay";
0068 };
0069
0070 &i2c3 {
0071 status = "okay";
0072 };
0073
0074 /* Verdin I2C_1 */
0075 &i2c4 {
0076 status = "okay";
0077
0078 /* Audio Codec */
0079 wm8904_1a: audio-codec@1a {
0080 compatible = "wlf,wm8904";
0081 AVDD-supply = <®_3p3v>;
0082 clocks = <&clk IMX8MM_CLK_SAI2_ROOT>;
0083 clock-names = "mclk";
0084 CPVDD-supply = <®_3p3v>;
0085 DBVDD-supply = <®_3p3v>;
0086 DCVDD-supply = <®_3p3v>;
0087 MICVDD-supply = <®_3p3v>;
0088 reg = <0x1a>;
0089 #sound-dai-cells = <0>;
0090 };
0091 };
0092
0093 /* Verdin PCIE_1 */
0094 &pcie0 {
0095 status = "okay";
0096 };
0097
0098 &pcie_phy {
0099 status = "okay";
0100 };
0101
0102 /* Verdin PWM_3_DSI */
0103 &pwm1 {
0104 status = "okay";
0105 };
0106
0107 /* Verdin PWM_1 */
0108 &pwm2 {
0109 status = "okay";
0110 };
0111
0112 /* Verdin PWM_2 */
0113 &pwm3 {
0114 status = "okay";
0115 };
0116
0117 /* Verdin I2S_1 */
0118 &sai2 {
0119 status = "okay";
0120 };
0121
0122 /* Verdin UART_3 */
0123 &uart1 {
0124 status = "okay";
0125 };
0126
0127 /* Verdin UART_1 */
0128 &uart2 {
0129 status = "okay";
0130 };
0131
0132 /* Verdin UART_2 */
0133 &uart3 {
0134 status = "okay";
0135 };
0136
0137 /* Verdin USB_1 */
0138 &usbotg1 {
0139 status = "okay";
0140 };
0141
0142 /* Verdin USB_2 */
0143 &usbotg2 {
0144 status = "okay";
0145 };
0146
0147 /* Verdin SD_1 */
0148 &usdhc2 {
0149 status = "okay";
0150 };