[imx8mp] porting audio codec ssm2518

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[imx8mp] porting audio codec ssm2518

966 Views
Pan_Happy
Contributor I

execute "pactl list sinks" command,there is an error after running. The log information is as follows:


[ 51.811340] [asoc_simple_hw_params]-- params_rate(params)=48000 mclk_fs=256
[ 51.818441] ssm2518_hw_params,rate=48000 ssm2518->right_j=0
[ 51.845191] [asoc_simple_hw_params]-- params_rate(params)=44100 mclk_fs=256
[ 51.852305] ssm2518_hw_params,rate=44100 ssm2518->right_j=0
[ 51.858016] fsl-sai 30c30000.sai: failed to derive required Tx rate: 1411200
[ 51.865103] fsl-sai 30c30000.sai: ASoC: can't set 30c30000.sai hw params: -22
[ 51.872328] [asoc_simple_hw_params]-- params_rate(params)=44100 mclk_fs=256
[ 51.879401] ssm2518_hw_params,rate=44100 ssm2518->right_j=0
[ 51.885082] fsl-sai 30c30000.sai: failed to derive required Tx rate: 1411200
[ 51.892145] fsl-sai 30c30000.sai: ASoC: can't set 30c30000.sai hw params: -22

 

SAI - Codec
SAI3_TXC <-> BCLK(I2S Bit Clock.)
SAI3_TXFS <-> LRCLK(I2S Word Clock.)
SAI3_MCLK <-> MCLK(Serial Audio Interface Master Clock.)
SAI3_TXD <-> SDAT(I2S Serial Data.)

 

device tree configuration :
sound-ssm2518 {
status = "okay";
compatible = "simple-audio-card";
simple-audio-card,name = "ssm2518-hifi";
simple-audio-card,format = "i2s";
simple-audio-card,mclk-fs = <256>;

simple-audio-card,cpu {
#sound-dai-cells = <0>;
status = "okay";
sound-dai = <&sai3>;
};

simple-audio-card,codec {
#sound-dai-cells = <0>;
sound-dai = <&codec>;
};
};

&sai3 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3>;
assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;
clocks = <&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI3_IPG>, <&clk IMX8MP_CLK_DUMMY>,
<&audiomix_clk IMX8MP_CLK_AUDIOMIX_SAI3_MCLK1>, <&clk IMX8MP_CLK_DUMMY>,
<&clk IMX8MP_CLK_DUMMY>;
clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
fsl,sai-mclk-direction-output;
status = "okay";

pinctrl_sai3: sai3grp {
fsl,pins = <
MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6
MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6
MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6
MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6
>;
};

0 Kudos
Reply
1 Reply

937 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

The sai driver can't support required Tx rate 1411200, can you try to use other Tx rate?

0 Kudos
Reply