<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/127069/next-buffers-not-supplied-on-time</link><description>Mian code - 
 
 
 
 
 
 
 
 
 
 Log: 
 
 
 
 
 no sine wave sound during this trasmission time ?.. 
 I attached here reguster i Enabaled 
 
 
 
 
 
 
 
 
 
 
 i m usinf nrf54l15 and codec is TLV320AIC3111</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 05 Mar 2026 12:39:30 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/127069/next-buffers-not-supplied-on-time" /><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/562640?ContentTypeID=1</link><pubDate>Thu, 05 Mar 2026 12:39:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:af155407-3287-4458-b5ae-77e859763af1</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I noticed that you created yet another ticket about this issue which my colleague picked up. Please avoid creating multiple tickets on the same issue.&lt;/p&gt;
&lt;p&gt;I will be away next week, so I will close this ticket since you have another open ticket on this issue.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561992?ContentTypeID=1</link><pubDate>Wed, 25 Feb 2026 07:04:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f0ab2474-919f-4eb9-b9c6-c54560ae5ca9</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/maria-gilje"&gt;Maria Gilje&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561898?ContentTypeID=1</link><pubDate>Tue, 24 Feb 2026 02:29:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e9a6d23-8ca9-4ad0-9dbc-dc69d098625d</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;ok mam.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am actually stuck in here&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks you for your feed back&amp;#39;&lt;/p&gt;
&lt;p&gt;I hope you should find the replay as soon as possible&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561867?ContentTypeID=1</link><pubDate>Mon, 23 Feb 2026 15:15:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e50dc570-4031-468c-9291-56ead73424e1</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I was not able to find further feedback for you today. My apologies for the delay.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561698?ContentTypeID=1</link><pubDate>Fri, 20 Feb 2026 11:37:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:500c5511-a52c-4583-bfa8-e0d45b616b0c</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;During this transmission time also no sound is generated&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561697?ContentTypeID=1</link><pubDate>Fri, 20 Feb 2026 11:36:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a46d91bb-e245-4410-915c-7581dde8c84e</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;*** Booting nRF Connect SDK v3.2.1-d8887f6f32df ***&lt;br /&gt;*** Using Zephyr OS v4.2.99-ec78104f1569 ***&lt;br /&gt;I2S playback (mem_slab)&lt;br /&gt;PWM configured: period=250ns pulse=125ns&lt;br /&gt;I2C bus ready, addr=0x18&lt;br /&gt;Codec responded: reg0 = 0x01&lt;br /&gt;Writing codec register table...&lt;br /&gt;reg=0x01 val=0x01 err=0&lt;br /&gt;reg=0x04 val=0x03 err=0&lt;br /&gt;reg=0x05 val=0xD4 err=0&lt;br /&gt;reg=0x06 val=0x20 err=0&lt;br /&gt;reg=0x07 val=0x00 err=0&lt;br /&gt;reg=0x08 val=0x00 err=0&lt;br /&gt;reg=0x1B val=0x0C err=0&lt;br /&gt;reg=0x0B val=0x84 err=0&lt;br /&gt;reg=0x0C val=0x99 err=0&lt;br /&gt;reg=0x0E val=0x80 err=0&lt;br /&gt;reg=0x1D val=0x01 err=0&lt;br /&gt;reg=0x1E val=0x84 err=0&lt;br /&gt;reg=0x3C val=0x00 err=0&lt;br /&gt;reg=0x3D val=0x00 err=0&lt;br /&gt;reg=0x3F val=0xD6 err=0&lt;br /&gt;reg=0x40 val=0x00 err=0&lt;br /&gt;reg=0x41 val=0x00 err=0&lt;br /&gt;reg=0x42 val=0x00 err=0&lt;br /&gt;reg=0x1E val=0x00 err=0&lt;br /&gt;reg=0x1F val=0xC0 err=0&lt;br /&gt;reg=0x20 val=0xC6 err=0&lt;br /&gt;reg=0x23 val=0xA8 err=0&lt;br /&gt;reg=0x24 val=0x80 err=0&lt;br /&gt;reg=0x25 val=0x80 err=0&lt;br /&gt;reg=0x22 val=0x30 err=0&lt;br /&gt;reg=0x2A val=0x3D err=0&lt;br /&gt;reg=0x2B val=0x3D err=0&lt;br /&gt;reg=0x2C val=0xC0 err=0&lt;br /&gt;reg=0x26 val=0x80 err=0&lt;br /&gt;reg=0x27 val=0x80 err=0&lt;br /&gt;reg=0x2E val=0x00 err=0&lt;br /&gt;reg=0x2F val=0x00 err=0&lt;br /&gt;reg=0x30 val=0x00 err=0&lt;br /&gt;reg=0x31 val=0x00 err=0&lt;br /&gt;Codec init DONE.&lt;br /&gt;I2C ready&lt;br /&gt;Start streaming&lt;br /&gt;[00:04:02.658,525] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200070d8&lt;br /&gt;[00:04:02.658,775] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200075d8&lt;br /&gt;[00:04:02.659,020] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20007ad8&lt;br /&gt;[00:04:02.659,262] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20007fd8&lt;br /&gt;[00:04:02.659,507] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200084d8&lt;br /&gt;[00:04:02.659,751] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200089d8&lt;br /&gt;[00:04:02.659,996] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20008ed8&lt;br /&gt;[00:04:02.660,240] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200093d8&lt;br /&gt;[00:04:02.660,484] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200098d8&lt;br /&gt;[00:04:02.660,729] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20009dd8&lt;br /&gt;[00:04:02.660,973] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000a2d8&lt;br /&gt;[00:04:02.661,217] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000a7d8&lt;br /&gt;[00:04:02.661,461] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000acd8&lt;br /&gt;[00:04:02.661,702] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000b1d8&lt;br /&gt;[00:04:02.661,943] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000b6d8&lt;br /&gt;[00:04:02.662,184] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000bbd8&lt;br /&gt;[00:04:02.662,425] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000c0d8&lt;br /&gt;[00:04:02.662,666] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000c5d8&lt;br /&gt;[00:04:02.667,909] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000cad8&lt;br /&gt;[00:04:02.668,153] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000cfd8&lt;br /&gt;[00:04:02.668,398] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000d4d8&lt;br /&gt;[00:04:02.668,642] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000d9d8&lt;br /&gt;[00:04:02.668,886] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000ded8&lt;br /&gt;[00:04:02.669,131] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000e3d8&lt;br /&gt;[00:04:02.669,375] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000e8d8&lt;br /&gt;[00:04:02.669,618] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000edd8&lt;br /&gt;[00:04:02.669,859] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000f2d8&lt;br /&gt;[00:04:02.670,100] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000f7d8&lt;br /&gt;[00:04:02.670,340] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000fcd8&lt;br /&gt;[00:04:02.670,581] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200101d8&lt;br /&gt;[00:04:02.670,853] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200106d8&lt;br /&gt;[00:04:02.671,107] &amp;lt;dbg&amp;gt; i2s_nrfx: [00:04:02.671,260] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200075d8/(nil)&lt;br /&gt;i2s_nrfx_write: Queued TX 0x20010bd8&lt;br /&gt;[00:04:02.671,623] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200110d8&lt;br /&gt;[00:04:02.676,870] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200115d8&lt;br /&gt;[00:04:02.709,809] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200070d8&lt;br /&gt;[00:04:02.710,047] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20007ad8/(nil)&lt;br /&gt;[00:04:02.710,285] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20011ad8&lt;br /&gt;[00:04:02.748,371] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200075d8&lt;br /&gt;[00:04:02.748,608] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20007fd8/(nil)&lt;br /&gt;[00:04:02.748,849] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20011d58&lt;br /&gt;[00:04:02.786,924] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20007ad8&lt;br /&gt;[00:04:02.787,161] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200084d8/(nil)&lt;br /&gt;[00:04:02.787,402] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20011fd8&lt;br /&gt;[00:04:02.825,457] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20007fd8&lt;br /&gt;[00:04:02.825,695] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200089d8/(nil)&lt;br /&gt;[00:04:02.825,935] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20012258&lt;br /&gt;[00:04:02.864,014] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200084d8&lt;br /&gt;[00:04:02.864,250] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20008ed8/(nil)&lt;br /&gt;[00:04:02.864,490] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200124d8&lt;br /&gt;[00:04:02.902,563] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200089d8&lt;br /&gt;[00:04:02.902,800] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200093d8/(nil)&lt;br /&gt;[00:04:02.903,041] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20012758&lt;br /&gt;[00:04:02.941,131] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20008ed8&lt;br /&gt;[00:04:02.941,368] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200098d8/(nil)&lt;br /&gt;[00:04:02.941,609] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200129d8&lt;br /&gt;[00:04:02.979,687] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200093d8&lt;br /&gt;[00:04:02.979,925] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20009dd8/(nil)&lt;br /&gt;[00:04:02.980,165] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20012c58&lt;br /&gt;[00:04:03.018,230] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200098d8&lt;br /&gt;[00:04:03.018,466] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000a2d8/(nil)&lt;br /&gt;[00:04:03.018,704] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20012ed8&lt;br /&gt;[00:04:03.056,802] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20009dd8&lt;br /&gt;[00:04:03.057,038] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000a7d8/(nil)&lt;br /&gt;[00:04:03.057,276] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20013158&lt;br /&gt;[00:04:03.095,357] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000a2d8&lt;br /&gt;[00:04:03.095,593] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000acd8/(nil)&lt;br /&gt;[00:04:03.095,832] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200133d8&lt;br /&gt;[00:04:03.133,902] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000a7d8&lt;br /&gt;[00:04:03.134,140] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000b1d8/(nil)&lt;br /&gt;[00:04:03.134,380] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20013658&lt;br /&gt;[00:04:03.172,445] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000acd8&lt;br /&gt;[00:04:03.172,682] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000b6d8/(nil)&lt;br /&gt;[00:04:03.172,921] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200138d8&lt;br /&gt;[00:04:03.211,010] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000b1d8&lt;br /&gt;[00:04:03.211,246] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000bbd8/(nil)&lt;br /&gt;[00:04:03.211,486] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20013b58&lt;br /&gt;[00:04:03.249,578] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000b6d8&lt;br /&gt;[00:04:03.249,815] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000c0d8/(nil)&lt;br /&gt;[00:04:03.250,056] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20013dd8&lt;br /&gt;[00:04:03.288,126] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000bbd8&lt;br /&gt;[00:04:03.288,364] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000c5d8/(nil)&lt;br /&gt;[00:04:03.288,604] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014058&lt;br /&gt;[00:04:03.326,686] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000c0d8&lt;br /&gt;[00:04:03.326,924] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000cad8/(nil)&lt;br /&gt;[00:04:03.327,162] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200142d8&lt;br /&gt;[00:04:03.365,230] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000c5d8&lt;br /&gt;[00:04:03.365,468] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000cfd8/(nil)&lt;br /&gt;[00:04:03.365,708] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014558&lt;br /&gt;[00:04:03.403,790] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000cad8&lt;br /&gt;[00:04:03.404,027] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000d4d8/(nil)&lt;br /&gt;[00:04:03.404,266] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200147d8&lt;br /&gt;[00:04:03.442,371] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000cfd8&lt;br /&gt;[00:04:03.442,608] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000d9d8/(nil)&lt;br /&gt;[00:04:03.442,849] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014a58&lt;br /&gt;[00:04:03.480,943] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000d4d8&lt;br /&gt;[00:04:03.481,180] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000ded8/(nil)&lt;br /&gt;[00:04:03.481,419] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014cd8&lt;br /&gt;[00:04:03.519,494] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000d9d8&lt;br /&gt;[00:04:03.519,732] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000e3d8/(nil)&lt;br /&gt;[00:04:03.519,972] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58&lt;br /&gt;[00:04:03.558,068] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000ded8&lt;br /&gt;[00:04:03.558,304] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000e8d8/(nil)&lt;br /&gt;[00:04:03.558,545] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200151d8&lt;br /&gt;[00:04:03.596,598] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000e3d8&lt;br /&gt;[00:04:03.596,836] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000edd8/(nil)&lt;br /&gt;[00:04:03.597,077] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015458&lt;br /&gt;[00:04:03.635,159] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000e8d8&lt;br /&gt;[00:04:03.635,396] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000f2d8/(nil)&lt;br /&gt;[00:04:03.635,634] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200156d8&lt;br /&gt;[00:04:03.673,719] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000edd8&lt;br /&gt;[00:04:03.673,957] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000f7d8/(nil)&lt;br /&gt;[00:04:03.674,197] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015958&lt;br /&gt;[00:04:03.712,268] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000f2d8&lt;br /&gt;[00:04:03.712,505] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000fcd8/(nil)&lt;br /&gt;[00:04:03.712,746] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015bd8&lt;br /&gt;[00:04:03.750,833] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000f7d8&lt;br /&gt;[00:04:03.751,071] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200101d8/(nil)&lt;br /&gt;[00:04:03.751,310] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015e58&lt;br /&gt;[00:04:03.789,400] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000fcd8&lt;br /&gt;[00:04:03.789,638] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200106d8/(nil)&lt;br /&gt;[00:04:03.789,876] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200160d8&lt;br /&gt;[00:04:03.827,970] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200101d8&lt;br /&gt;[00:04:03.828,208] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20010bd8/(nil)&lt;br /&gt;[00:04:03.828,448] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016358&lt;br /&gt;[00:04:03.866,527] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200106d8&lt;br /&gt;[00:04:03.866,765] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200110d8/(nil)&lt;br /&gt;[00:04:03.867,005] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200165d8&lt;br /&gt;[00:04:03.905,088] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20010bd8&lt;br /&gt;[00:04:03.905,324] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200115d8/(nil)&lt;br /&gt;[00:04:03.905,565] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016858&lt;br /&gt;[00:04:03.943,635] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200110d8&lt;br /&gt;[00:04:03.943,872] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20011ad8/(nil)&lt;br /&gt;[00:04:03.944,111] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016ad8&lt;br /&gt;[00:04:03.982,205] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200115d8&lt;br /&gt;[00:04:03.982,443] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20011d58/(nil)&lt;br /&gt;[00:04:03.982,683] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016d58&lt;br /&gt;[00:04:04.020,775] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20011ad8&lt;br /&gt;[00:04:04.021,011] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20011fd8/(nil)&lt;br /&gt;[00:04:04.021,248] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016fd8&lt;br /&gt;[00:04:04.059,333] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20011d58&lt;br /&gt;[00:04:04.059,569] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20012258/(nil)&lt;br /&gt;[00:04:04.059,808] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017258&lt;br /&gt;[00:04:04.097,885] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20011fd8&lt;br /&gt;[00:04:04.098,121] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200124d8/(nil)&lt;br /&gt;[00:04:04.098,357] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200174d8&lt;br /&gt;[00:04:04.136,452] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20012258&lt;br /&gt;[00:04:04.136,690] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20012758/(nil)&lt;br /&gt;[00:04:04.136,930] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758&lt;br /&gt;[00:04:04.175,015] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200124d8&lt;br /&gt;[00:04:04.175,251] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200129d8/(nil)&lt;br /&gt;[00:04:04.175,491] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200179d8&lt;br /&gt;[00:04:04.213,583] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20012758&lt;br /&gt;[00:04:04.213,821] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20012c58/(nil)&lt;br /&gt;[00:04:04.214,061] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017c58&lt;br /&gt;[00:04:04.252,153] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200129d8&lt;br /&gt;[00:04:04.252,390] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20012ed8/(nil)&lt;br /&gt;[00:04:04.252,629] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017ed8&lt;br /&gt;[00:04:04.290,698] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20012c58&lt;br /&gt;[00:04:04.290,936] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20013158/(nil)&lt;br /&gt;[00:04:04.291,176] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018158&lt;br /&gt;[00:04:04.329,235] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20012ed8&lt;br /&gt;[00:04:04.329,472] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200133d8/(nil)&lt;br /&gt;[00:04:04.329,713] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200183d8&lt;br /&gt;[00:04:04.367,778] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20013158&lt;br /&gt;[00:04:04.368,016] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20013658/(nil)&lt;br /&gt;[00:04:04.368,255] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018658&lt;br /&gt;[00:04:04.406,335] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200133d8&lt;br /&gt;[00:04:04.406,573] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200138d8/(nil)&lt;br /&gt;[00:04:04.406,810] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200188d8&lt;br /&gt;[00:04:04.444,879] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20013658&lt;br /&gt;[00:04:04.445,117] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20013b58/(nil)&lt;br /&gt;[00:04:04.445,357] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018b58&lt;br /&gt;[00:04:04.483,440] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200138d8&lt;br /&gt;[00:04:04.483,678] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20013dd8/(nil)&lt;br /&gt;[00:04:04.483,918] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018dd8&lt;br /&gt;[00:04:04.522,019] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20013b58&lt;br /&gt;[00:04:04.522,255] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014058/(nil)&lt;br /&gt;[00:04:04.522,496] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019058&lt;br /&gt;[00:04:04.560,566] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20013dd8&lt;br /&gt;[00:04:04.560,803] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200142d8/(nil)&lt;br /&gt;[00:04:04.561,041] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200192d8&lt;br /&gt;[00:04:04.599,132] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014058&lt;br /&gt;[00:04:04.599,370] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014558/(nil)&lt;br /&gt;[00:04:04.599,610] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019558&lt;br /&gt;[00:04:04.637,698] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200142d8&lt;br /&gt;[00:04:04.637,936] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200147d8/(nil)&lt;br /&gt;[00:04:04.638,176] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200197d8&lt;br /&gt;[00:04:04.676,266] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014558&lt;br /&gt;[00:04:04.676,486] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014a58/(nil)&lt;br /&gt;[00:04:04.676,735] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014558&lt;br /&gt;[00:04:04.714,832] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200147d8&lt;br /&gt;[00:04:04.715,051] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014cd8/(nil)&lt;br /&gt;[00:04:04.753,394] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014a58&lt;br /&gt;[00:04:04.753,614] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)&lt;br /&gt;[00:04:04.753,863] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014a58&lt;br /&gt;[00:04:04.791,948] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014cd8&lt;br /&gt;[00:04:04.792,167] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200151d8/(nil)&lt;br /&gt;[00:04:04.830,527] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58&lt;br /&gt;[00:04:04.830,747] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015458/(nil)&lt;br /&gt;[00:04:04.830,996] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58&lt;br /&gt;[00:04:04.869,096] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200151d8&lt;br /&gt;[00:04:04.869,313] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200156d8/(nil)&lt;br /&gt;[00:04:04.907,632] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015458&lt;br /&gt;[00:04:04.907,851] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015958/(nil)&lt;br /&gt;[00:04:04.908,097] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015458&lt;br /&gt;[00:04:04.946,197] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200156d8&lt;br /&gt;[00:04:04.946,415] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015bd8/(nil)&lt;br /&gt;[00:04:04.984,770] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015958&lt;br /&gt;[00:04:04.984,990] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015e58/(nil)&lt;br /&gt;[00:04:04.985,239] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015958&lt;br /&gt;[00:04:05.023,316] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015bd8&lt;br /&gt;[00:04:05.023,533] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200160d8/(nil)&lt;br /&gt;[00:04:05.061,887] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015e58&lt;br /&gt;[00:04:05.062,105] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016358/(nil)&lt;br /&gt;[00:04:05.062,353] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015e58&lt;br /&gt;[00:04:05.100,432] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200160d8&lt;br /&gt;[00:04:05.100,650] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200165d8/(nil)&lt;br /&gt;[00:04:05.138,977] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016358&lt;br /&gt;[00:04:05.139,197] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016858/(nil)&lt;br /&gt;[00:04:05.139,446] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016358&lt;br /&gt;[00:04:05.177,542] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200165d8&lt;br /&gt;[00:04:05.177,760] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016ad8/(nil)&lt;br /&gt;[00:04:05.216,098] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016858&lt;br /&gt;[00:04:05.216,316] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016d58/(nil)&lt;br /&gt;[00:04:05.216,565] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016858&lt;br /&gt;[00:04:05.254,647] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016ad8&lt;br /&gt;[00:04:05.254,865] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016fd8/(nil)&lt;br /&gt;[00:04:05.293,199] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016d58&lt;br /&gt;[00:04:05.293,419] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017258/(nil)&lt;br /&gt;[00:04:05.293,668] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016d58&lt;br /&gt;[00:04:05.331,752] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016fd8&lt;br /&gt;[00:04:05.331,971] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200174d8/(nil)&lt;br /&gt;[00:04:05.370,317] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017258&lt;br /&gt;[00:04:05.370,536] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)&lt;br /&gt;[00:04:05.370,786] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017258&lt;br /&gt;[00:04:05.408,874] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200174d8&lt;br /&gt;[00:04:05.409,093] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200179d8/(nil)&lt;br /&gt;[00:04:05.447,435] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758&lt;br /&gt;[00:04:05.447,654] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017c58/(nil)&lt;br /&gt;[00:04:05.447,901] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758&lt;br /&gt;[00:04:05.485,992] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200179d8&lt;br /&gt;[00:04:05.486,211] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017ed8/(nil)&lt;br /&gt;[00:04:05.524,539] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017c58&lt;br /&gt;[00:04:05.524,759] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018158/(nil)&lt;br /&gt;[00:04:05.525,008] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017c58&lt;br /&gt;[00:04:05.563,086] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017ed8&lt;br /&gt;[00:04:05.563,303] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200183d8/(nil)&lt;br /&gt;[00:04:05.601,649] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018158&lt;br /&gt;[00:04:05.601,868] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018658/(nil)&lt;br /&gt;[00:04:05.602,118] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018158&lt;br /&gt;[00:04:05.640,204] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200183d8&lt;br /&gt;[00:04:05.640,420] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200188d8/(nil)&lt;br /&gt;[00:04:05.678,771] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018658&lt;br /&gt;[00:04:05.678,991] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018b58/(nil)&lt;br /&gt;[00:04:05.679,240] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018658&lt;br /&gt;[00:04:05.717,322] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200188d8&lt;br /&gt;[00:04:05.717,540] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018dd8/(nil)&lt;br /&gt;[00:04:05.755,891] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018b58&lt;br /&gt;[00:04:05.756,110] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019058/(nil)&lt;br /&gt;[00:04:05.756,360] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018b58&lt;br /&gt;[00:04:05.794,457] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018dd8&lt;br /&gt;[00:04:05.794,676] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200192d8/(nil)&lt;br /&gt;[00:04:05.833,007] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019058&lt;br /&gt;[00:04:05.833,224] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019558/(nil)&lt;br /&gt;[00:04:05.833,473] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019058&lt;br /&gt;[00:04:05.871,568] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200192d8&lt;br /&gt;[00:04:05.871,786] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200197d8/(nil)&lt;br /&gt;[00:04:05.910,127] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019558&lt;br /&gt;[00:04:05.910,346] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014558/(nil)&lt;br /&gt;[00:04:05.910,596] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019558&lt;br /&gt;[00:04:05.948,688] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200197d8&lt;br /&gt;[00:04:05.948,907] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014a58/(nil)&lt;br /&gt;[00:04:05.987,245] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014558&lt;br /&gt;[00:04:05.987,465] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)&lt;br /&gt;[00:04:05.987,713] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014558&lt;br /&gt;[00:04:06.025,811] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014a58&lt;br /&gt;[00:04:06.026,028] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015458/(nil)&lt;br /&gt;[00:04:06.064,392] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58&lt;br /&gt;[00:04:06.064,610] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015958/(nil)&lt;br /&gt;[00:04:06.064,858] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58&lt;br /&gt;[00:04:06.102,965] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015458&lt;br /&gt;[00:04:06.103,183] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015e58/(nil)&lt;br /&gt;[00:04:06.141,520] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015958&lt;br /&gt;[00:04:06.141,739] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016358/(nil)&lt;br /&gt;[00:04:06.141,989] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015958&lt;br /&gt;[00:04:06.180,082] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015e58&lt;br /&gt;[00:04:06.180,298] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016858/(nil)&lt;br /&gt;[00:04:06.218,658] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016358&lt;br /&gt;[00:04:06.218,878] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016d58/(nil)&lt;br /&gt;[00:04:06.219,127] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016358&lt;br /&gt;[00:04:06.257,229] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016858&lt;br /&gt;[00:04:06.257,447] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017258/(nil)&lt;br /&gt;[00:04:06.295,797] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016d58&lt;br /&gt;[00:04:06.296,017] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)&lt;br /&gt;[00:04:06.296,265] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016d58&lt;br /&gt;[00:04:06.334,347] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017258&lt;br /&gt;[00:04:06.334,565] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017c58/(nil)&lt;br /&gt;[00:04:06.372,898] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758&lt;br /&gt;[00:04:06.373,116] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018158/(nil)&lt;br /&gt;[00:04:06.373,362] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758&lt;br /&gt;[00:04:06.411,476] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017c58&lt;br /&gt;[00:04:06.411,695] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018658/(nil)&lt;br /&gt;[00:04:06.450,044] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018158&lt;br /&gt;[00:04:06.450,262] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018b58/(nil)&lt;br /&gt;[00:04:06.450,511] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018158&lt;br /&gt;[00:04:06.488,589] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018658&lt;br /&gt;[00:04:06.488,808] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019058/(nil)&lt;br /&gt;[00:04:06.527,147] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018b58&lt;br /&gt;[00:04:06.527,366] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019558/(nil)&lt;br /&gt;[00:04:06.527,616] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018b58&lt;br /&gt;[00:04:06.565,705] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019058&lt;br /&gt;[00:04:06.565,924] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014558/(nil)&lt;br /&gt;[00:04:06.604,295] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019558&lt;br /&gt;[00:04:06.604,515] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)&lt;br /&gt;[00:04:06.604,765] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019558&lt;br /&gt;[00:04:06.642,852] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014558&lt;br /&gt;[00:04:06.643,071] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015958/(nil)&lt;br /&gt;[00:04:06.681,413] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58&lt;br /&gt;[00:04:06.681,633] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016358/(nil)&lt;br /&gt;[00:04:06.681,882] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58&lt;br /&gt;[00:04:06.719,971] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015958&lt;br /&gt;[00:04:06.720,190] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016d58/(nil)&lt;br /&gt;[00:04:06.758,531] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016358&lt;br /&gt;[00:04:06.758,751] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)&lt;br /&gt;[00:04:06.759,000] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016358&lt;br /&gt;[00:04:06.797,119] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016d58&lt;br /&gt;[00:04:06.797,337] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018158/(nil)&lt;br /&gt;[00:04:06.835,696] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758&lt;br /&gt;[00:04:06.835,916] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018b58/(nil)&lt;br /&gt;[00:04:06.836,165] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758&lt;br /&gt;[00:04:06.874,263] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018158&lt;br /&gt;[00:04:06.874,482] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019558/(nil)&lt;br /&gt;[00:04:06.912,836] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018b58&lt;br /&gt;[00:04:06.913,055] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)&lt;br /&gt;[00:04:06.913,300] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018b58&lt;br /&gt;[00:04:06.951,422] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019558&lt;br /&gt;[00:04:06.951,640] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016358/(nil)&lt;br /&gt;[00:04:06.989,991] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58&lt;br /&gt;[00:04:06.990,211] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)&lt;br /&gt;[00:04:06.990,460] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58&lt;br /&gt;[00:04:07.028,551] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016358&lt;br /&gt;[00:04:07.028,768] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018b58/(nil)&lt;br /&gt;[00:04:07.067,107] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758&lt;br /&gt;[00:04:07.067,325] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)&lt;br /&gt;[00:04:07.067,573] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758&lt;br /&gt;[00:04:07.105,674] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018b58&lt;br /&gt;[00:04:07.105,892] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)&lt;br /&gt;[00:04:07.144,230] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58&lt;br /&gt;[00:04:07.144,464] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58&lt;br /&gt;[00:04:07.144,675] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Next TX 0x20014f58&lt;br /&gt;[00:04:07.144,881] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)&lt;br /&gt;[00:04:07.182,796] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758&lt;br /&gt;[00:04:07.221,344] &amp;lt;err&amp;gt; i2s_nrfx: Next buffers not supplied on time&lt;br /&gt;[00:04:07.221,560] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58&lt;br /&gt;[00:04:07.221,803] &amp;lt;err&amp;gt; i2s_nrfx: Cannot write in state: 4&lt;br /&gt;I2S error -5&lt;br /&gt;ASSERTION FAIL [p_cb-&amp;gt;state != NRFX_DRV_STATE_UNINITIALIZED] @ WEST_TOPDIR/modules/hal/nordic/nrfx/drivers/src/nrfx_i2s.c:439&lt;br /&gt;[00:04:07.222,272] &amp;lt;err&amp;gt; os: r0/a1: 0x00000004 r1/a2: 0x000001b7 r2/a3: 0x00000000&lt;br /&gt;[00:04:07.222,507] &amp;lt;err&amp;gt; os: r3/a4: 0x00000004 r12/ip: 0x0000000a r14/lr: 0x00007f41&lt;br /&gt;[00:04:07.222,734] &amp;lt;err&amp;gt; os: xpsr: 0x09000000&lt;br /&gt;[00:04:07.222,907] &amp;lt;err&amp;gt; os: Faulting instruction address (r15/pc): 0x0000e38a&lt;br /&gt;[00:04:07.223,118] &amp;lt;err&amp;gt; os: &amp;gt;&amp;gt;&amp;gt; ZEPHYR FATAL ERROR 4: Kernel panic on CPU 0&lt;br /&gt;[00:04:07.223,330] &amp;lt;err&amp;gt; os: Current thread: 0x20000a28 (main)&lt;br /&gt;[00:04:07.223,526] &amp;lt;err&amp;gt; os: Halting system&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;this is log when i am update - instance&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561677?ContentTypeID=1</link><pubDate>Fri, 20 Feb 2026 10:14:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6221d867-a536-4cf0-9499-f0aeec8ee8e3</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;Hi mam,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I am currently generating Sine sound using nrf as slave and codec has master -&amp;nbsp;&lt;/p&gt;
&lt;p&gt;so any issue have for this config.&lt;/p&gt;
&lt;p&gt;i am connecting my nrf Sdout - to codec Sdin&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Bclk ,mclk,wclk generated by codec now config as nrf -slave&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I got mic sound from codec - But i did not get proper out -&lt;/p&gt;
&lt;p&gt;Dout shows .5v only&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561673?ContentTypeID=1</link><pubDate>Fri, 20 Feb 2026 10:00:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e14c79b-70e5-4c69-8227-4367014316ef</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;ok Thank you&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561672?ContentTypeID=1</link><pubDate>Fri, 20 Feb 2026 09:55:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ead451e-33a6-4e9c-ac1d-c7c2ba023f2f</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank you for sharing code with Insert-&amp;gt;Code.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You have some instance collisions in your overlay, i.e. uart20, i2s20 and pwm20. Please choose unique instances for all your peripherals.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561629?ContentTypeID=1</link><pubDate>Thu, 19 Feb 2026 15:55:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5758c50f-8797-42df-8bb4-69626f3d3f0a</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;Hi Maria,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;1. my i2s is slave and codec is master&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2.I tried Thread creation and Working queue methord but same issue is face.&lt;/p&gt;
&lt;p&gt;3.I2c is used for register write ans I2s is used for Tx .&lt;/p&gt;
&lt;p&gt;4.i2c is initialization is done , I2s Tx happen some buffer after its goes to Buffer Error .&lt;/p&gt;
&lt;p&gt;5. I tried different methird and Verify - MCLK,BCLK,LRCK is proper&amp;nbsp;&lt;/p&gt;
&lt;p&gt;6. when i check Din - it shows Millivolt range&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I will share my Entire Code below For your Reference&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/*
 * Codec-style I2S SLAVE playback using k_mem_slab
 * nRF54Lx DK
 */

#include &amp;lt;zephyr/kernel.h&amp;gt;
#include &amp;lt;zephyr/device.h&amp;gt;
#include &amp;lt;zephyr/devicetree.h&amp;gt;
#include &amp;lt;zephyr/drivers/i2s.h&amp;gt;
#include &amp;lt;zephyr/sys/printk.h&amp;gt;
#include &amp;quot;codec/codec.h&amp;quot;

#define I2S_NODE DT_NODELABEL(i2s20)

//audio
#define SAMPLE_RATE_HZ     8000
#define SAMPLE_BIT_WIDTH   16
#define CHANNELS           2
#define SAMPLES_PER_BLOCK  160
//#define SAMPLES_PER_BLOCK  (SAMPLE_RATE_HZ / 10)    // 33ms blocks
#define BLOCK_SIZE         (SAMPLES_PER_BLOCK * CHANNELS * sizeof(int16_t))
#define NUM_BLOCKS         120
#define TIMEOUT_MS         2000

// #define AUDIO_THREAD_STACK 2048
// #define AUDIO_THREAD_PRIO  -2   

// K_THREAD_STACK_DEFINE(audio_stack, AUDIO_THREAD_STACK);
// static struct k_thread audio_thread;



// K_THREAD_STACK_DEFINE(i2s_stack, I2S_THREAD_STACK);
// static struct k_thread i2s_thread_data;

static const struct device *i2s_dev = DEVICE_DT_GET(I2S_NODE);

//  memory slab for I2S TX buffers
K_MEM_SLAB_DEFINE(i2s_tx_slab, BLOCK_SIZE, NUM_BLOCKS, 4);

//sine
// static int16_t sine_lut[] = {
//     3211, 6392, 9511, 12539, 15446, 18204, 20787, 23169,
//     25329, 27244, 28897, 30272, 31356, 32137, 32609, 32767,
//     -3212, -6393, -9512, -12540, -15447, -18205, -20788, -23170,
//     -25330, -27245, -28898, -30273, -31357, -32138, -32610, -32767};


static int16_t sine_lut[] = {
    6392,  12539,  18204,  23169,  27244,  30272,  32137,  32767,  32137,
    30272, 27244, 23169, 18204, 12539, 6392, 0, -6393, -12540,
    -18205, -23170, -27245, -30273, -32138, -32767, -32138, -30273, -27245,
    -23170, -18205, -12540, -6393, -1};

// static int16_t sine_lut[8] = {
//      0,
//  23170,
//  32767,
//  23170,
//      0,
// -23170,
// -32768,
// -23170
// };


// Fill block
static void fill_block(int16_t *buf)
{
    int lut_len = ARRAY_SIZE(sine_lut);

    for (int i = 0; i &amp;lt; SAMPLES_PER_BLOCK; i++)
    {
        int16_t s = sine_lut[i % lut_len];
        buf[2 * i] = s;
        buf[2 * i + 1] = s;
        // buf[i] = 28000;
    }
}

// // thread creation
// void audio_thread_fn(void *a, void *b, void *c)
// {
//     while (1)
//     {
//         void *block;
//         int ret;

//         ret = k_mem_slab_alloc(&amp;amp;i2s_tx_slab, &amp;amp;block, K_NO_WAIT);
//         if (ret != 0)
//         {
//             k_yield();   // allow DMA + ISR
//             continue;
//         }

//         fill_block((int16_t *)block);

//         ret = i2s_buf_write(i2s_dev, block, BLOCK_SIZE);

//         if (ret == -ENOMEM)
//         {
//             k_mem_slab_free(&amp;amp;i2s_tx_slab, block);
//         }
//         else if (ret &amp;lt; 0)
//         {
//             printk(&amp;quot;I2S error %d\n&amp;quot;, ret);
//             k_mem_slab_free(&amp;amp;i2s_tx_slab, block);
//         }
//     }
// }



int main(void)
{
    struct i2s_config cfg;
    int ret;

    printk(&amp;quot;I2S playback (mem_slab)\n&amp;quot;);

    // clocking and codec init
    ret = pwm_4mhz();
    if (ret &amp;lt; 0)
    {
        printk(&amp;quot;PWM init failed\n&amp;quot;);
        return ret;
    }

    for (int i = 0; i &amp;lt; 20; i++)
    {
        ret = i2c_init_codec();
        if (ret == 0)
        {
            break;
        }
        k_msleep(5);
    }
    if (ret &amp;lt; 0)
    {
        printk(&amp;quot;Codec init failed\n&amp;quot;);
        return ret;
    }

    k_msleep(10);
    // printk(&amp;quot;BLOCK=%d  SAMPLES=%d\n&amp;quot;, BLOCK_SIZE, SAMPLES_PER_BLOCK);

    if (!device_is_ready(i2s_dev))
    {
        printk(&amp;quot;I2S not ready\n&amp;quot;);
        return -ENODEV;
    }

    // I2S CONFIG
    cfg.word_size      = SAMPLE_BIT_WIDTH;
    cfg.channels       = CHANNELS;
    cfg.format         =I2S_FMT_DATA_FORMAT_I2S;;   //cfg.format = I2S_FMT_DATA_FORMAT_LEFT_JUSTIFIED;

    cfg.options        = I2S_OPT_FRAME_CLK_SLAVE |
                         I2S_OPT_BIT_CLK_SLAVE;
    cfg.frame_clk_freq = SAMPLE_RATE_HZ;
    cfg.block_size     = BLOCK_SIZE;
    cfg.timeout        = TIMEOUT_MS;
    cfg.mem_slab       = &amp;amp;i2s_tx_slab;

    ret = i2s_configure(i2s_dev, I2S_DIR_TX, &amp;amp;cfg);
    if (ret &amp;lt; 0) 
    {
        printk(&amp;quot;I2S config failed\n&amp;quot;);
        return ret;
    }

    printk(&amp;quot;Start streaming\n&amp;quot;);

/* Prefill */
    // for (int i = 0; i &amp;lt; 30; i++)
    // {
    //     void *block;
    //     if (k_mem_slab_alloc(&amp;amp;i2s_tx_slab, &amp;amp;block, K_NO_WAIT) == 0)
    //     {
    //         fill_block((int16_t *)block);
    //         i2s_buf_write(i2s_dev, block, BLOCK_SIZE);
    //     }
    // }

    // /* Start DMA */
    // i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_START);

    // /* Create REALTIME audio thread */
    // k_thread_create(&amp;amp;audio_thread,
    //                 audio_stack,
    //                 K_THREAD_STACK_SIZEOF(audio_stack),
    //                 audio_thread_fn,
    //                 NULL, NULL, NULL,
    //                 AUDIO_THREAD_PRIO,
    //                 0,
    //                 K_NO_WAIT);


    //prefill
    for (int i = 0; i &amp;lt; 30; i++)
    {
        void *block;
        k_mem_slab_alloc(&amp;amp;i2s_tx_slab, &amp;amp;block, K_FOREVER);
        fill_block((int16_t *)block);
        i2s_buf_write(i2s_dev, block, BLOCK_SIZE);
    }

    ret = i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_START);
    if (ret &amp;lt; 0) 
    {
        printk(&amp;quot;I2S trigger failed\n&amp;quot;);
        return ret;
    }

    while (1)
    {
        void *block;

        ret = k_mem_slab_alloc(&amp;amp;i2s_tx_slab, &amp;amp;block, K_FOREVER);
       
        if (ret &amp;lt; 0)
        {
           printk(&amp;quot;Slab alloc failed\n&amp;quot;);
           k_sleep(K_USEC(30));
           continue;
        }

        fill_block((int16_t *)block);
       
        ret = i2s_buf_write(i2s_dev, block, BLOCK_SIZE);
     
        if (ret == -ENOMEM)
        {
            /* Queue full — try again */
            k_mem_slab_free(&amp;amp;i2s_tx_slab, block);
            printk(&amp;quot;free=%d\n&amp;quot;, k_mem_slab_num_free_get(&amp;amp;i2s_tx_slab));
            continue;
        }
        else if (ret &amp;lt; 0)
        {
            printk(&amp;quot;I2S error %d\n&amp;quot;, ret);
            i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_DROP);
            k_sleep(K_MSEC(5));
            i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_PREPARE);
            k_sleep(K_MSEC(2));
            i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_START);
            k_mem_slab_free(&amp;amp;i2s_tx_slab, block);
            printk(&amp;quot;free=%d\n&amp;quot;, k_mem_slab_num_free_get(&amp;amp;i2s_tx_slab));
            continue;
        }
    }

   
}


and codec file 
codec.c

#include &amp;lt;zephyr/kernel.h&amp;gt;
#include &amp;lt;zephyr/drivers/i2c.h&amp;gt;
#include &amp;lt;zephyr/drivers/gpio.h&amp;gt;
#include &amp;lt;zephyr/device.h&amp;gt;
#include &amp;lt;zephyr/devicetree.h&amp;gt;
#include &amp;quot;codec.h&amp;quot;
#include &amp;lt;zephyr/drivers/pwm.h&amp;gt;


#define CODEC_ADDR 0x18 // i2c slave adress
#define RESET_NODE DT_NODELABEL(led0)  // reset pin node

#define PWM_PERIOD_NS 250U   // 4 MHz
#define PWM_PULSE_NS  125U   // 50% duty

const struct gpio_dt_spec codec_reset_pin = GPIO_DT_SPEC_GET(DT_NODELABEL(codec_reset), gpios); // for reset pin

static const struct i2c_dt_spec dev_i2c = I2C_DT_SPEC_GET(DT_NODELABEL(audiocodec));    // i2c device tree

static const struct pwm_dt_spec pwm_led0 = PWM_DT_SPEC_GET(DT_ALIAS(pwm_led0));       //    pwm device tree


/**
 * Register declaration
 */

const register_value REGISTER_DATA[] = {
//			# reg[0][0]   = 0x00   ; Select Page 0
{0,0x00},          // Select Page 0

/* Software reset */
{1,0x01},

/* ---------- PLL CONFIG (MCLK = 4 MHz → 8 kHz Fs) ---------- */
{4,0x03},          // PLL input = MCLK, CODEC_CLK = PLL
{5,0xD4},          // PLL power up, P=5, R=4   D4
{6,0x20},          // J=32
{7,0x00},          // D MSB
{8,0x00},          // D LSB

      // *** PLL LOCK WAIT (VERY IMPORTANT) ***

/* ---------- I2S DIGITAL ---------- */
{27,0x0C},         // I2S, 16bit, slave 0C

/* ---------- DAC CLOCK TREE ---------- */
{11,0x84},         // NDAC=4, power up
{12,0x99},         // MDAC=25, power up
{14,0x80},         // DOSR=128 → Fs = 8kHz
{29,0x01},         // DAC clock source  0x01
{30,0x84},         // BCLK divider  84

{60,0x00},   // Disable miniDSP, DAC input from serial port
{61,0x00},

/* ---------- DAC POWER / UNMUTE ---------- */
{63,0xD6},         // Soft stepping  D4
{64,0x00},         // Left DAC unmutes
{65,0x00},         // Right DAC unmute
{66,0x00},         // DAC volume 00 dB


// {71,0x82},    // beep
// {72,0x82},
// {81,0x80},
// {82,0x00},
// {83,0x00},

/* ===================================================== */
/* ===================== PAGE 1 ========================= */
/* ===================================================== */

{0,0x01},          // Select Page 1

/* ---------- Analog Power ---------- */
{30,0x00},         // Analog blocks power control
{31,0xC0},         // HPL + HPR unmute
{32,0xC6},         // Speaker drivers power up

/* ---------- DAC → Headphone ---------- */
{35,0xA8},         // Route DAC L/R → HP
{36,0x80},         // HP volume 0 dB
{37,0x80},         // HP volume 0 dB

/* ---------- Speaker ---------- */
{34,0x30},         // Speaker path enable
{42,0x3D},         // Speaker gain 1D
{43,0x3D},         // Speaker gain 1D
{44,0xC0},         // Speaker unmute

/* ---------- Route DAC → Speaker ---------- */
{38,0x80},
{39,0x80},

/* ---------- MIC (optional) ---------- */
{46,0x00},         // MICBIAS 2.5V 0x0A
{47,0x00},         // MIC gain
{48,0x00},        //0x40
{49,0x00},        //0x40
 
};


const register_value REGISTER_DATA[];


static const struct gpio_dt_spec rst = GPIO_DT_SPEC_GET(RESET_NODE, gpios); // for reset pin

const size_t REGISTER_LEN = sizeof(REGISTER_DATA) / sizeof(register_value);  // length of register data

uint32_t cfg = I2C_MODE_CONTROLLER | I2C_SPEED_SET(I2C_SPEED_STANDARD); // configration of i2c


/**
 * @brief codec_i2c_write
 * @param
 * device tree
 * adress
 * buffer
 * length of message
 */
static int codec_i2c_write(const struct device *dev,
                           uint8_t addr, uint8_t *buf, uint32_t len)
{
    struct i2c_msg msg = {
        .buf = buf,
        .len = len,
        .flags = I2C_MSG_WRITE | I2C_MSG_STOP,
    };

    return i2c_transfer(dev, &amp;amp;msg, 1, addr);
}
/**
 *brief codec_i2c_write_read
    *param device tree
    *param address
    *param write buffer
    *param number of bytes to write
    *param read buffer
    *param number of bytes to read
 */
static int codec_i2c_write_read(const struct device *dev,
                                uint16_t addr,
                                const void *write_buf, size_t num_write,
                                void *read_buf, size_t num_read)
{

    struct i2c_msg msg[2];
    msg[0].buf = (uint8_t *)write_buf;
    msg[0].len = num_write;
    msg[0].flags = I2C_MSG_WRITE;

    msg[1].buf = (uint8_t *)read_buf;
    msg[1].len = num_read;
    msg[1].flags = I2C_MSG_READ | I2C_MSG_STOP;
    return i2c_write_read_dt(dev, write_buf, num_write, read_buf, num_read); // perform i2c write read
}


/*
brief codec_reset_pulse
param none
*/
int codec_reset_pulse(void)
{
    int ret;

    ret = gpio_pin_set_dt(&amp;amp;codec_reset_pin, 1); // LOW → reset active

    k_msleep(10); /* HIGH → reset released */

    ret = gpio_pin_set_dt(&amp;amp;codec_reset_pin, 0); // HIGH → reset released

    k_msleep(20);

    return ret;
}

/**
 * brief codec_write_register
 * param page
 * param reg
 * param val
 */
static int codec_write_register(uint8_t page, uint8_t reg, uint8_t val)
{
    static uint8_t last_page = 0xFF; // invalid page at start
    uint8_t tx_buf[2]; // transmit buffer
    uint8_t rx_buf[2];  // receive buffer
    int err;

    /* Only update page register if page actually changed */
    if (page != last_page)
    {
        tx_buf[0] = 0x00; // Page Select Register
        tx_buf[1] = page; // New Page Number

        err =codec_i2c_write_read(&amp;amp;dev_i2c, CODEC_ADDR, tx_buf, 2, rx_buf, 2); // write page select register
        if (err)
        {
            printk(&amp;quot;I2C: page switch failed (page=%u) err=%d\n&amp;quot;, page, err); // log error
            return err;
        }

        last_page = page; // update page tracking
        k_msleep(1);      // small delay for codec stability
    }

    /* Now write the actual register */
    tx_buf[0] = reg;
    tx_buf[1] = val;

    err =codec_i2c_write_read(&amp;amp;dev_i2c, CODEC_ADDR, tx_buf, 2, rx_buf, 2); // write register
    if (err)
    {
         printk(&amp;quot;[PAGE %u] REG 0x%02X &amp;lt;= 0x%02X  \n&amp;quot;,
           page, reg, val);
    }

    return err;
}

/**
 * brief codec_write_table
 * param table
 * param length of table
 */

static int codec_write_table(const register_value *table, size_t len)
{
    uint8_t current_page = 0x00; // start on page 0
    int err;

    for (size_t i = 0; i &amp;lt; len; i++)
    {
        uint8_t reg = table[i].reg_no;  // register number
        uint8_t val = table[i].reg_value;  // register value

        /* Page change */
        if (reg == 0x00)
        {
            uint8_t new_page = val; // new page number

            /* Always change page through page 0 register 0 */
            err = codec_write_register(0x00, 0x00, new_page);   // write page select register
            if (err)
            {
                return err;
            }
            current_page = new_page;  // update current page
            k_msleep(1);  //    small delay for codec stability
            continue;
        }

        /* Normal register write on current page */
        err = codec_write_register(current_page, reg, val);

        printk(&amp;quot;reg=0x%02X val=0x%02X err=%d\n&amp;quot;, reg, val, err);
        if (err)
        {
            return err;
        }
        k_msleep(1);
    }

    return 0;
}

/**
 *brief codec_probe
 param none
 */
static bool codec_probe(void)
{
    uint8_t reg0 = 0x00;
    uint8_t read_back = 0;

    int err = codec_i2c_write_read(&amp;amp;dev_i2c, CODEC_ADDR, &amp;amp;reg0, 1, &amp;amp;read_back, 1); // write and read reg 0
    if (err)
    {
        printk(&amp;quot;I2C probe failed err=%d\n&amp;quot;, err);
        return false;
    }

    printk(&amp;quot;Codec responded: reg0 = 0x%02X\n&amp;quot;, read_back); //   log reg 0 value

    return true;
}

/*
brief codec_i2c_config
param none
*/
static int codec_i2c_config(void)
{
    if (!device_is_ready(dev_i2c.bus)) //   check i2c bus ready
    {
        printk(&amp;quot;Error: I2C bus %s is not ready!\n&amp;quot;, dev_i2c.bus-&amp;gt;name);
        return -1;
    }

    printk(&amp;quot;I2C bus ready, addr=0x%02x\n&amp;quot;, dev_i2c.addr);  //   log i2c bus ready

    return 0;
}


//pwm 4mhz generation 

/*
brief pwm_4mhz
param none
*/
int pwm_4mhz()
{
    int ret;

    if (!pwm_is_ready_dt(&amp;amp;pwm_led0)) // check pwm device ready
    {
        printk(&amp;quot;PWM device not ready\n&amp;quot;);
        return 0;
    }

    ret = pwm_set_dt(&amp;amp;pwm_led0, PWM_PERIOD_NS, PWM_PULSE_NS); // configure pwm for 4 MHz
    if (ret)
    {
        printk(&amp;quot;PWM cannot generate 4 MHz (ret=%d)\n&amp;quot;, ret);
        return -1; // Some error code
    }

    printk(&amp;quot;PWM configured: period=%dns pulse=%dns\n&amp;quot;, PWM_PERIOD_NS, PWM_PULSE_NS);

    return ret;
}

/*
brief codec_gpios_config
param none
*/
static int codec_gpios_config(void)
{
    int ret;

    if (!gpio_is_ready_dt(&amp;amp;codec_reset_pin)) // check reset pin ready
    {
        printk(&amp;quot;Error: Codec reset pin not ready\n&amp;quot;);
        return -1;
    }

    ret = gpio_pin_configure_dt(&amp;amp;codec_reset_pin,
                                GPIO_OUTPUT_ACTIVE | GPIO_ACTIVE_LOW); // configure reset pin
    if (ret &amp;lt; 0)
    {
        printk(&amp;quot;Error %d: Failed to configure codec reset pin\n&amp;quot;, ret);
        return -1;
    }

    return 0;
}

/*
brief i2c_init_codec
param none
 */
int i2c_init_codec()
{
    int err;

    int ret;

    ret = codec_gpios_config(); // codec gpio config
    if (ret != 0)               //    check gpio config error
    {
        return ret;
    }

    k_msleep(20);

    if (!device_is_ready(dev_i2c.bus)) // check i2c bus ready
    {
        printk(&amp;quot;I2C bus %s is not ready!\n&amp;quot;, dev_i2c.bus-&amp;gt;name);
        return -1;
    }

    k_msleep(20);

    printk(&amp;quot;I2C bus ready, addr=0x%02x\n&amp;quot;,dev_i2c.addr);

    // reset pin config
    codec_reset_pulse();

    /*codec address check*/
    if (!codec_probe())
    {
        printk(&amp;quot;Codec not found on I2C address 0x%02X\n&amp;quot;, CODEC_ADDR);
        return -EIO;
    }
   //  k_msleep(20);
    printk(&amp;quot;Writing codec register table...\n&amp;quot;);

    err = codec_write_table(REGISTER_DATA, REGISTER_LEN); // write codec register table
    if (err)
    {
        printk(&amp;quot;Codec register table FAILED: %d\n&amp;quot;, err);
        return err;
    }

    k_msleep(20);

    printk(&amp;quot;Codec init DONE.\n&amp;quot;);

    printk(&amp;quot;I2C ready\n&amp;quot;);
    return 0;
}



Overlay file 


&amp;amp;pinctrl {
 
   i2s20_default: i2s20_default {
		group1 {
        psels = &amp;lt;
            NRF_PSEL(I2S_SDOUT, 1, 7)
            NRF_PSEL(I2S_SDIN,  1, 6)
            NRF_PSEL(I2S_SCK,   1, 4)
            NRF_PSEL(I2S_LRCK,  1, 5)
           NRF_PSEL(I2S_MCK,   1, 8)
        &amp;gt;;
        };
	};

	i2s20_sleep: i2s20_sleep {
		group1 {
        psels = &amp;lt;
            NRF_PSEL(I2S_SDOUT, 1, 7)
            NRF_PSEL(I2S_SDIN,  1, 6)
            NRF_PSEL(I2S_SCK,   1, 4)
            NRF_PSEL(I2S_LRCK,  1, 5)
            NRF_PSEL(I2S_MCK,   1, 8) 
        &amp;gt;;
        
			low-power-enable;
		};
	};

    i2c21_default: i2c21_default {
        group1 {
            psels =
                    &amp;lt;NRF_PSEL(TWIM_SCL, 1, 12)&amp;gt;,
                    &amp;lt;NRF_PSEL(TWIM_SDA, 1, 13)&amp;gt;;
                    bias-pull-up;
                   
        };
    };

    i2c21_sleep: i2c21_sleep {
        group1 {
            psels = &amp;lt;NRF_PSEL(TWIM_SCL, 1, 12)&amp;gt;,
                    &amp;lt;NRF_PSEL(TWIM_SDA, 1, 13)&amp;gt;;
                    low-power-enable;
        };
    };

	
	pwm20_default: pwm20_default {
		group1 {
				psels = &amp;lt;NRF_PSEL(PWM_OUT0, 1, 11)&amp;gt;;
		};
	};

	pwm20_sleep: pwm20_sleep {
		group1 {
				psels = &amp;lt;NRF_PSEL(PWM_OUT0, 1, 11)&amp;gt;;
			low-power-enable;
		};
	};
};


/ {
	model = &amp;quot;ISC54L15 EVK (Custom)&amp;quot;;
	compatible = &amp;quot;nordic,nrf54l15-cpuapp&amp;quot;;

	chosen {
		zephyr,console = &amp;amp;uart20;
		zephyr,shell-uart = &amp;amp;uart20;
		zephyr,uart-mcumgr = &amp;amp;uart20;
		zephyr,bt-c2h-uart = &amp;amp;audiocodec;
		zephyr,bt-hci = &amp;amp;audiocodec;
		zephyr,bt-mon-uart = &amp;amp;audiocodec;
		zephyr,code-partition = &amp;amp;audiocodec;
	};

	custom_pins {
		compatible = &amp;quot;gpio-keys&amp;quot;;

		codec_reset: codec_reset {
			gpios = &amp;lt;&amp;amp;gpio1 9 GPIO_ACTIVE_HIGH&amp;gt;;
			label = &amp;quot;Codec Reset&amp;quot;;
		};
	};

	leds {
		compatible = &amp;quot;gpio-leds&amp;quot;;

		led0: led_0 {
			gpios = &amp;lt;&amp;amp;gpio1 0 GPIO_ACTIVE_HIGH&amp;gt;;
			label = &amp;quot;User LED 0&amp;quot;;
		};

		led1: led_1 {
			gpios = &amp;lt;&amp;amp;gpio1 8 GPIO_ACTIVE_HIGH&amp;gt;;
			label = &amp;quot;PWM LED 1&amp;quot;;
		};
	};

	pwmleds {
		compatible = &amp;quot;pwm-leds&amp;quot;;

		pwm_led0: pwm_led0 {
			pwms = &amp;lt;&amp;amp;pwm20 0 PWM_USEC(1) PWM_POLARITY_NORMAL&amp;gt;;
		};
	};
};

&amp;amp;i2s20 {
	pinctrl-0 = &amp;lt;&amp;amp;i2s20_default&amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;;
	status = &amp;quot;okay&amp;quot;;
	zephyr,pm-device-runtime-auto;
};

&amp;amp;i2c21{

    compatible = &amp;quot;nordic,nrf-twim&amp;quot;;
    pinctrl-0 = &amp;lt;&amp;amp;i2c21_default&amp;gt;;
    pinctrl-1 = &amp;lt;&amp;amp;i2c21_sleep&amp;gt;;
    pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;

    audiocodec: audiocodec@18 {
        compatible = &amp;quot;i2c-device&amp;quot;;
        status = &amp;quot;okay&amp;quot;;
        reg = &amp;lt; 0x18 &amp;gt;;
    };

};



&amp;amp;gpio0 {
	status = &amp;quot;okay&amp;quot;;
};


// &amp;amp;led0 {
// 	gpios = &amp;lt;&amp;amp;gpio1 9 0&amp;gt;;
// };

&amp;amp;pwm20 {
	status = &amp;quot;okay&amp;quot;;
	pinctrl-0 = &amp;lt;&amp;amp;pwm20_default&amp;gt;;
	pinctrl-1 = &amp;lt;&amp;amp;pwm20_sleep&amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;
};



&lt;/pre&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;/*
 * Codec-style I2S SLAVE playback using k_mem_slab
 * nRF54Lx DK
 */

#include &amp;lt;zephyr/kernel.h&amp;gt;
#include &amp;lt;zephyr/device.h&amp;gt;
#include &amp;lt;zephyr/devicetree.h&amp;gt;
#include &amp;lt;zephyr/drivers/i2s.h&amp;gt;
#include &amp;lt;zephyr/sys/printk.h&amp;gt;
#include &amp;quot;codec/codec.h&amp;quot;

#define I2S_NODE DT_NODELABEL(i2s20)

//audio
#define SAMPLE_RATE_HZ     8000
#define SAMPLE_BIT_WIDTH   16
#define CHANNELS           2
#define SAMPLES_PER_BLOCK  160
//#define SAMPLES_PER_BLOCK  (SAMPLE_RATE_HZ / 10)    // 33ms blocks
#define BLOCK_SIZE         (SAMPLES_PER_BLOCK * CHANNELS * sizeof(int16_t))
#define NUM_BLOCKS         120
#define TIMEOUT_MS         2000

// #define AUDIO_THREAD_STACK 2048
// #define AUDIO_THREAD_PRIO  -2   

// K_THREAD_STACK_DEFINE(audio_stack, AUDIO_THREAD_STACK);
// static struct k_thread audio_thread;



// K_THREAD_STACK_DEFINE(i2s_stack, I2S_THREAD_STACK);
// static struct k_thread i2s_thread_data;

static const struct device *i2s_dev = DEVICE_DT_GET(I2S_NODE);

//  memory slab for I2S TX buffers
K_MEM_SLAB_DEFINE(i2s_tx_slab, BLOCK_SIZE, NUM_BLOCKS, 4);

//sine
// static int16_t sine_lut[] = {
//     3211, 6392, 9511, 12539, 15446, 18204, 20787, 23169,
//     25329, 27244, 28897, 30272, 31356, 32137, 32609, 32767,
//     -3212, -6393, -9512, -12540, -15447, -18205, -20788, -23170,
//     -25330, -27245, -28898, -30273, -31357, -32138, -32610, -32767};


static int16_t sine_lut[] = {
    6392,  12539,  18204,  23169,  27244,  30272,  32137,  32767,  32137,
    30272, 27244, 23169, 18204, 12539, 6392, 0, -6393, -12540,
    -18205, -23170, -27245, -30273, -32138, -32767, -32138, -30273, -27245,
    -23170, -18205, -12540, -6393, -1};

// static int16_t sine_lut[8] = {
//      0,
//  23170,
//  32767,
//  23170,
//      0,
// -23170,
// -32768,
// -23170
// };


// Fill block
static void fill_block(int16_t *buf)
{
    int lut_len = ARRAY_SIZE(sine_lut);

    for (int i = 0; i &amp;lt; SAMPLES_PER_BLOCK; i++)
    {
        int16_t s = sine_lut[i % lut_len];
        buf[2 * i] = s;
        buf[2 * i + 1] = s;
        // buf[i] = 28000;
    }
}

// // thread creation
// void audio_thread_fn(void *a, void *b, void *c)
// {
//     while (1)
//     {
//         void *block;
//         int ret;

//         ret = k_mem_slab_alloc(&amp;amp;i2s_tx_slab, &amp;amp;block, K_NO_WAIT);
//         if (ret != 0)
//         {
//             k_yield();   // allow DMA + ISR
//             continue;
//         }

//         fill_block((int16_t *)block);

//         ret = i2s_buf_write(i2s_dev, block, BLOCK_SIZE);

//         if (ret == -ENOMEM)
//         {
//             k_mem_slab_free(&amp;amp;i2s_tx_slab, block);
//         }
//         else if (ret &amp;lt; 0)
//         {
//             printk(&amp;quot;I2S error %d\n&amp;quot;, ret);
//             k_mem_slab_free(&amp;amp;i2s_tx_slab, block);
//         }
//     }
// }



int main(void)
{
    struct i2s_config cfg;
    int ret;

    printk(&amp;quot;I2S playback (mem_slab)\n&amp;quot;);

    // clocking and codec init
    ret = pwm_4mhz();
    if (ret &amp;lt; 0)
    {
        printk(&amp;quot;PWM init failed\n&amp;quot;);
        return ret;
    }

    for (int i = 0; i &amp;lt; 20; i++)
    {
        ret = i2c_init_codec();
        if (ret == 0)
        {
            break;
        }
        k_msleep(5);
    }
    if (ret &amp;lt; 0)
    {
        printk(&amp;quot;Codec init failed\n&amp;quot;);
        return ret;
    }

    k_msleep(10);
    // printk(&amp;quot;BLOCK=%d  SAMPLES=%d\n&amp;quot;, BLOCK_SIZE, SAMPLES_PER_BLOCK);

    if (!device_is_ready(i2s_dev))
    {
        printk(&amp;quot;I2S not ready\n&amp;quot;);
        return -ENODEV;
    }

    // I2S CONFIG
    cfg.word_size      = SAMPLE_BIT_WIDTH;
    cfg.channels       = CHANNELS;
    cfg.format         =I2S_FMT_DATA_FORMAT_I2S;;   //cfg.format = I2S_FMT_DATA_FORMAT_LEFT_JUSTIFIED;

    cfg.options        = I2S_OPT_FRAME_CLK_SLAVE |
                         I2S_OPT_BIT_CLK_SLAVE;
    cfg.frame_clk_freq = SAMPLE_RATE_HZ;
    cfg.block_size     = BLOCK_SIZE;
    cfg.timeout        = TIMEOUT_MS;
    cfg.mem_slab       = &amp;amp;i2s_tx_slab;

    ret = i2s_configure(i2s_dev, I2S_DIR_TX, &amp;amp;cfg);
    if (ret &amp;lt; 0) 
    {
        printk(&amp;quot;I2S config failed\n&amp;quot;);
        return ret;
    }

    printk(&amp;quot;Start streaming\n&amp;quot;);

/* Prefill */
    // for (int i = 0; i &amp;lt; 30; i++)
    // {
    //     void *block;
    //     if (k_mem_slab_alloc(&amp;amp;i2s_tx_slab, &amp;amp;block, K_NO_WAIT) == 0)
    //     {
    //         fill_block((int16_t *)block);
    //         i2s_buf_write(i2s_dev, block, BLOCK_SIZE);
    //     }
    // }

    // /* Start DMA */
    // i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_START);

    // /* Create REALTIME audio thread */
    // k_thread_create(&amp;amp;audio_thread,
    //                 audio_stack,
    //                 K_THREAD_STACK_SIZEOF(audio_stack),
    //                 audio_thread_fn,
    //                 NULL, NULL, NULL,
    //                 AUDIO_THREAD_PRIO,
    //                 0,
    //                 K_NO_WAIT);


    //prefill
    for (int i = 0; i &amp;lt; 30; i++)
    {
        void *block;
        k_mem_slab_alloc(&amp;amp;i2s_tx_slab, &amp;amp;block, K_FOREVER);
        fill_block((int16_t *)block);
        i2s_buf_write(i2s_dev, block, BLOCK_SIZE);
    }

    ret = i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_START);
    if (ret &amp;lt; 0) 
    {
        printk(&amp;quot;I2S trigger failed\n&amp;quot;);
        return ret;
    }

    while (1)
    {
        void *block;

        ret = k_mem_slab_alloc(&amp;amp;i2s_tx_slab, &amp;amp;block, K_FOREVER);
       
        if (ret &amp;lt; 0)
        {
           printk(&amp;quot;Slab alloc failed\n&amp;quot;);
           k_sleep(K_USEC(30));
           continue;
        }

        fill_block((int16_t *)block);
       
        ret = i2s_buf_write(i2s_dev, block, BLOCK_SIZE);
     
        if (ret == -ENOMEM)
        {
            /* Queue full — try again */
            k_mem_slab_free(&amp;amp;i2s_tx_slab, block);
            printk(&amp;quot;free=%d\n&amp;quot;, k_mem_slab_num_free_get(&amp;amp;i2s_tx_slab));
            continue;
        }
        else if (ret &amp;lt; 0)
        {
            printk(&amp;quot;I2S error %d\n&amp;quot;, ret);
            i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_DROP);
            k_sleep(K_MSEC(5));
            i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_PREPARE);
            k_sleep(K_MSEC(2));
            i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_START);
            k_mem_slab_free(&amp;amp;i2s_tx_slab, block);
            printk(&amp;quot;free=%d\n&amp;quot;, k_mem_slab_num_free_get(&amp;amp;i2s_tx_slab));
            continue;
        }
    }

   
}


and codec file 
codec.c

#include &amp;lt;zephyr/kernel.h&amp;gt;
#include &amp;lt;zephyr/drivers/i2c.h&amp;gt;
#include &amp;lt;zephyr/drivers/gpio.h&amp;gt;
#include &amp;lt;zephyr/device.h&amp;gt;
#include &amp;lt;zephyr/devicetree.h&amp;gt;
#include &amp;quot;codec.h&amp;quot;
#include &amp;lt;zephyr/drivers/pwm.h&amp;gt;


#define CODEC_ADDR 0x18 // i2c slave adress
#define RESET_NODE DT_NODELABEL(led0)  // reset pin node

#define PWM_PERIOD_NS 250U   // 4 MHz
#define PWM_PULSE_NS  125U   // 50% duty

const struct gpio_dt_spec codec_reset_pin = GPIO_DT_SPEC_GET(DT_NODELABEL(codec_reset), gpios); // for reset pin

static const struct i2c_dt_spec dev_i2c = I2C_DT_SPEC_GET(DT_NODELABEL(audiocodec));    // i2c device tree

static const struct pwm_dt_spec pwm_led0 = PWM_DT_SPEC_GET(DT_ALIAS(pwm_led0));       //    pwm device tree


/**
 * Register declaration
 */

const register_value REGISTER_DATA[] = {
//			# reg[0][0]   = 0x00   ; Select Page 0
{0,0x00},          // Select Page 0

/* Software reset */
{1,0x01},

/* ---------- PLL CONFIG (MCLK = 4 MHz → 8 kHz Fs) ---------- */
{4,0x03},          // PLL input = MCLK, CODEC_CLK = PLL
{5,0xD4},          // PLL power up, P=5, R=4   D4
{6,0x20},          // J=32
{7,0x00},          // D MSB
{8,0x00},          // D LSB

      // *** PLL LOCK WAIT (VERY IMPORTANT) ***

/* ---------- I2S DIGITAL ---------- */
{27,0x0C},         // I2S, 16bit, slave 0C

/* ---------- DAC CLOCK TREE ---------- */
{11,0x84},         // NDAC=4, power up
{12,0x99},         // MDAC=25, power up
{14,0x80},         // DOSR=128 → Fs = 8kHz
{29,0x01},         // DAC clock source  0x01
{30,0x84},         // BCLK divider  84

{60,0x00},   // Disable miniDSP, DAC input from serial port
{61,0x00},

/* ---------- DAC POWER / UNMUTE ---------- */
{63,0xD6},         // Soft stepping  D4
{64,0x00},         // Left DAC unmutes
{65,0x00},         // Right DAC unmute
{66,0x00},         // DAC volume 00 dB


// {71,0x82},    // beep
// {72,0x82},
// {81,0x80},
// {82,0x00},
// {83,0x00},

/* ===================================================== */
/* ===================== PAGE 1 ========================= */
/* ===================================================== */

{0,0x01},          // Select Page 1

/* ---------- Analog Power ---------- */
{30,0x00},         // Analog blocks power control
{31,0xC0},         // HPL + HPR unmute
{32,0xC6},         // Speaker drivers power up

/* ---------- DAC → Headphone ---------- */
{35,0xA8},         // Route DAC L/R → HP
{36,0x80},         // HP volume 0 dB
{37,0x80},         // HP volume 0 dB

/* ---------- Speaker ---------- */
{34,0x30},         // Speaker path enable
{42,0x3D},         // Speaker gain 1D
{43,0x3D},         // Speaker gain 1D
{44,0xC0},         // Speaker unmute

/* ---------- Route DAC → Speaker ---------- */
{38,0x80},
{39,0x80},

/* ---------- MIC (optional) ---------- */
{46,0x00},         // MICBIAS 2.5V 0x0A
{47,0x00},         // MIC gain
{48,0x00},        //0x40
{49,0x00},        //0x40
 
};


const register_value REGISTER_DATA[];


static const struct gpio_dt_spec rst = GPIO_DT_SPEC_GET(RESET_NODE, gpios); // for reset pin

const size_t REGISTER_LEN = sizeof(REGISTER_DATA) / sizeof(register_value);  // length of register data

uint32_t cfg = I2C_MODE_CONTROLLER | I2C_SPEED_SET(I2C_SPEED_STANDARD); // configration of i2c


/**
 * @brief codec_i2c_write
 * @param
 * device tree
 * adress
 * buffer
 * length of message
 */
static int codec_i2c_write(const struct device *dev,
                           uint8_t addr, uint8_t *buf, uint32_t len)
{
    struct i2c_msg msg = {
        .buf = buf,
        .len = len,
        .flags = I2C_MSG_WRITE | I2C_MSG_STOP,
    };

    return i2c_transfer(dev, &amp;amp;msg, 1, addr);
}
/**
 *brief codec_i2c_write_read
    *param device tree
    *param address
    *param write buffer
    *param number of bytes to write
    *param read buffer
    *param number of bytes to read
 */
static int codec_i2c_write_read(const struct device *dev,
                                uint16_t addr,
                                const void *write_buf, size_t num_write,
                                void *read_buf, size_t num_read)
{

    struct i2c_msg msg[2];
    msg[0].buf = (uint8_t *)write_buf;
    msg[0].len = num_write;
    msg[0].flags = I2C_MSG_WRITE;

    msg[1].buf = (uint8_t *)read_buf;
    msg[1].len = num_read;
    msg[1].flags = I2C_MSG_READ | I2C_MSG_STOP;
    return i2c_write_read_dt(dev, write_buf, num_write, read_buf, num_read); // perform i2c write read
}


/*
brief codec_reset_pulse
param none
*/
int codec_reset_pulse(void)
{
    int ret;

    ret = gpio_pin_set_dt(&amp;amp;codec_reset_pin, 1); // LOW → reset active

    k_msleep(10); /* HIGH → reset released */

    ret = gpio_pin_set_dt(&amp;amp;codec_reset_pin, 0); // HIGH → reset released

    k_msleep(20);

    return ret;
}

/**
 * brief codec_write_register
 * param page
 * param reg
 * param val
 */
static int codec_write_register(uint8_t page, uint8_t reg, uint8_t val)
{
    static uint8_t last_page = 0xFF; // invalid page at start
    uint8_t tx_buf[2]; // transmit buffer
    uint8_t rx_buf[2];  // receive buffer
    int err;

    /* Only update page register if page actually changed */
    if (page != last_page)
    {
        tx_buf[0] = 0x00; // Page Select Register
        tx_buf[1] = page; // New Page Number

        err =codec_i2c_write_read(&amp;amp;dev_i2c, CODEC_ADDR, tx_buf, 2, rx_buf, 2); // write page select register
        if (err)
        {
            printk(&amp;quot;I2C: page switch failed (page=%u) err=%d\n&amp;quot;, page, err); // log error
            return err;
        }

        last_page = page; // update page tracking
        k_msleep(1);      // small delay for codec stability
    }

    /* Now write the actual register */
    tx_buf[0] = reg;
    tx_buf[1] = val;

    err =codec_i2c_write_read(&amp;amp;dev_i2c, CODEC_ADDR, tx_buf, 2, rx_buf, 2); // write register
    if (err)
    {
         printk(&amp;quot;[PAGE %u] REG 0x%02X &amp;lt;= 0x%02X  \n&amp;quot;,
           page, reg, val);
    }

    return err;
}

/**
 * brief codec_write_table
 * param table
 * param length of table
 */

static int codec_write_table(const register_value *table, size_t len)
{
    uint8_t current_page = 0x00; // start on page 0
    int err;

    for (size_t i = 0; i &amp;lt; len; i++)
    {
        uint8_t reg = table[i].reg_no;  // register number
        uint8_t val = table[i].reg_value;  // register value

        /* Page change */
        if (reg == 0x00)
        {
            uint8_t new_page = val; // new page number

            /* Always change page through page 0 register 0 */
            err = codec_write_register(0x00, 0x00, new_page);   // write page select register
            if (err)
            {
                return err;
            }
            current_page = new_page;  // update current page
            k_msleep(1);  //    small delay for codec stability
            continue;
        }

        /* Normal register write on current page */
        err = codec_write_register(current_page, reg, val);

        printk(&amp;quot;reg=0x%02X val=0x%02X err=%d\n&amp;quot;, reg, val, err);
        if (err)
        {
            return err;
        }
        k_msleep(1);
    }

    return 0;
}

/**
 *brief codec_probe
 param none
 */
static bool codec_probe(void)
{
    uint8_t reg0 = 0x00;
    uint8_t read_back = 0;

    int err = codec_i2c_write_read(&amp;amp;dev_i2c, CODEC_ADDR, &amp;amp;reg0, 1, &amp;amp;read_back, 1); // write and read reg 0
    if (err)
    {
        printk(&amp;quot;I2C probe failed err=%d\n&amp;quot;, err);
        return false;
    }

    printk(&amp;quot;Codec responded: reg0 = 0x%02X\n&amp;quot;, read_back); //   log reg 0 value

    return true;
}

/*
brief codec_i2c_config
param none
*/
static int codec_i2c_config(void)
{
    if (!device_is_ready(dev_i2c.bus)) //   check i2c bus ready
    {
        printk(&amp;quot;Error: I2C bus %s is not ready!\n&amp;quot;, dev_i2c.bus-&amp;gt;name);
        return -1;
    }

    printk(&amp;quot;I2C bus ready, addr=0x%02x\n&amp;quot;, dev_i2c.addr);  //   log i2c bus ready

    return 0;
}


//pwm 4mhz generation 

/*
brief pwm_4mhz
param none
*/
int pwm_4mhz()
{
    int ret;

    if (!pwm_is_ready_dt(&amp;amp;pwm_led0)) // check pwm device ready
    {
        printk(&amp;quot;PWM device not ready\n&amp;quot;);
        return 0;
    }

    ret = pwm_set_dt(&amp;amp;pwm_led0, PWM_PERIOD_NS, PWM_PULSE_NS); // configure pwm for 4 MHz
    if (ret)
    {
        printk(&amp;quot;PWM cannot generate 4 MHz (ret=%d)\n&amp;quot;, ret);
        return -1; // Some error code
    }

    printk(&amp;quot;PWM configured: period=%dns pulse=%dns\n&amp;quot;, PWM_PERIOD_NS, PWM_PULSE_NS);

    return ret;
}

/*
brief codec_gpios_config
param none
*/
static int codec_gpios_config(void)
{
    int ret;

    if (!gpio_is_ready_dt(&amp;amp;codec_reset_pin)) // check reset pin ready
    {
        printk(&amp;quot;Error: Codec reset pin not ready\n&amp;quot;);
        return -1;
    }

    ret = gpio_pin_configure_dt(&amp;amp;codec_reset_pin,
                                GPIO_OUTPUT_ACTIVE | GPIO_ACTIVE_LOW); // configure reset pin
    if (ret &amp;lt; 0)
    {
        printk(&amp;quot;Error %d: Failed to configure codec reset pin\n&amp;quot;, ret);
        return -1;
    }

    return 0;
}

/*
brief i2c_init_codec
param none
 */
int i2c_init_codec()
{
    int err;

    int ret;

    ret = codec_gpios_config(); // codec gpio config
    if (ret != 0)               //    check gpio config error
    {
        return ret;
    }

    k_msleep(20);

    if (!device_is_ready(dev_i2c.bus)) // check i2c bus ready
    {
        printk(&amp;quot;I2C bus %s is not ready!\n&amp;quot;, dev_i2c.bus-&amp;gt;name);
        return -1;
    }

    k_msleep(20);

    printk(&amp;quot;I2C bus ready, addr=0x%02x\n&amp;quot;,dev_i2c.addr);

    // reset pin config
    codec_reset_pulse();

    /*codec address check*/
    if (!codec_probe())
    {
        printk(&amp;quot;Codec not found on I2C address 0x%02X\n&amp;quot;, CODEC_ADDR);
        return -EIO;
    }
   //  k_msleep(20);
    printk(&amp;quot;Writing codec register table...\n&amp;quot;);

    err = codec_write_table(REGISTER_DATA, REGISTER_LEN); // write codec register table
    if (err)
    {
        printk(&amp;quot;Codec register table FAILED: %d\n&amp;quot;, err);
        return err;
    }

    k_msleep(20);

    printk(&amp;quot;Codec init DONE.\n&amp;quot;);

    printk(&amp;quot;I2C ready\n&amp;quot;);
    return 0;
}



Overlay file 


&amp;amp;pinctrl {
 
   i2s20_default: i2s20_default {
		group1 {
        psels = &amp;lt;
            NRF_PSEL(I2S_SDOUT, 1, 7)
            NRF_PSEL(I2S_SDIN,  1, 6)
            NRF_PSEL(I2S_SCK,   1, 4)
            NRF_PSEL(I2S_LRCK,  1, 5)
           NRF_PSEL(I2S_MCK,   1, 8)
        &amp;gt;;
        };
	};

	i2s20_sleep: i2s20_sleep {
		group1 {
        psels = &amp;lt;
            NRF_PSEL(I2S_SDOUT, 1, 7)
            NRF_PSEL(I2S_SDIN,  1, 6)
            NRF_PSEL(I2S_SCK,   1, 4)
            NRF_PSEL(I2S_LRCK,  1, 5)
            NRF_PSEL(I2S_MCK,   1, 8) 
        &amp;gt;;
        
			low-power-enable;
		};
	};

    i2c21_default: i2c21_default {
        group1 {
            psels =
                    &amp;lt;NRF_PSEL(TWIM_SCL, 1, 12)&amp;gt;,
                    &amp;lt;NRF_PSEL(TWIM_SDA, 1, 13)&amp;gt;;
                    bias-pull-up;
                   
        };
    };

    i2c21_sleep: i2c21_sleep {
        group1 {
            psels = &amp;lt;NRF_PSEL(TWIM_SCL, 1, 12)&amp;gt;,
                    &amp;lt;NRF_PSEL(TWIM_SDA, 1, 13)&amp;gt;;
                    low-power-enable;
        };
    };

	
	pwm20_default: pwm20_default {
		group1 {
				psels = &amp;lt;NRF_PSEL(PWM_OUT0, 1, 11)&amp;gt;;
		};
	};

	pwm20_sleep: pwm20_sleep {
		group1 {
				psels = &amp;lt;NRF_PSEL(PWM_OUT0, 1, 11)&amp;gt;;
			low-power-enable;
		};
	};
};


/ {
	model = &amp;quot;ISC54L15 EVK (Custom)&amp;quot;;
	compatible = &amp;quot;nordic,nrf54l15-cpuapp&amp;quot;;

	chosen {
		zephyr,console = &amp;amp;uart20;
		zephyr,shell-uart = &amp;amp;uart20;
		zephyr,uart-mcumgr = &amp;amp;uart20;
		zephyr,bt-c2h-uart = &amp;amp;audiocodec;
		zephyr,bt-hci = &amp;amp;audiocodec;
		zephyr,bt-mon-uart = &amp;amp;audiocodec;
		zephyr,code-partition = &amp;amp;audiocodec;
	};

	custom_pins {
		compatible = &amp;quot;gpio-keys&amp;quot;;

		codec_reset: codec_reset {
			gpios = &amp;lt;&amp;amp;gpio1 9 GPIO_ACTIVE_HIGH&amp;gt;;
			label = &amp;quot;Codec Reset&amp;quot;;
		};
	};

	leds {
		compatible = &amp;quot;gpio-leds&amp;quot;;

		led0: led_0 {
			gpios = &amp;lt;&amp;amp;gpio1 0 GPIO_ACTIVE_HIGH&amp;gt;;
			label = &amp;quot;User LED 0&amp;quot;;
		};

		led1: led_1 {
			gpios = &amp;lt;&amp;amp;gpio1 8 GPIO_ACTIVE_HIGH&amp;gt;;
			label = &amp;quot;PWM LED 1&amp;quot;;
		};
	};

	pwmleds {
		compatible = &amp;quot;pwm-leds&amp;quot;;

		pwm_led0: pwm_led0 {
			pwms = &amp;lt;&amp;amp;pwm20 0 PWM_USEC(1) PWM_POLARITY_NORMAL&amp;gt;;
		};
	};
};

&amp;amp;i2s20 {
	pinctrl-0 = &amp;lt;&amp;amp;i2s20_default&amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;;
	status = &amp;quot;okay&amp;quot;;
	zephyr,pm-device-runtime-auto;
};

&amp;amp;i2c21{

    compatible = &amp;quot;nordic,nrf-twim&amp;quot;;
    pinctrl-0 = &amp;lt;&amp;amp;i2c21_default&amp;gt;;
    pinctrl-1 = &amp;lt;&amp;amp;i2c21_sleep&amp;gt;;
    pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;

    audiocodec: audiocodec@18 {
        compatible = &amp;quot;i2c-device&amp;quot;;
        status = &amp;quot;okay&amp;quot;;
        reg = &amp;lt; 0x18 &amp;gt;;
    };

};



&amp;amp;gpio0 {
	status = &amp;quot;okay&amp;quot;;
};


// &amp;amp;led0 {
// 	gpios = &amp;lt;&amp;amp;gpio1 9 0&amp;gt;;
// };

&amp;amp;pwm20 {
	status = &amp;quot;okay&amp;quot;;
	pinctrl-0 = &amp;lt;&amp;amp;pwm20_default&amp;gt;;
	pinctrl-1 = &amp;lt;&amp;amp;pwm20_sleep&amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;
};



&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561624?ContentTypeID=1</link><pubDate>Thu, 19 Feb 2026 15:18:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d3034e33-11e1-49ab-b66d-e5d7215da6e5</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;Thanks For the Response.&lt;/p&gt;
&lt;p&gt;Next time I should do.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561620?ContentTypeID=1</link><pubDate>Thu, 19 Feb 2026 15:02:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:24b211b4-a777-4c9d-9b70-9655a3f7ac5b</guid><dc:creator>Maria Gilje</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The last error log before the assertion fail indicates that the I2S device is in the stopping state and the I2S driver is also expecting a new buffer.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I have not verified that your sine wave table works as expected, but you could use one of the tone_gen functions from &lt;a href="https://github.com/nrfconnect/sdk-nrf/blob/v3.2.1/lib/tone/tone.c"&gt;tone.c&lt;/a&gt; as a reference for how sample tones can be generated.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In the future, please do the following when posting to DevZone:&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Avoid over-use of tagging. Us engineers here at DevZone have a policy to get back to our customers within the next working day. Because of time zones this could mean that you won&amp;#39;t get a reply every day. If you don&amp;#39;t get a reply every other day and you are in a rush, please notify your RSM and they can inform us internally. Tagging the engineer assigned to your case will not result in a quicker response.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Use the Insert-&amp;gt;Code option when sharing code and logs. It is very difficult to cifferentiate between logs, code and other text when everything looks like normal text. I have edited your ticket now to better the readability. The content is unchanged.&amp;nbsp;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1771513321230v1.png" alt=" " /&gt;&lt;br /&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1771513329958v2.png" alt=" " /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Maria&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561576?ContentTypeID=1</link><pubDate>Thu, 19 Feb 2026 10:49:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b062d1ae-8ac0-4d47-bbd7-ea933c944f97</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/menon"&gt;Menon&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561548?ContentTypeID=1</link><pubDate>Thu, 19 Feb 2026 03:35:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:63b69982-218d-43db-99b7-dad538dff3ec</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/menon"&gt;Menon&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561521?ContentTypeID=1</link><pubDate>Wed, 18 Feb 2026 15:35:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fd5b49e9-2fe8-4288-8f7d-db4099ac84b4</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/menon"&gt;Menon&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1. my issue is i get &amp;quot; I2S TX all the times shows after some trasmission &amp;quot; No buffet is available&amp;quot; I shared Log with You,&lt;/p&gt;
&lt;p&gt;2. I did not get sine wave sound .&lt;/p&gt;
&lt;p&gt;3. I check mic input is properly enabled&amp;nbsp;&lt;/p&gt;
&lt;p&gt;4. I am use Nrf54l15 -code share above&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561520?ContentTypeID=1</link><pubDate>Wed, 18 Feb 2026 15:33:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:44e4eea4-4613-4b68-83fa-1f83e0f2ee37</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;Now I am closed&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561518?ContentTypeID=1</link><pubDate>Wed, 18 Feb 2026 15:32:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c48cf91c-20ff-4620-ab70-a1a81bc67b74</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;ok&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561516?ContentTypeID=1</link><pubDate>Wed, 18 Feb 2026 15:30:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba416975-fe76-4162-84b8-14b163ac2b59</guid><dc:creator>Menon</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I’m sure my colleague will get back to you soon. In the meantime, I would kindly ask you to explain the context and the issue in more detail instead of pasting only logs and code. I noticed that the same format was followed in the original ticket as well, and it can be quite difficult for an engineer to review the issue without proper context. I recommend using the &lt;strong&gt;Insert&lt;/strong&gt; option when sharing logs and code, as it makes them easier to read and review.&lt;/p&gt;
&lt;p&gt;Sorry, but I need to close this ticket as it is a duplicate. DevZone does not encourage having multiple tickets for the same issue.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Abhijith&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561511?ContentTypeID=1</link><pubDate>Wed, 18 Feb 2026 15:11:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd9cbb40-4122-4f27-b6dd-12b24eec6ac1</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;@menon I did not get any answer from your collegue, So could you help me&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Next buffers not supplied on time</title><link>https://devzone.nordicsemi.com/thread/561492?ContentTypeID=1</link><pubDate>Wed, 18 Feb 2026 13:57:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0144d0fe-20ce-41f6-bebd-f5592fa85da9</guid><dc:creator>Menon</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I see that you already have another ticket open for the same issue, and my colleague is currently working on it. Please close this ticket and continue the discussion in the original one.&lt;/p&gt;
&lt;p&gt;Please close this ticket as it is a duplicate of: &lt;a href="https://devzone.nordicsemi.com/support-private/support/357350"&gt;357350&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Also, when posting, please describe the issue and provide some context instead of pasting the entire logs and code directly into the text. You can use the insert option to attach logs and code separately, which makes it much easier for us to review.&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;/p&gt;
&lt;p&gt;Abhijith&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>