summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/imx8mp-evk-sof-wm8960.dts
diff options
context:
space:
mode:
authorDaniel Baluta <daniel.baluta@nxp.com>2020-02-19 16:42:33 +0200
committerDaniel Baluta <daniel.baluta@nxp.com>2020-02-21 17:22:10 +0200
commit87ece2ab2c010bbe1cb981ab11f449933cbc6a19 (patch)
tree4a5975e9bebc8114199cef0b8105602404fff1b7 /arch/arm64/boot/dts/freescale/imx8mp-evk-sof-wm8960.dts
parentefb390e6c7f4571fbd524f1f4fc4a91f5de7cf9f (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.dts91
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";
+};
+