register of I2s not work I2S_AXBAR_TX_SOFT_RESET_0 (audio)

Hi

  1. I work with tx1+SDK 28.2; the speaker device is tas5751, it always sound less. I have no idear to debug it!! help help help

  2. kernel show trace as follow :
    [ 18.067337] tegra210-i2s tegra210-i2s.0: Failed at I2S0_RX sw reset
    [ 18.082612] tegra210-i2s tegra210-i2s.0: ASoC: PRE_PMU: I2S1 DAP RX event failed: -22

  3. my dts as follow:
    gpio: gpio@6000d000 {
    gpio-init-names = “default”;
    gpio-init-0 = <&gpio_default>;

             gpio_default: default {
    
                     /* Transfer pins from GPIO to I2S for audio. */
                     gpio-to-sfio = <  /* GPIO# TX1-PIN TX1-FUNC/ERA-FUNC CODEC-PIN */
                             TEGRA_GPIO(B, 0)     /*   8 H1 I2S0_LRCLK/SFSYNC R335/3 */
                             TEGRA_GPIO(B, 1)     /*   9 G1 I2S0_SDIN         R339/5 */
                             TEGRA_GPIO(B, 2)     /*  10 H2 I2S0_SDOUT        R337/4 */
                             TEGRA_GPIO(B, 3)     /*  11 G2 I2S0_CLK/SRCLK    R334/2 */
                             TEGRA_GPIO(K, 0)     /*   80 D13 I2S1_LRCLK/SFSYNC  */
                             TEGRA_GPIO(K, 1)     /*   81 C14 I2S1_SDIN          */
                             TEGRA_GPIO(K, 2)     /*   82 D14 I2S1_SDOUT         */
                             TEGRA_GPIO(K, 3)     /*   83 C15 I2S1_CLK/SRCLK     */
                             TEGRA_GPIO(BB, 0)    /* 216 F1 AUDIO_MCLK     R1/R332/1 */
                             >;
             };
    
     };
    
     sound_card: sound {
             compatible = "nvidia,tegra-audio-t210ref-mobile-rt565x";
             nvidia,model = "tegra-snd-t210ref-mobile-rt565x";
    
             clocks = <&tegra_car TEGRA210_CLK_PLL_P_OUT1>,
                     <&tegra_car TEGRA210_CLK_PLL_A>,
                     <&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
                     <&tegra_car TEGRA210_CLK_D_AUDIO>,
                     <&tegra_car TEGRA210_CLK_CLK_M>,
                     <&tegra_car TEGRA210_CLK_EXTERN1>;
             clock-names = "pll_p_out1", "pll_a", "pll_a_out0", "ahub",
                     "clk_m", "extern1";
    
    
             assigned-clocks = <&tegra_car TEGRA210_CLK_PLL_A>,
                     <&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
                     <&tegra_car TEGRA210_CLK_D_AUDIO>,
                     <&tegra_car TEGRA210_CLK_EXTERN1>;
             assigned-clock-rates = <368640000>, <36864000>,
                     <36864000>, <12288000>;
    
             nvidia,num-codec-link = <2>;
    
             nvidia,audio-routing =
                     "x Headphone",          "x OUT",
                     "x IN",                 "x Mic",
                     "y Headphone",          "y OUT",
                     "y IN",                 "y Mic",
                     "l Headphone",          "l OUT",
                     "l IN",                 "l Mic",
                     "s Headphone",          "s OUT",
                     "s IN",                 "s Mic",
                     "w Headphone",          "w OUT",
                     "w IN",                 "w Mic",
                      "z IN",                 "z Mic";
    
             nvidia,xbar = <&tegra_axbar>;
    
             /* The codec-dai here is initialized to dummy and will be   */
             /* replaced with rt565x codec-dai on detecting super-module */
             nvidia,dai-link-1 {
                     link-name = "rt565x-playback";
                     cpu-dai = <&tegra_i2s1>;
                     codec-dai = <&spdif_dit4>;
                     cpu-dai-name = "I2S1";
                     codec-dai-name = "dit-hifi";
                     format = "i2s";
                     bitclock-master;
                     frame-master;
                     bitclock-noninversion;
                     frame-noninversion;
                     bit-format = "s16_le";
                     bclk_ratio = <2>;
                     srate = <96000>;
                     num-channel = <2>;
                     ignore_suspend;
                     name-prefix = "y";
             };
    
            nvidia,dai-link-2 {
                     link-name = "tas5751-playback";
                     cpu-dai = <&tegra_i2s5>;
                     codec-dai = <&tas5751>;
                     cpu-dai-name = "I2S5";
                     codec-dai-name = "tas5751-speaker";
                     format = "i2s";
                     bitclock-slave;
                     frame-slave;
                     bit-format = "s16_le";
                     bclk_ratio = <2>;
                     srate = <96000>;
                     num-channel = <2>;
                     ignore_suspend;
                     name-prefix = "x";
             };

additional important info : aplay can not work until few seconds going on

trace as follow:
ALSA lib pcm_hw.c:1700:(_snd_pcm_hw_open) Invalid value for card
aplay: main:722: audio open error: No such device

Dear ysong85,

Could you please move to JetsonTX1 forum(https://devtalk.nvidia.com/default/board/164/jetson-tx1)?
Because this forum is for Drive Platform. Thanks.

Hi SteveNv

I am so sorry.
I have no idear about how to move to etsonTX1 forum(https://devtalk.nvidia.com/default/board/164/jetson-tx1)?
Could you help me to move? Or any reference guid me to move

Thanks

FYI, the files from above are for the t210 (TX1). This is the reason this should be in the TX1 forum. On the other hand, if your board is not a TX1, then this could in fact be why it doesn’t work. Is this a TX1?

There are some t210 files which still apply to the TX2 since they have the same Audio Processing Engine.

Duplicated and answered in https://devtalk.nvidia.com/default/topic/1036585/register-of-i2s-not-work-i2s_axbar_tx_soft_reset_0-audio-/