I tested the audio on the ls1028ardb reference board. I tested it with reference to chapter 7.2.13 of LSDKUG_Rev20.12 and found that there was no audio output.
I found that the sai of ls1028 and imx8mq-evk use the same driver, so I found imx8mq for a comparison test. After comparing and testing with imx8mq-evk, and then tracking the code, it is found that the following functions cannot be entered in fsl-sai.c
1.In fsl_sai_check_ver functions ,execute the following code and return directly.
if (FSL_SAI_TCSR(offset) == FSL_SAI_VERID)
return 0;
2.In fsl_sai_hw_params functions ,cannot enter the following if judgment。
if (!sai->slave_mode[tx]) {
ret = fsl_sai_set_bclk(cpu_dai, tx, bclk);
if (ret)
return ret;
The above two pieces of code can run successfully on the imx8mq-evk board.
Check your setting using the Section 7.2.13 of LSDK 2012 User Guide:
https://www.nxp.com/docs/en/user-guide/LSDKUG_Rev20.12.pdf
Draw attention on the following:
1) Set EC1_SAI4_5_PMUX = 2 in rcw
2) Either Set SW5[8] = ON or do i2c mw 0x66 0x53 0x4” on U-Boot prompt