iMX8M + TAS5729MD clocks and bringup

Showing results for 
Search instead for 
Did you mean: 

iMX8M + TAS5729MD clocks and bringup

Contributor II


I am working on a iMX8M board with a TAS5729MD amplifier connected through SAI3. I have been using the TAS571x codec glued with a modified fsl-asoc-card. The sound card gets registered and the codec  loads up fine. But when trying to play audio files the hw_params callback needs to configure the TAS571x and I have trouble finding out how to set the clock (and other stuff)  in this function.


My device tree setup for tas571x, sound card and SAI3:

sound-tas571x {
compatible = "fsl,imx-audio-tas571x";
model = "tas571x-audio";
audio-cpu = <&sai3>;
audio-codec = <&tas5721>;
audio-routing =
"Ext Spk", "OUT_A",
"Ext Spk", "OUT_B",
"Ext Spk", "OUT_C",
"Ext Spk", "OUT_D";};


&sai3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3>;
assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1_BYPASS>, <&clk IMX8MQ_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL1_OUT>;
assigned-clock-rates = <0>, <24576000>;
status = "okay";


tas5721: tas5721@2a {
compatible = "ti,tas5721";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_tas5721>;
reg = <0x2a>;
#sound-dai-cells = <0>;

reset-gpios = <&gpio4 17 GPIO_ACTIVE_LOW>;
pdn-gpios = <&gpio4 16 GPIO_ACTIVE_LOW>;

clocks = <&clk IMX8MQ_CLK_SAI3_ROOT>;
clock-names = "mclk";
assigned-clocks = <&clk IMX8MQ_CLK_SAI3_ROOT>;
assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
assigned-clock-rates = <0>, <24576000>;


Has anybody done a similar setup with a TASXXXX amplifier and have some hints how to do the final configuration while playing audio?

Will it be possible to configure the simple-sound-card to work with a tas57xx codec?


Any hints, suggestions or comments are much appreciated.





0 Kudos
1 Reply

NXP TechSupport
NXP TechSupport

Hi Esben


you are right one can try "simple-audio-card", some suggestions are provided on


Best regards

0 Kudos