Hi
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>;
fsl,sai-mclk-direction-output;
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.
Thanks
Esben
Hi Esben
you are right one can try "simple-audio-card", some suggestions are provided on
https://community.nxp.com/t5/i-MX-Processors/clock-set-up-for-a-simple-audio-card/m-p/948462
Best regards
igor