diff options
author | Daniel Baluta <daniel.baluta@nxp.com> | 2020-02-19 16:42:33 +0200 |
---|---|---|
committer | Daniel Baluta <daniel.baluta@nxp.com> | 2020-02-21 17:22:10 +0200 |
commit | 87ece2ab2c010bbe1cb981ab11f449933cbc6a19 (patch) | |
tree | 4a5975e9bebc8114199cef0b8105602404fff1b7 /arch/arm64/boot/dts/freescale/imx8mp-evk-sof-wm8960.dts | |
parent | efb390e6c7f4571fbd524f1f4fc4a91f5de7cf9f (diff) |
MLK-23350-7 arm64: dts: imx8mp-evk-sof: Enable simple-audio-card for SAI3 + wm8960
We use existing simple-audio-card machine driver to demonstrate
the usage of SAI3 + wm8960 codec.
FSL DAI driver is used in order to manage SAI resources (PD, clocks,
pinctrl) the rest is taken care of by the SAI driver from the DSP.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/imx8mp-evk-sof-wm8960.dts')
-rw-r--r-- | arch/arm64/boot/dts/freescale/imx8mp-evk-sof-wm8960.dts | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mp-evk-sof-wm8960.dts b/arch/arm64/boot/dts/freescale/imx8mp-evk-sof-wm8960.dts new file mode 100644 index 000000000000..9fde84894020 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8mp-evk-sof-wm8960.dts @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: GPL-2.0+ +// Copyright NXP 2020 + +#include "imx8mp-evk.dts" + +/ { + sound-wm8960 { + status = "disabled"; + }; + + sound-micfil { + status = "disabled"; + }; + + sai3_port: sai-port { + #sound-dai-cells = <0>; + compatible = "fsl,sai-dai"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai3>; + + power-domains = <&audiomix_pd>; + + assigned-clocks = <&clk IMX8MP_CLK_SAI3>; + assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>; + assigned-clock-rates = <12288000>; + clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI3_IPG>, <&clk IMX8MP_CLK_DUMMY>, + <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>, <&clk IMX8MP_CLK_DUMMY>, + <&clk IMX8MP_CLK_DUMMY>; + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; + + status="okay"; + }; + + sof-sound-wm8960 { + compatible = "simple-audio-card"; + label = "wm8960-audio"; + simple-audio-card,bitclock-master = <&sndcodec>; + simple-audio-card,frame-master = <&sndcodec>; + hp-det-gpio = <&gpio4 0 0>; + mic-det-gpio = <&gpio4 0 0>; + simple-audio-card,widgets = + "Headphone", "Headphone Jack", + "Speaker", "Ext Spk", + "Microphone", "Mic Jack"; + simple-audio-card,audio-routing = + "Headphone Jack", "HP_L", + "Headphone Jack", "HP_R", + "Ext Spk", "SPK_LP", + "Ext Spk", "SPK_LN", + "Ext Spk", "SPK_RP", + "Ext Spk", "SPK_RN", + "LINPUT2", "Mic Jack", + "LINPUT3", "Mic Jack", + "RINPUT1", "Mic Jack", + "RINPUT2", "Mic Jack", + "Playback", "SAI1.OUT", + "SAI1.IN", "Capture"; + simple-audio-card,dai-link { + format = "i2s"; + cpu { + sound-dai = <&sai3_port>; + }; + plat { + sound-dai = <&dsp>; + }; + sndcodec: codec { + sound-dai = <&codec>; + }; + }; + }; +}; + +&dsp { + #sound-dai-cells = <0>; + compatible = "fsl,imx8mp-dsp"; + reg = <0x0 0x3B6E8000 0x0 0x88000>; + tplg-name = "sof-imx8qxp-wm8960.tplg"; + machine-drv-name = "asoc-simple-card"; + status = "okay"; +}; + +&codec { + #sound-dai-cells = <0>; + status = "okay"; +}; + +&sai3 { + status = "disabled"; +}; + |