Sorry but have you tried to do that and confirm it's working or not? If I open simple-card.txt in a more or less recent kernel I see
Required dai-link subnodes:
- cpu : CPU sub-node
- codec : CODEC sub-node
You have to define a codec subnode since on dts you're describing a "link" between your i2s interface and what's outside. Without this quirk alsa won't work. That's why they introduced the dummy codec module inside kernel. The problem is that this module is not working properly on imx8mm. I'm using 5.4.97 linux-fslc-imx and the following dts config on an imx8mm processor.
/dts-v1/;
/plugin/;
#include "imx8mm-pinfunc.h"
#include <dt-bindings/clock/imx8mm-clock.h>
/ {
compatible = "fsl,imx8mm-evk", "fsl,imx8mm";
fragment@0 {
target = <&iomuxc>;
__overlay__ {
imx8mm {
pinctrl_sai3: sai3grp {
fsl,pins = <
MX8MM_IOMUXC_SAI3_TXFS_SAI3_TX_SYNC 0xd6
MX8MM_IOMUXC_SAI3_TXC_SAI3_TX_BCLK 0xd6
MX8MM_IOMUXC_SAI3_TXD_SAI3_TX_DATA0 0xd6
MX8MM_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6
>;
};
};
};
};
fragment@1 {
target = <&sai3>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3>;
assigned-clocks = <&clk IMX8MM_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MM_AUDIO_PLL1_OUT>;
assigned-clock-rates = <24576000>;
status = "okay";
};
};
fragment@2 {
target-path = "/";
__overlay__ {
sound-i2s {
compatible = "simple-audio-card";
simple-audio-card,name = "i2s-audio";
simple-audio-card,format = "left_j";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
simple-audio-card,widgets =
"Microphone", "Microphone Jack",
"Headphone", "Headphone Jack",
"Speaker", "External Speaker";
simple-audio-card,routing =
"MIC_IN", "Microphone Jack",
"Headphone Jack", "HP_OUT",
"External Speaker", "LINE_OUT";
dailink0_master: simple-audio-card,cpu {
sound-dai = <&sai3>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
};
simple-audio-card,codec {
sound-dai = <&codecdummy1>;
clocks = <&clk IMX8MM_CLK_SAI3_ROOT>;
};
};
};
};
fragment@3 {
target-path = "/";
__overlay__ {
codecdummy1: codec1 {
#sound-dai-cells = <0>;
compatible = "linux,snd-soc-dummy";
status = "okay";
};
};
};
};