Hi Team,
I'm trying to probe the TAS5760M audio codec with IMX8QXP. We are facing a problem when probing the device with the simple-audio-card driver. We configured ESAI0 as I2S master and only Tx sections of ESAI were used as data line to codec.
The following is the dts node for sound card:
&esai0 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_esai0>;
assigned-clocks = <&acm IMX_ADMA_ACM_ESAI0_MCLK_SEL>,
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>,
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_SLV_BUS>,
<&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MST_BUS>,
<&esai0_lpcg 0>;
assigned-clock-parents = <&aud_pll_div0_lpcg 0>;
assigned-clock-rates = <0>, <786432000>, <49152000>, <12288000>, <49152000>;
fsl,txs-rxm;
status = "okay";
};
pinctrl_esai0: esai0grp {
fsl,pins = <
IMX8QXP_ESAI0_FST_ADMA_ESAI0_FST 0xc6000040
IMX8QXP_ESAI0_SCKT_ADMA_ESAI0_SCKT 0xc6000040
IMX8QXP_ESAI0_TX0_ADMA_ESAI0_TX0 0xc6000040
>;
};
//SOUND CARD
sound-codec {
compatible = "simple-audio-card";
simple-audio-card,name = "tas5760m-audio";
simple-audio-card,format = "i2s";
simple-audio-card,frame-master = <&cpudai>;
simple-audio-card,bitclock-master = <&cpudai>;
simple-audio-card,widgets =
"Speaker", "External Speaker";
simple-audio-card,routing =
"External Speaker", "OUT";
cpudai: simple-audio-card,cpu {
sound-dai = <&esai0>;
};
simple-audio-card,codec {
sound-dai = <&tas5760m>;
};
};
&i2c1 {
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_amp_grp &pinctrl_amp_gpio_grp>;
status = "okay";
//CODEC
tas5760m:tas5760@6d {
#sound-dai-cells = <0>;
compatible = "ti,tas5760m";
reg = <0x6d>;
sleep = <&lsio_gpio4 5 GPIO_ACTIVE_LOW>;
shutdown = <&lsio_gpio1 27 GPIO_ACTIVE_HIGH>;
status = "okay";
};
With above entry we were able to create sound card entry
sound card list
When we tried to play 48000 HZ audio we are facing below error:
aplay command