<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: IMX8 SAI TDM16 Issue</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1955717#M228495</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Thank you for the update.&lt;/P&gt;
&lt;P&gt;Just to confirm, please verify that the Transmit Channel Enable bit of SAI Transmit Configuration 3 Register (TCR3) is enabled for your design.&lt;/P&gt;
&lt;P&gt;Best regards.&lt;/P&gt;</description>
    <pubDate>Tue, 17 Sep 2024 15:50:55 GMT</pubDate>
    <dc:creator>JorgeCas</dc:creator>
    <dc:date>2024-09-17T15:50:55Z</dc:date>
    <item>
      <title>IMX8 SAI TDM16 Issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1952255#M228326</link>
      <description>&lt;P&gt;We are using an IMX8Nano kernel 5.15 custom board and have an issue with TDM16 on SAI5&lt;/P&gt;&lt;P&gt;The issue is that&amp;nbsp; for a TDM 16 stream, we randomly get channels switching out of step by 8 channels. We have added kernel trace and see the following debug from the fsl_sai driver&lt;BR /&gt;&lt;BR /&gt;if (flags &amp;amp; FSL_SAI_CSR_FEF) {&lt;BR /&gt;dev_dbg(dev, "isr: Transmit underrun detected\n");&lt;/P&gt;&lt;P&gt;The driver should perform a FIFO reset in this condition, however this either doesn't happen or has no effect.&lt;/P&gt;&lt;P&gt;The next time the underrun occurs, the channels realign as the step in always 8 channels out in a 16 channel config.&lt;/P&gt;&lt;P&gt;The SAI is in slave mode with only transmit lines activated:&lt;/P&gt;&lt;DIV&gt;&amp;amp;sai5 {&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;#sound-dai-cells = &amp;lt;0&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pinctrl-names = "default";&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_sai5&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;fsl,dataline = &amp;lt;0 0x00 0xff&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;dmas = &amp;lt;&amp;amp;sdma2 8 24 0&amp;gt;, &amp;lt;&amp;amp;sdma2 9 24 0&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;fsl,txmasterflag = &amp;lt;1&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;status = "okay";&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;};&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;using the simpl-audio-card f&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;output1 {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = "simple-audio-card";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; simple-audio-card,name = "SAI51";&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;simple-audio-card,status="okay";&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;simple-audio-card,bitclock-master = &amp;lt;&amp;amp;spdif_codec1&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; simple-audio-card,frame-master = &amp;lt;&amp;amp;spdif_codec1&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; simple-audio-card,format = "left_j";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cpu1:&amp;nbsp; simple-audio-card,cpu {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sound-dai = &amp;lt;&amp;amp;sai5&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dai-tdm-slot-num = &amp;lt;16&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dai-tdm-slot-width = &amp;lt;32&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; spdif_codec1:&amp;nbsp; simple-audio-card,codec {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sound-dai = &amp;lt;&amp;amp;codec_out1&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; codec_out1: 1output_txcodec {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #sound-dai-cells = &amp;lt;0&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #address-cells = &amp;lt;0&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #size-cells = &amp;lt;0&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = "linux,spdif-dit";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sound-name-prefix = "spdif_codec1";&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status = "okay";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;We have tried a few fixes for this from various posts on line, with no success.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Has anyone else seen such an issue? We assume that this underrun is due the interupt being fired to early hence there is not enough data in the DMA for all channels.&lt;BR /&gt;&lt;BR /&gt;We have no errors in our also playback logs and no errors in TDM8 mode.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Any help appreciated.,&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2024 15:43:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1952255#M228326</guid>
      <dc:creator>millark</dc:creator>
      <dc:date>2024-09-11T15:43:37Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8 SAI TDM16 Issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1952258#M228327</link>
      <description>&lt;DIV&gt;We have no errors in our alsa playback logs and no errors in TDM8 mode.&lt;/DIV&gt;</description>
      <pubDate>Wed, 11 Sep 2024 15:46:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1952258#M228327</guid>
      <dc:creator>millark</dc:creator>
      <dc:date>2024-09-11T15:46:26Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8 SAI TDM16 Issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1953740#M228398</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;If you reduce the bit rate, does the error happen?&lt;/P&gt;
&lt;P&gt;Best regards.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Sep 2024 22:12:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1953740#M228398</guid>
      <dc:creator>JorgeCas</dc:creator>
      <dc:date>2024-09-12T22:12:12Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8 SAI TDM16 Issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1954268#M228431</link>
      <description>&lt;P&gt;I am not able to reduce the bit rate in this current test environment, as the audio being piped via alsa is fixed and the receiving end codec (clck src) is also fixed. I will try and test another way.&lt;/P&gt;&lt;P&gt;As an update, we set the clocks in master mode thinking it may have been related to clock stability when in slave mode, this had no affect.&lt;/P&gt;&lt;P&gt;We are running a dmix plugin in alsa that mixes the 16ch to 8 X 2ch and are now investigating there.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Sep 2024 12:13:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1954268#M228431</guid>
      <dc:creator>millark</dc:creator>
      <dc:date>2024-09-13T12:13:14Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8 SAI TDM16 Issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1954329#M228434</link>
      <description>&lt;P&gt;We have ruled out DMIX itself as it also happens with other Alsa plugins like DSHARE&lt;/P&gt;</description>
      <pubDate>Fri, 13 Sep 2024 14:01:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1954329#M228434</guid>
      <dc:creator>millark</dc:creator>
      <dc:date>2024-09-13T14:01:36Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8 SAI TDM16 Issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1955535#M228486</link>
      <description>&lt;P&gt;So we have tested with 16bit audio and so far no errors. We will keep the test running on soak as it has only been a few hours. We can't use this in production, but an interesting test,&lt;/P&gt;&lt;P&gt;I guess this makes sense as the DMA controller is 32bit so for 32bit audio data at 16ch we are talking about 64bits of audio per sample, which will use two DMA slots, for an underrun the fifo gets out of sync by 1, representing half the data hence the 8 channel switch.&amp;nbsp;&lt;/P&gt;&lt;P&gt;We need to understand now about the fifo reset in 32bit mode when an underrun occurs and why this has no affect, I assume as it only clears 32bits of data and not the 64bits relating to a full sample.&amp;nbsp; Also as to why these underruns occur and why the dma interrupts can't keep up with the system.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Sep 2024 10:18:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1955535#M228486</guid>
      <dc:creator>millark</dc:creator>
      <dc:date>2024-09-17T10:18:04Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8 SAI TDM16 Issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1955717#M228495</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;Thank you for the update.&lt;/P&gt;
&lt;P&gt;Just to confirm, please verify that the Transmit Channel Enable bit of SAI Transmit Configuration 3 Register (TCR3) is enabled for your design.&lt;/P&gt;
&lt;P&gt;Best regards.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Sep 2024 15:50:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1955717#M228495</guid>
      <dc:creator>JorgeCas</dc:creator>
      <dc:date>2024-09-17T15:50:55Z</dc:date>
    </item>
    <item>
      <title>Re: IMX8 SAI TDM16 Issue</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1957760#M228655</link>
      <description>&lt;P&gt;We have pushed the problem aside. But there are some important lessons learnt here to share with other from a dts perspective:&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;fsl,dataline = &amp;lt;0 0x00 0xff&amp;gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Be careful with this config if you have specified multiple data lines in the pin mappings. With this config combined with:&lt;/P&gt;&lt;DIV&gt;&amp;nbsp; cpu1:&amp;nbsp; simple-audio-card,cpu {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sound-dai = &amp;lt;&amp;amp;sai5&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dai-tdm-slot-num = &amp;lt;16&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dai-tdm-slot-width = &amp;lt;32&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;This will create a 32 channel interface as the slot num should reference the number of channels needed per data line not the total number of channels for the SAI interface.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Hence we were seeing dma of 64 bit as this was essentially a 32 channel operation and we only needed 16.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;We switched to a 4 X TDM4 config like below:&lt;BR /&gt;&lt;BR /&gt;4 DATA LINES&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;DIV&gt;pinctrl_sai5: sai5grp {&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;fsl,pins = &amp;lt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;MX8MN_IOMUXC_SAI2_MCLK_SAI5_MCLK&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0xd6&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;MX8MN_IOMUXC_SAI2_RXC_SAI5_TX_BCLK 0xd6&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;MX8MN_IOMUXC_SAI2_RXFS_SAI5_TX_SYNC 0xd6&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;MX8MN_IOMUXC_SAI2_RXD0_SAI5_TX_DATA0 0xd6 &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;MX8MN_IOMUXC_SAI2_TXFS_SAI5_TX_DATA1 0xd6&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;MX8MN_IOMUXC_SAI2_TXC_SAI5_TX_DATA2 0xd6&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;MX8MN_IOMUXC_SAI2_TXD0_SAI5_TX_DATA3 0xd6&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;};&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SAI5&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;amp;sai5 {&lt;/SPAN&gt;&lt;/P&gt;#sound-dai-cells = &amp;lt;0&amp;gt;;&lt;BR /&gt;pinctrl-names = "default";&lt;BR /&gt;pinctrl-0 = &amp;lt;&amp;amp;pinctrl_sai5&amp;gt;;&lt;BR /&gt;fsl,dataline = &amp;lt;0 0x00 0xff&amp;gt;;&lt;BR /&gt;dmas = &amp;lt;&amp;amp;sdma2 8 24 0&amp;gt;, &amp;lt;&amp;amp;sdma2 9 24 0&amp;gt;;&lt;BR /&gt;fsl,txmasterflag = &amp;lt;1&amp;gt;;&amp;nbsp;&lt;BR /&gt;/delete-property/ fsl,shared-interrupt;&lt;BR /&gt;status = "okay";&lt;BR /&gt;};&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Card and Codec&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;output1 {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = "simple-audio-card";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; simple-audio-card,name = "SAI51";&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;simple-audio-card,status="okay";&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;simple-audio-card,bitclock-master = &amp;lt;&amp;amp;spdif_codec1&amp;gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; simple-audio-card,frame-master = &amp;lt;&amp;amp;spdif_codec1&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; simple-audio-card,format = "left_j";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cpu1:&amp;nbsp; simple-audio-card,cpu {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sound-dai = &amp;lt;&amp;amp;sai5&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dai-tdm-slot-num = &amp;lt;4&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dai-tdm-slot-width = &amp;lt;32&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; spdif_codec1:&amp;nbsp; simple-audio-card,codec {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sound-dai = &amp;lt;&amp;amp;codec_out1&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; codec_out1: 1output_txcodec {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #sound-dai-cells = &amp;lt;0&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #address-cells = &amp;lt;0&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #size-cells = &amp;lt;0&amp;gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = "linux,spdif-dit";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sound-name-prefix = "spdif_codec1";&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status = "okay";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; };&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note the slo-num of 4. Each dataline now has 4 channels of data. You will need to use ALSA to map these as we have. We use a dmix to create 8 stereos, the mappings were :&lt;BR /&gt;&lt;BR /&gt;C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15&lt;BR /&gt;0&amp;nbsp; &amp;nbsp; 4&amp;nbsp; &amp;nbsp;8&amp;nbsp; &amp;nbsp; 12&amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp;5&amp;nbsp; &amp;nbsp; 9&amp;nbsp; &amp;nbsp; 13&amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp;6&amp;nbsp; &amp;nbsp; 10&amp;nbsp; &amp;nbsp; 14&amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp;7&amp;nbsp; &amp;nbsp; &amp;nbsp;11&amp;nbsp; &amp;nbsp; &amp;nbsp;15&lt;/P&gt;&lt;P&gt;The channel count is like this because we didn't enable the fls,multi-lane and disabled shared interrupt&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this helps someone else.&lt;/P&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 19 Sep 2024 13:48:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/IMX8-SAI-TDM16-Issue/m-p/1957760#M228655</guid>
      <dc:creator>millark</dc:creator>
      <dc:date>2024-09-19T13:48:49Z</dc:date>
    </item>
  </channel>
</rss>

