9 Replies Latest reply on Jul 25, 2016 1:15 PM by Intel Corporation

    I2S - TXD line doesn't have data

    Hari_CR

      Hi

      I have edited the yocto kernel to send out I2S data from the I2S_2 interface in Intel Edison (which ouputs PCM/TDM by default). So as per this forum post External I2S wm8958 audio codec information  I edited the file linux/sound/soc/intel/platform-libs/controls_v2_dpcm.c

      as

      Original Edited

             [SST_SSP2] = {

                      [SST_SSP_CODEC_MUX] = {

                              [SST_SSP_CODEC_DOMAIN] = {

                                      .ssp_id = SSP_CODEC,

                                      .bits_per_slot = 24,

                                      .slots = 4,

                                      .ssp_mode = SSP_MODE_MASTER,

                                      .pcm_mode = SSP_PCM_MODE_NETWORK,

                                      .duplex = SSP_DUPLEX,

                                      .ssp_protocol = SSP_MODE_PCM,

                                      .fs_width = 1,

                                      .fs_frequency = SSP_FS_48_KHZ,

                                      .active_slot_map = 0xF,

                                      .start_delay = 0,

                              },

                      },

              },

              [SST_SSP2] = {

                      [SST_SSP_CODEC_MUX] = {

                              [SST_SSP_CODEC_DOMAIN] = {

                                      .ssp_id = SSP_CODEC,

                                      .bits_per_slot = 24,

                                      .slots = 2,

                                      .ssp_mode = SSP_MODE_MASTER,

                                      .pcm_mode = SSP_PCM_MODE_NORMAL,

                                      .duplex = SSP_DUPLEX,

                                      .ssp_protocol = SSP_MODE_I2S,

                                      .fs_width = 24,

                                      .fs_frequency = SSP_FS_48_KHZ,

                                      .active_slot_map = 0x3,

                                      .start_delay = 1,

                              },

                      },

              },

       

      recompiled the kernel and flashed to Edison + enabled mux for I2S pin configuration + edited /usr/share/alsa/alsa.conf and set the default card to card '1'. + played a .wav file using aplay and probed the lines. I could only see activity in BCLK and FS lines, there was no activity in TXD line.

      What could be the reason for this behavior ?