From 7f515ea33dffae8601d8a050bfdeca7fb37f573a Mon Sep 17 00:00:00 2001 From: Vit Stanicek Date: Tue, 2 Jul 2024 10:09:54 +0200 Subject: [PATCH] dts: mimxrt685_evk/mimxrt685s/hifi4: Enable devs for audio Instantiate, configure and enable Flexcomm #1, Flexcomm #3, DMA, I3C for audio capture and playback on mimxrt685_evk's HiFi 4 DSP domain. Add pinmux definitions for those. Signed-off-by: Vit Stanicek --- .../mimxrt685_evk_mimxrt685s_hifi4.dts | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/boards/nxp/mimxrt685_evk/mimxrt685_evk_mimxrt685s_hifi4.dts b/boards/nxp/mimxrt685_evk/mimxrt685_evk_mimxrt685s_hifi4.dts index 9491c796a4c011..f5c7d03d06fed7 100644 --- a/boards/nxp/mimxrt685_evk/mimxrt685_evk_mimxrt685s_hifi4.dts +++ b/boards/nxp/mimxrt685_evk/mimxrt685_evk_mimxrt685s_hifi4.dts @@ -69,12 +69,60 @@ drive-strength = "normal"; }; }; + + pinmux_flexcomm1_i2s: pinmux_flexcomm1_i2s { + group0 { + pinmux = ; + input-enable; + slew-rate = "normal"; + drive-strength = "high"; + }; + }; + + pinmux_flexcomm3_i2s: pinmux_flexcomm3_i2s { + group0 { + pinmux = , + , + ; + input-enable; + slew-rate = "normal"; + drive-strength = "high"; + }; + }; + + pinmux_codec: pinmux_codec { + group0 { + pinmux = ; + slew-rate = "normal"; + drive-strength = "high"; + }; + }; + + pinmux_i3c: pinmux_i3c { + group0 { + pinmux = , + ; + input-enable; + slew-rate = "slow"; + drive-strength = "high"; + }; + + group1 { + pinmux = ; + slew-rate = "normal"; + drive-strength = "normal"; + }; + }; }; &gpio0 { status = "okay"; }; +&dma1 { + status = "okay"; +}; + &flexcomm0 { compatible = "nxp,lpc-usart"; pinctrl-0 = <&pinmux_flexcomm0_usart>; @@ -86,3 +134,40 @@ &mbox { status = "okay"; }; +/* I2S receive channel */ +i2s0: &flexcomm1 { + status = "okay"; + compatible = "nxp,lpc-i2s"; + #address-cells = <1>; + #size-cells = <0>; + dmas = <&dma1 2>; + dma-names = "rx"; + pinctrl-0 = <&pinmux_flexcomm1_i2s>; + pinctrl-names = "default"; +}; + +/* I2S transmit channel */ +i2s1: &flexcomm3 { + status = "okay"; + compatible = "nxp,lpc-i2s"; + #address-cells = <1>; + #size-cells = <0>; + dmas = <&dma1 7>; + dma-names = "tx"; + pinctrl-0 = <&pinmux_flexcomm3_i2s>; + pinctrl-names = "default"; +}; + +&i3c0 { + status = "okay"; + pinctrl-0 = <&pinmux_i3c>; + pinctrl-names = "default"; + + audio_codec: wm8904@1a { + pinctrl-0 = <&pinmux_codec>; + pinctrl-names = "default"; + compatible = "wolfson,wm8904"; + reg = <0x1a 0 0>; + clock-source = "MCLK"; + }; +}; \ No newline at end of file