<?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>I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/126171/i2c-read-failed-reg-0x00-err--5</link><description>I am faced &amp;quot;I2C read failed reg 0x00 err -5&amp;quot; issue 
 
 
 // read command 
 int read_eg ( void ) 
 { 
 int ret ; 
 uint8_t reg = 0x00 ; 
 uint8_t val = 0 ; 
 
 ret = i2c_write_read_dt (&amp;amp; dev_i2c , 
 &amp;amp; reg , 1 , 
 &amp;amp; val , 1 ); 
 if ( ret ) 
 { 
 printk</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 23 Feb 2026 04:27:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/126171/i2c-read-failed-reg-0x00-err--5" /><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/561774?ContentTypeID=1</link><pubDate>Mon, 23 Feb 2026 04:27:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea7cb3fe-3b5d-4b6b-9602-4816bba46922</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/Screenshot-_2800_277_2900_.png" /&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/Screenshot-_2800_278_2900_.png" /&gt;&lt;/p&gt;
&lt;p&gt;I am uploadede Bclk and wclk digram is pefect but mclk 4 mhz but i did not get sound and output&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/561760?ContentTypeID=1</link><pubDate>Sat, 21 Feb 2026 13:55:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:75ca9639-f54c-42f0-8da4-8f43e5a74644</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;

CONFIG_GPIO=y
CONFIG_PRINTK=y
CONFIG_SERIAL=y
CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=3
CONFIG_GPIO=y
CONFIG_I2C=y
CONFIG_I2S=y
CONFIG_MINIMAL_LIBC=y
CONFIG_I2C_NRFX=y
CONFIG_PWM=y
CONFIG_PWM_NRFX=y

CONFIG_PRINTK=y
CONFIG_LOG=y

CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y

CONFIG_LOG_BACKEND_UART=n
CONFIG_UART_CONSOLE=n

CONFIG_LOG_MODE_IMMEDIATE=y

CONFIG_MAIN_STACK_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

CONFIG_PM=n
CONFIG_PM_DEVICE=n
CONFIG_PM_DEVICE_RUNTIME=n

# --- I2S DMA memory ---
CONFIG_I2S=y
CONFIG_I2S_NRFX=y

CONFIG_I2S_TX_BLOCK_COUNT=4

# --- No-cache memory for DMA ---
CONFIG_NOCACHE_MEMORY=y

CONFIG_HEAP_MEM_POOL_SIZE=16384

# I2S
CONFIG_I2S=y
CONFIG_I2S_NRFX=y

# Non-cache RAM for DMA (REQUIRED on nRF54)
CONFIG_NOCACHE_MEMORY=y


CONFIG_DEBUG_OPTIMIZATIONS=y
CONFIG_ASSERT=y
CONFIG_FAULT_DUMP=2

CONFIG_I2S_NRFX_TX_BLOCK_COUNT=32
CONFIG_I2S_NRFX_RX_BLOCK_COUNT=0

CONFIG_I2S_LOG_LEVEL_DBG=y
CONFIG_LOG=y




















CONFIG_GPIO=y
CONFIG_PRINTK=y
CONFIG_SERIAL=y
CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=3
CONFIG_GPIO=y
CONFIG_I2C=y
CONFIG_I2S=y
CONFIG_MINIMAL_LIBC=y
CONFIG_I2C_NRFX=y
CONFIG_PWM=y
CONFIG_PWM_NRFX=y

CONFIG_PRINTK=y
CONFIG_LOG=y

CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y

CONFIG_LOG_BACKEND_UART=n
CONFIG_UART_CONSOLE=n

CONFIG_LOG_MODE_IMMEDIATE=y

CONFIG_MAIN_STACK_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

CONFIG_PM=n
CONFIG_PM_DEVICE=n
CONFIG_PM_DEVICE_RUNTIME=n

# --- I2S DMA memory ---
CONFIG_I2S=y
CONFIG_I2S_NRFX=y

CONFIG_I2S_TX_BLOCK_COUNT=4

# --- No-cache memory for DMA ---
CONFIG_NOCACHE_MEMORY=y

CONFIG_HEAP_MEM_POOL_SIZE=16384

# I2S
CONFIG_I2S=y
CONFIG_I2S_NRFX=y

# Non-cache RAM for DMA (REQUIRED on nRF54)
CONFIG_NOCACHE_MEMORY=y


CONFIG_DEBUG_OPTIMIZATIONS=y
CONFIG_ASSERT=y
CONFIG_FAULT_DUMP=2

CONFIG_I2S_NRFX_TX_BLOCK_COUNT=32
CONFIG_I2S_NRFX_RX_BLOCK_COUNT=0

CONFIG_I2S_LOG_LEVEL_DBG=y
CONFIG_LOG=y


overlay 


&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;
        };
    };

	
	pwm22_default: pwm22_default {
		group1 {
				psels = &amp;lt;NRF_PSEL(PWM_OUT0, 1, 11)&amp;gt;;
		};
	};

	pwm22_sleep: pwm22_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;pwm22 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;pwm22 {
	status = &amp;quot;okay&amp;quot;;
	pinctrl-0 = &amp;lt;&amp;amp;pwm22_default&amp;gt;;
	pinctrl-1 = &amp;lt;&amp;amp;pwm22_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: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/561759?ContentTypeID=1</link><pubDate>Sat, 21 Feb 2026 13:48:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b4ac896-9bd8-452f-a928-9f4057666e05</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;Not working sir,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;new issue is get ,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I have to share my code here&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&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        1000



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;
    }
}



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.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;
        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);
    k_msleep(1);
    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 != 0) 
        {
          //k_yield();
            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);
            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;
        // }
    }
     i2s_trigger(i2s_dev, I2S_DIR_TX, I2S_TRIGGER_DROP); // stop playback
     printk(&amp;quot;Stopped\n&amp;quot;);
    return 0;

   
}

below codec .c file 

#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

/* ---------- 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
{18,0x84},         // NDAC=4, power up (same as reg 11, but needed for some reason)
{19,0x99},         // ADC power up (same as reg 12, but needed for some reason)
{20,0x80},         //AOSR=128 → Fs = 8kHz (same as reg 14, but needed for some reason)
{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,0xD4},        // 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;
}



I get Mic sound , but during I2s Transmission shows 


Log:


SEGGER J-Link V9.10 - Real time terminal output
SEGGER J-Link EDU V11.0, SN=261002460
Process: JLink.exe
*** Booting nRF Connect SDK v3.2.1-d8887f6f32df ***
*** Using Zephyr OS v4.2.99-ec78104f1569 ***
I2S playback (mem_slab)
PWM configured: period=250ns pulse=125ns
I2C bus ready, addr=0x18
Codec responded: reg0 = 0x01
Writing codec register table...
reg=0x01 val=0x01 err=0
reg=0x04 val=0x03 err=0
reg=0x05 val=0xD4 err=0
reg=0x06 val=0x20 err=0
reg=0x07 val=0x00 err=0
reg=0x08 val=0x00 err=0
reg=0x1B val=0x0C err=0
reg=0x0B val=0x84 err=0
reg=0x0C val=0x99 err=0
reg=0x0E val=0x80 err=0
reg=0x12 val=0x84 err=0
reg=0x13 val=0x99 err=0
reg=0x14 val=0x80 err=0
reg=0x1D val=0x01 err=0
reg=0x1E val=0x84 err=0
reg=0x3C val=0x00 err=0
reg=0x3D val=0x00 err=0
reg=0x3F val=0xD4 err=0
reg=0x40 val=0x00 err=0
reg=0x41 val=0x00 err=0
reg=0x42 val=0x00 err=0
reg=0x47 val=0x82 err=0
reg=0x48 val=0x82 err=0
reg=0x51 val=0x80 err=0
reg=0x52 val=0x00 err=0
reg=0x53 val=0x00 err=0
reg=0x1E val=0x00 err=0
reg=0x1F val=0xC0 err=0
reg=0x20 val=0xC6 err=0
reg=0x23 val=0xA8 err=0
reg=0x24 val=0x80 *** Booting nRF Connect SDK v3.2.1-d8887f6f32df ***
*** Using Zephyr OS v4.2.99-ec78104f1569 ***
I2S playback (mem_slab)
PWM configured: period=250ns pulse=125ns
I2C bus ready, addr=0x18
Codec responded: reg0 = 0x01
Writing codec register table...
reg=0x01 val=0x01 err=0
reg=0x04 val=0x03 err=0
[PAGE 0] REG 0x05 &amp;lt;= 0xD4  
reg=0x05 val=0xD4 err=-5
Codec register table FAILED: -5
I2C bus ready, addr=0x18
Codec responded: reg0 = 0x00
Writing codec register table...
reg=0x01 val=0x01 err=0
reg=0x04 val=0x03 err=0
reg=0x05 val=0xD4 err=0
reg=0x06 val=0x20 err=0
reg=0x07 val=0x00 err=0
reg=0x08 val=0x00 err=0
reg=0x1B val=0x0C err=0
reg=0x0B val=0x84 err=0
reg=0x0C val=0x99 err=0
reg=0x0E val=0x80 err=0
reg=0x12 val=0x84 err=0
reg=0x13 val=0x99 err=0
reg=0x14 val=0x80 err=0
reg=0x1D val=0x01 err=0
reg=0x1E val=0x84 err=0
reg=0x3C val=0x00 err=0
reg=0x3D val=0x00 err=0
reg=0x3F val=0xD4 err=0
reg=0x40 val=0x00 err=0
reg=0x41 val=0x00 err=0
reg=0x42 val=0x00 err=0
reg=0x47 val=0x82 err=0
reg=0x48 val=0x82 err=0
reg=0x51 val=0x80 err=0
reg=0x52 val=0x00 err=0
reg=0x53 val=0x00 err=0
reg=0x1E val=0x00 err=0
reg=0x1F val=0xC0 err=0
reg=0x20 val=0xC6 err=0
reg=0x23 val=0xA8 err=0
reg=0x24 val=0x80 err=0
reg=0x25 val=0x80 err=0
reg=0x22 val=0x30 err=0
reg=0x2A val=0x3D err=0
reg=0x2B val=0x3D err=0
reg=0x2C val=0xC0 err=0
reg=0x26 val=0x80 err=0
reg=0x27 val=0x80 err=0
reg=0x2E val=0x00 err=0
reg=0x2F val=0x00 err=0
reg=0x30 val=0x00 err=0
reg=0x31 val=0x00 err=0
Codec init DONE.
I2C ready
Start streaming
[00:00:57.901,627] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200070d8
[00:00:57.901,879] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200075d8
[00:00:57.902,125] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20007ad8
[00:00:57.902,371] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20007fd8
[00:00:57.902,617] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200084d8
[00:00:57.902,863] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200089d8
[00:00:57.903,108] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20008ed8
[00:00:57.903,354] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200093d8
[00:00:57.903,600] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200098d8
[00:00:57.903,846] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20009dd8
[00:00:57.904,088] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000a2d8
[00:00:57.904,329] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000a7d8
[00:00:57.904,571] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000acd8
[00:00:57.904,813] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000b1d8
[00:00:57.905,056] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000b6d8
[00:00:57.905,296] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000bbd8
[00:00:57.910,548] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000c0d8
[00:00:57.910,794] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000c5d8
[00:00:57.911,039] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000cad8
[00:00:57.911,284] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000cfd8
[00:00:57.911,530] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000d4d8
[00:00:57.911,775] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000d9d8
[00:00:57.912,020] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000ded8
[00:00:57.912,260] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000e3d8
[00:00:57.912,503] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000e8d8
[00:00:57.912,745] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000edd8
[00:00:57.912,987] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000f2d8
[00:00:57.913,229] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000f7d8
[00:00:57.913,472] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x2000fcd8
[00:00:57.913,714] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200101d8
[00:00:57.915,093] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200106d8
[00:00:57.915,345] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20010bd8
[00:00:57.917,878] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200075d8/(nil)
[00:00:57.918,128] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200110d8
[00:00:57.918,376] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200115d8
[00:00:57.956,506] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200070d8
[00:00:57.956,745] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20007ad8/(nil)
[00:00:57.956,987] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20011ad8
[00:00:57.995,254] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200075d8
[00:00:57.995,494] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20007fd8/(nil)
[00:00:57.995,736] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20011d58
[00:00:58.034,005] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20007ad8
[00:00:58.034,239] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200084d8/(nil)
[00:00:58.034,479] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20011fd8
[00:00:58.072,754] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20007fd8
[00:00:58.072,991] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200089d8/(nil)
[00:00:58.073,232] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20012258
[00:00:58.111,492] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200084d8
[00:00:58.111,731] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20008ed8/(nil)
[00:00:58.111,973] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200124d8
[00:00:58.150,232] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200089d8
[00:00:58.150,471] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200093d8/(nil)
[00:00:58.150,714] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20012758
[00:00:58.188,975] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20008ed8
[00:00:58.189,214] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200098d8/(nil)
[00:00:58.189,456] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200129d8
[00:00:58.227,723] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200093d8
[00:00:58.227,962] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20009dd8/(nil)
[00:00:58.228,203] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20012c58
[00:00:58.266,462] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200098d8
[00:00:58.266,701] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000a2d8/(nil)
[00:00:58.266,943] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20012ed8
[00:00:58.305,208] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20009dd8
[00:00:58.305,447] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000a7d8/(nil)
[00:00:58.305,689] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20013158
[00:00:58.343,961] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000a2d8
[00:00:58.344,201] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000acd8/(nil)
[00:00:58.344,443] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200133d8
[00:00:58.382,696] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000a7d8
[00:00:58.382,935] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000b1d8/(nil)
[00:00:58.383,176] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20013658
[00:00:58.421,452] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000acd8
[00:00:58.421,691] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000b6d8/(nil)
[00:00:58.421,933] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200138d8
[00:00:58.460,179] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000b1d8
[00:00:58.460,418] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000bbd8/(nil)
[00:00:58.460,660] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20013b58
[00:00:58.498,925] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000b6d8
[00:00:58.499,164] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000c0d8/(nil)
[00:00:58.499,407] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20013dd8
[00:00:58.537,681] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000bbd8
[00:00:58.537,920] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000c5d8/(nil)
[00:00:58.538,162] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014058
[00:00:58.576,416] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000c0d8
[00:00:58.576,655] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000cad8/(nil)
[00:00:58.576,897] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200142d8
[00:00:58.615,145] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000c5d8
[00:00:58.615,384] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000cfd8/(nil)
[00:00:58.615,626] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014558
[00:00:58.653,890] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000cad8
[00:00:58.654,130] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000d4d8/(nil)
[00:00:58.654,372] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200147d8
[00:00:58.692,641] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000cfd8
[00:00:58.692,880] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000d9d8/(nil)
[00:00:58.693,122] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014a58
[00:00:58.731,383] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000d4d8
[00:00:58.731,622] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000ded8/(nil)
[00:00:58.731,864] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014cd8
[00:00:58.770,132] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000d9d8
[00:00:58.770,371] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000e3d8/(nil)
[00:00:58.770,613] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58
[00:00:58.808,867] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000ded8
[00:00:58.809,106] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000e8d8/(nil)
[00:00:58.809,348] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200151d8
[00:00:58.847,617] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000e3d8
[00:00:58.847,856] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000edd8/(nil)
[00:00:58.848,098] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015458
[00:00:58.886,361] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000e8d8
[00:00:58.886,600] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000f2d8/(nil)
[00:00:58.886,842] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200156d8
[00:00:58.925,104] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000edd8
[00:00:58.925,343] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000f7d8/(nil)
[00:00:58.925,585] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015958
[00:00:58.963,850] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000f2d8
[00:00:58.964,089] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x2000fcd8/(nil)
[00:00:58.964,330] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015bd8
[00:00:59.002,598] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000f7d8
[00:00:59.002,834] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200101d8/(nil)
[00:00:59.003,072] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015e58
[00:00:59.041,348] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x2000fcd8
[00:00:59.041,585] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200106d8/(nil)
[00:00:59.041,826] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200160d8
[00:00:59.080,086] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200101d8
[00:00:59.080,322] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20010bd8/(nil)
[00:00:59.080,563] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016358
[00:00:59.118,832] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200106d8
[00:00:59.119,071] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200110d8/(nil)
[00:00:59.119,312] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200165d8
[00:00:59.157,573] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20010bd8
[00:00:59.157,813] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200115d8/(nil)
[00:00:59.158,053] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016858
[00:00:59.196,325] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200110d8
[00:00:59.196,564] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20011ad8/(nil)
[00:00:59.196,806] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016ad8
[00:00:59.235,075] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200115d8
[00:00:59.235,313] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20011d58/(nil)
[00:00:59.235,555] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016d58
[00:00:59.273,823] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20011ad8
[00:00:59.274,062] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20011fd8/(nil)
[00:00:59.274,303] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016fd8
[00:00:59.312,558] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20011d58
[00:00:59.312,798] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20012258/(nil)
[00:00:59.313,038] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017258
[00:00:59.351,307] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20011fd8
[00:00:59.351,547] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200124d8/(nil)
[00:00:59.351,789] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200174d8
[00:00:59.390,061] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20012258
[00:00:59.390,298] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20012758/(nil)
[00:00:59.390,540] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758
[00:00:59.428,801] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200124d8
[00:00:59.429,040] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200129d8/(nil)
[00:00:59.429,280] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200179d8
[00:00:59.467,543] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20012758
[00:00:59.467,782] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20012c58/(nil)
[00:00:59.468,022] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017c58
[00:00:59.506,290] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200129d8
[00:00:59.506,529] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20012ed8/(nil)
[00:00:59.506,771] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017ed8
[00:00:59.545,040] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20012c58
[00:00:59.545,277] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20013158/(nil)
[00:00:59.545,519] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018158
[00:00:59.583,792] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20012ed8
[00:00:59.584,031] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200133d8/(nil)
[00:00:59.584,272] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200183d8
[00:00:59.622,542] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20013158
[00:00:59.622,781] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20013658/(nil)
[00:00:59.623,022] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018658
[00:00:59.661,292] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200133d8
[00:00:59.661,532] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200138d8/(nil)
[00:00:59.661,774] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200188d8
[00:00:59.700,025] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20013658
[00:00:59.700,263] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20013b58/(nil)
[00:00:59.700,505] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018b58
[00:00:59.738,778] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200138d8
[00:00:59.739,017] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20013dd8/(nil)
[00:00:59.739,258] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018dd8
[00:00:59.777,532] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20013b58
[00:00:59.777,771] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014058/(nil)
[00:00:59.778,011] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019058
[00:00:59.816,264] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20013dd8
[00:00:59.816,504] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200142d8/(nil)
[00:00:59.816,746] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200192d8
[00:00:59.855,016] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014058
[00:00:59.855,254] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014558/(nil)
[00:00:59.855,496] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019558
[00:00:59.893,765] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200142d8
[00:00:59.894,005] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200147d8/(nil)
[00:00:59.894,244] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x200197d8
[00:00:59.932,511] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014558
[00:00:59.932,733] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014a58/(nil)
[00:00:59.932,982] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014558
[00:00:59.971,260] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200147d8
[00:00:59.971,481] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014cd8/(nil)
[00:01:00.010,009] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014a58
[00:01:00.010,225] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)
[00:01:00.010,473] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014a58
[00:01:00.048,753] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014cd8
[00:01:00.048,971] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200151d8/(nil)
[00:01:00.087,485] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58
[00:01:00.087,704] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015458/(nil)
[00:01:00.087,952] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58
[00:01:00.126,226] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200151d8
[00:01:00.126,443] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200156d8/(nil)
[00:01:00.164,966] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015458
[00:01:00.165,187] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015958/(nil)
[00:01:00.165,436] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015458
[00:01:00.203,711] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200156d8
[00:01:00.203,930] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015bd8/(nil)
[00:01:00.242,463] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015958
[00:01:00.242,683] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015e58/(nil)
[00:01:00.242,933] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015958
[00:01:00.281,199] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015bd8
[00:01:00.281,418] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200160d8/(nil)
[00:01:00.319,952] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015e58
[00:01:00.320,173] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016358/(nil)
[00:01:00.320,422] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015e58
[00:01:00.358,690] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200160d8
[00:01:00.358,909] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200165d8/(nil)
[00:01:00.397,434] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016358
[00:01:00.397,654] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016858/(nil)
[00:01:00.397,903] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016358
[00:01:00.436,184] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200165d8
[00:01:00.436,404] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016ad8/(nil)
[00:01:00.474,921] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016858
[00:01:00.475,142] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016d58/(nil)
[00:01:00.475,390] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016858
[00:01:00.513,665] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016ad8
[00:01:00.513,884] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016fd8/(nil)
[00:01:00.552,415] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016d58
[00:01:00.552,635] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017258/(nil)
[00:01:00.552,884] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016d58
[00:01:00.591,152] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016fd8
[00:01:00.591,372] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200174d8/(nil)
[00:01:00.629,902] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017258
[00:01:00.630,123] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)
[00:01:00.630,372] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017258
[00:01:00.668,649] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200174d8
[00:01:00.668,868] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200179d8/(nil)
[00:01:00.707,375] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758
[00:01:00.707,596] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017c58/(nil)
[00:01:00.707,845] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758
[00:01:00.746,123] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200179d8
[00:01:00.746,343] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017ed8/(nil)
[00:01:00.784,872] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017c58
[00:01:00.785,093] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018158/(nil)
[00:01:00.785,340] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017c58
[00:01:00.823,609] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017ed8
[00:01:00.823,828] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200183d8/(nil)
[00:01:00.862,354] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018158
[00:01:00.862,573] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018658/(nil)
[00:01:00.862,818] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018158
[00:01:00.901,099] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200183d8
[00:01:00.901,317] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200188d8/(nil)
[00:01:00.939,843] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018658
[00:01:00.940,064] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018b58/(nil)
[00:01:00.940,312] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018658
[00:01:00.978,577] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200188d8
[00:01:00.978,797] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018dd8/(nil)
[00:01:01.017,323] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018b58
[00:01:01.017,542] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019058/(nil)
[00:01:01.017,789] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018b58
[00:01:01.056,062] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018dd8
[00:01:01.056,279] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200192d8/(nil)
[00:01:01.094,804] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019058
[00:01:01.095,023] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019558/(nil)
[00:01:01.095,269] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019058
[00:01:01.133,534] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200192d8
[00:01:01.133,754] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x200197d8/(nil)
[00:01:01.172,281] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019558
[00:01:01.172,502] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014558/(nil)
[00:01:01.172,751] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019558
[00:01:01.211,035] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x200197d8
[00:01:01.211,253] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014a58/(nil)
[00:01:01.249,772] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014558
[00:01:01.249,993] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)
[00:01:01.250,242] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014558
[00:01:01.288,503] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014a58
[00:01:01.288,723] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015458/(nil)
[00:01:01.327,239] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58
[00:01:01.327,459] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015958/(nil)
[00:01:01.327,708] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58
[00:01:01.365,986] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015458
[00:01:01.366,205] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015e58/(nil)
[00:01:01.404,729] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015958
[00:01:01.404,949] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016358/(nil)
[00:01:01.405,194] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20015958
[00:01:01.443,473] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015e58
[00:01:01.443,693] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016858/(nil)
[00:01:01.482,225] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016358
[00:01:01.482,445] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016d58/(nil)
[00:01:01.482,694] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016358
[00:01:01.520,955] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016858
[00:01:01.521,175] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017258/(nil)
[00:01:01.559,692] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016d58
[00:01:01.559,913] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)
[00:01:01.560,162] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016d58
[00:01:01.598,436] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017258
[00:01:01.598,655] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017c58/(nil)
[00:01:01.637,174] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758
[00:01:01.637,395] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018158/(nil)
[00:01:01.637,644] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758
[00:01:01.675,895] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017c58
[00:01:01.676,114] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018658/(nil)
[00:01:01.714,640] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018158
[00:01:01.714,860] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018b58/(nil)
[00:01:01.715,110] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018158
[00:01:01.753,381] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018658
[00:01:01.753,600] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019058/(nil)
[00:01:01.792,113] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018b58
[00:01:01.792,333] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019558/(nil)
[00:01:01.792,582] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018b58
[00:01:01.830,857] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019058
[00:01:01.831,077] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014558/(nil)
[00:01:01.869,600] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019558
[00:01:01.869,821] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)
[00:01:01.870,070] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20019558
[00:01:01.908,347] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014558
[00:01:01.908,566] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20015958/(nil)
[00:01:01.947,091] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58
[00:01:01.947,310] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016358/(nil)
[00:01:01.947,557] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58
[00:01:01.985,843] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20015958
[00:01:01.986,063] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016d58/(nil)
[00:01:02.024,583] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016358
[00:01:02.024,802] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)
[00:01:02.025,049] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20016358
[00:01:02.063,322] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016d58
[00:01:02.063,540] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018158/(nil)
[00:01:02.102,054] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758
[00:01:02.102,273] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018b58/(nil)
[00:01:02.102,522] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758
[00:01:02.140,788] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018158
[00:01:02.141,005] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20019558/(nil)
[00:01:02.179,524] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018b58
[00:01:02.179,745] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)
[00:01:02.179,994] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20018b58
[00:01:02.218,278] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20019558
[00:01:02.218,497] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20016358/(nil)
[00:01:02.257,021] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58
[00:01:02.257,240] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)
[00:01:02.257,489] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58
[00:01:02.295,764] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20016358
[00:01:02.295,984] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20018b58/(nil)
[00:01:02.334,504] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758
[00:01:02.334,724] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)
[00:01:02.334,973] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20017758
[00:01:02.373,246] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20018b58
[00:01:02.373,466] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20017758/(nil)
[00:01:02.411,976] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58
[00:01:02.412,211] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Queued TX 0x20014f58
[00:01:02.412,422] &amp;lt;dbg&amp;gt; i2s_nrfx: i2s_nrfx_write: Next TX 0x20014f58
[00:01:02.412,628] &amp;lt;dbg&amp;gt; i2s_nrfx: supply_next_buffers: Next buffers: 0x20014f58/(nil)
[00:01:02.450,719] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20017758
[00:01:02.489,453] &amp;lt;err&amp;gt; i2s_nrfx: Next buffers not supplied on time
[00:01:02.489,670] &amp;lt;dbg&amp;gt; i2s_nrfx: free_tx_buffer: Freed TX 0x20014f58
[00:01:02.489,913] &amp;lt;err&amp;gt; i2s_nrfx: Cannot write in state: 4


i dont know what issue had in my current code please give answer sir .

I not hear sine sound using this code why ??


i share my proj.config and overlay below 


CONFIG_GPIO=y
CONFIG_PRINTK=y
CONFIG_SERIAL=y
CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=3
CONFIG_GPIO=y
CONFIG_I2C=y
CONFIG_I2S=y
CONFIG_MINIMAL_LIBC=y
CONFIG_I2C_NRFX=y
CONFIG_PWM=y
CONFIG_PWM_NRFX=y

CONFIG_PRINTK=y
CONFIG_LOG=y

CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y

CONFIG_LOG_BACKEND_UART=n
CONFIG_UART_CONSOLE=n

CONFIG_LOG_MODE_IMMEDIATE=y

CONFIG_MAIN_STACK_SIZE=4096
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

CONFIG_PM=n
CONFIG_PM_DEVICE=n
CONFIG_PM_DEVICE_RUNTIME=n

# --- I2S DMA memory ---
CONFIG_I2S=y
CONFIG_I2S_NRFX=y

CONFIG_I2S_TX_BLOCK_COUNT=4

# --- No-cache memory for DMA ---
CONFIG_NOCACHE_MEMORY=y

CONFIG_HEAP_MEM_POOL_SIZE=16384

# I2S
CONFIG_I2S=y
CONFIG_I2S_NRFX=y

# Non-cache RAM for DMA (REQUIRED on nRF54)
CONFIG_NOCACHE_MEMORY=y


CONFIG_DEBUG_OPTIMIZATIONS=y
CONFIG_ASSERT=y
CONFIG_FAULT_DUMP=2

CONFIG_I2S_NRFX_TX_BLOCK_COUNT=32
CONFIG_I2S_NRFX_RX_BLOCK_COUNT=0

CONFIG_I2S_LOG_LEVEL_DBG=y
CONFIG_LOG=y



























&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557801?ContentTypeID=1</link><pubDate>Fri, 02 Jan 2026 09:45:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:960dcd48-018a-4885-851b-5cb9f009911a</guid><dc:creator>Syed Maysum Abbas Zaidi</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The -11 return value corresponds to -EAGAIN and indicates that the I2S TX queue is full and the operation timed out. This occurs when the application submits audio blocks faster than the I2S hardware can transmit them.&lt;/p&gt;
&lt;p&gt;Increasing NUM_BLOCKS (for example to 8) is the recommended first step to provide additional buffering. If the issue still occurs, you may also increase the .timeout value in your i2s_config to allow i2s_write() more time to wait for a free TX slot. Please confirm if it works. Thanks&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;br /&gt;Syed Maysum&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557767?ContentTypeID=1</link><pubDate>Wed, 31 Dec 2025 05:11:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:786ac3c3-701c-458c-8194-a8c761fff9fc</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;my overlay file is this ,&lt;/p&gt;
&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;pinctrl&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2c21_default&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;i2c22_default&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;group1&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psels = &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;TWIM_SCL&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;12&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;TWIM_SDA&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;13&lt;/span&gt;&lt;span&gt;)&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bias-pull-up;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2c21_sleep&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;i2c22_sleep&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;group1&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psels = &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;TWIM_SCL&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;12&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;TWIM_SDA&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;13&lt;/span&gt;&lt;span&gt;)&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; low-power-enable;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s20_default&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;i2s20_default&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;group1&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psels = &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SDIN&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SDOUT&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SCK_S&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_MCK&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_LRCK_M&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;14&lt;/span&gt;&lt;span&gt;)&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s20_sleep&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;i2s20_sleep&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;group1&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psels = &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SDIN&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SDOUT&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SCK_S&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_MCK&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_LRCK_M&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;14&lt;/span&gt;&lt;span&gt;)&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;// i2s20_default: i2s20_default &lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;i2c21&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-0 = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;i2c22_default&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-1 = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;i2c22_sleep&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-names = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;sleep&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;audiocodec&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;audiocodec@18&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;i2c-device&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;okay&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reg = &amp;lt; &lt;/span&gt;&lt;span&gt;0x18&lt;/span&gt;&lt;span&gt; &amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;i2s20&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;okay&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-0 = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;i2s20_default&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-1 = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;i2s20_sleep&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-names = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;sleep&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;led0&lt;/span&gt;&lt;span&gt; {status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;custom_pins&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;gpio-keys&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;codec_reset&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;codec-reset-node&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gpios = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;gpio1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;9&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;GPIO_ACTIVE_HIGH&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; label = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;Codec Reset Pin&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;i2c30&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2c22_default/group2/};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2s20_default/group5/};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2s20_default/group2/};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2s20_default/group3/};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2s20_default/group4/};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;i2c21&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;okay&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;i2c22&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;uart21&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &lt;/span&gt;&lt;span&gt;&amp;amp;button0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/buttons/};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;button0&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;button_0&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;gpio-keys&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;button0_key&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;button0_key&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gpios = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;gpio1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;15&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;&amp;gt;; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; label = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;MCUBoot Button&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// led0: led_0 {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// &amp;nbsp; &amp;nbsp; compatible = &amp;quot;gpio-leds&amp;quot;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// &amp;nbsp; &amp;nbsp; led0_green: led0_green {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gpios = &amp;lt;&amp;amp;gpio1 16 GPIO_ACTIVE_HIGH&amp;gt;; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; label = &amp;quot;MCUBoot LED&amp;quot;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;uart20&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;okay&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;uart20_default&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;group1&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psels = &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;UART_TX&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;8&lt;/span&gt;&lt;span&gt;)&amp;gt;, &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;UART_RX&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;7&lt;/span&gt;&lt;span&gt;)&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557766?ContentTypeID=1</link><pubDate>Wed, 31 Dec 2025 05:11:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:901c41ba-109a-43dc-9a4b-6eae373ca201</guid><dc:creator>Sharon123</dc:creator><description>&lt;div&gt;
&lt;div&gt;&lt;span&gt;/*&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;* Copyright 2023 NXP&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;*&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;* SPDX-License-Identifier: Apache-2.0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;*/&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;#include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;zephyr/kernel.h&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;#include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;zephyr/device.h&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;#include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;zephyr/drivers/i2s.h&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;#include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;zephyr/drivers/gpio.h&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;#include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;stdio.h&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;#include&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;codec_header.h&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;#define&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;SAMPLE_NO&lt;/span&gt;&lt;span&gt; &amp;nbsp; &lt;/span&gt;&lt;span&gt;64&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;#define&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;CHANNELS&lt;/span&gt;&lt;span&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;#define&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;NUM_BLOCKS&lt;/span&gt;&lt;span&gt; &amp;nbsp;&lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;/* BLOCK_SIZE in bytes */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;#define&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;BLOCK_SIZE&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;CHANNELS&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;SAMPLE_NO&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;sizeof&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;int16_t&lt;/span&gt;&lt;span&gt;))&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;struct&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;device&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;span&gt;dev_i2s&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;DEVICE_DT_GET&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;DT_NODELABEL&lt;/span&gt;&lt;span&gt;(i2s20));&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;/* Stereo interleaved buffers */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;static&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;int16_t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;tx_block&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;NUM_BLOCKS&lt;/span&gt;&lt;span&gt;][&lt;/span&gt;&lt;span&gt;CHANNELS&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;SAMPLE_NO&lt;/span&gt;&lt;span&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;/* Sine wave table */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;static&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;const&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;int16_t&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;sine&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;SAMPLE_NO&lt;/span&gt;&lt;span&gt;] = {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;3211&lt;/span&gt;&lt;span&gt;, &amp;nbsp;&lt;/span&gt;&lt;span&gt;6392&lt;/span&gt;&lt;span&gt;, &amp;nbsp;&lt;/span&gt;&lt;span&gt;9511&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;12539&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;15446&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;18204&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;20787&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;23169&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;25329&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;27244&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;28897&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;30272&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;31356&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;32137&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;32609&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;32767&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;32609&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;32137&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;31356&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;30272&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;28897&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;27244&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;25329&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;23169&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;20787&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;18204&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;15446&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;12539&lt;/span&gt;&lt;span&gt;, &amp;nbsp;&lt;/span&gt;&lt;span&gt;9511&lt;/span&gt;&lt;span&gt;, &amp;nbsp;&lt;/span&gt;&lt;span&gt;6392&lt;/span&gt;&lt;span&gt;, &amp;nbsp;&lt;/span&gt;&lt;span&gt;3211&lt;/span&gt;&lt;span&gt;, &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; -&lt;/span&gt;&lt;span&gt;3212&lt;/span&gt;&lt;span&gt;, -&lt;/span&gt;&lt;span&gt;6393&lt;/span&gt;&lt;span&gt;, -&lt;/span&gt;&lt;span&gt;9512&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;12540&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;15447&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;18205&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;20788&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;23170&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;-&lt;/span&gt;&lt;span&gt;25330&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;27245&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;28898&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;30273&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;31357&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;32138&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;32610&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;32767&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;-&lt;/span&gt;&lt;span&gt;32610&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;32138&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;31357&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;30273&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;28898&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;27245&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;25330&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;23170&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;-&lt;/span&gt;&lt;span&gt;20788&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;18205&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;15447&lt;/span&gt;&lt;span&gt;,-&lt;/span&gt;&lt;span&gt;12540&lt;/span&gt;&lt;span&gt;, -&lt;/span&gt;&lt;span&gt;9512&lt;/span&gt;&lt;span&gt;, -&lt;/span&gt;&lt;span&gt;6393&lt;/span&gt;&lt;span&gt;, -&lt;/span&gt;&lt;span&gt;3212&lt;/span&gt;&lt;span&gt;, &amp;nbsp; &amp;nbsp;-&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;static&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;fill_buf&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;int16_t&lt;/span&gt;&lt;span&gt; *&lt;/span&gt;&lt;span&gt;buf&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;shift&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;for&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt; &amp;lt; &lt;/span&gt;&lt;span&gt;SAMPLE_NO&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;++) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;buf&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;] &amp;nbsp; &amp;nbsp; = &lt;/span&gt;&lt;span&gt;sine&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;] &amp;gt;&amp;gt; &lt;/span&gt;&lt;span&gt;shift&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* Left */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;buf&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt; * &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt; + &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;] = &lt;/span&gt;&lt;span&gt;sine&lt;/span&gt;&lt;span&gt;[(&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt; + &lt;/span&gt;&lt;span&gt;SAMPLE_NO&lt;/span&gt;&lt;span&gt; / &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;) % &lt;/span&gt;&lt;span&gt;SAMPLE_NO&lt;/span&gt;&lt;span&gt;] &amp;gt;&amp;gt; &lt;/span&gt;&lt;span&gt;shift&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;span&gt; /* Right */&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;main&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;void&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;struct&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;i2s_config&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;=== System start ===&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;// POWER-UP DELAY &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;k_msleep&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;300&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// INIT I2C &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;i2c_init_codec&lt;/span&gt;&lt;span&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;Codec I2C init failed (&lt;/span&gt;&lt;span&gt;%d&lt;/span&gt;&lt;span&gt;). STOP.&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;while&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;k_sleep&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;K_FOREVER&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;Codec I2C init OK&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// CHECK I2S DEVICE &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; (!&lt;/span&gt;&lt;span&gt;device_is_ready&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;dev_i2s&lt;/span&gt;&lt;span&gt;)) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;I2S device not ready&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; -&lt;/span&gt;&lt;span&gt;ENODEV&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// CONFIGURE I2S &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;memset&lt;/span&gt;&lt;span&gt;(&amp;amp;&lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;sizeof&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;));&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;word_size&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;16&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;channels&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;CHANNELS&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;format&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;I2S_FMT_DATA_FORMAT_I2S&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;frame_clk_freq&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;8000&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;block_size&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;BLOCK_SIZE&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;timeout&lt;/span&gt;&lt;span&gt; =&lt;/span&gt;&lt;span&gt;1000&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;options&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;I2S_OPT_FRAME_CLK_MASTER&lt;/span&gt;&lt;span&gt; | &lt;/span&gt;&lt;span&gt;I2S_OPT_BIT_CLK_MASTER&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;i2s_configure&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;dev_i2s&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;I2S_DIR_TX&lt;/span&gt;&lt;span&gt;, &amp;amp;&lt;/span&gt;&lt;span&gt;i2s_cfg&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;I2S configure failed (&lt;/span&gt;&lt;span&gt;%d&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;I2S configured.........&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// PREPARE AUDIO BUFFERS &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;for&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt; &amp;lt; &lt;/span&gt;&lt;span&gt;NUM_BLOCKS&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;++)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;fill_buf&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;tx_block&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;], &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt; % &lt;/span&gt;&lt;span&gt;3&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// QUEUE BUFFERS BEFORE START&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;i2s_write&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;dev_i2s&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;tx_block&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;], &lt;/span&gt;&lt;span&gt;BLOCK_SIZE&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt; |= &lt;/span&gt;&lt;span&gt;i2s_write&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;dev_i2s&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;tx_block&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;], &lt;/span&gt;&lt;span&gt;BLOCK_SIZE&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;I2S write failed (&lt;/span&gt;&lt;span&gt;%d&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;Initial TX buffers queued&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;// NOW START I2S -lrck&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;i2s_trigger&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;dev_i2s&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;I2S_DIR_TX&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;I2S_TRIGGER_START&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;I2S start failed (&lt;/span&gt;&lt;span&gt;%d&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;I2S started successfully&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;// remaining buffer&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;int&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;idx&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;while&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;i2s_write&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;dev_i2s&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;tx_block&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;idx&lt;/span&gt;&lt;span&gt; % &lt;/span&gt;&lt;span&gt;NUM_BLOCKS&lt;/span&gt;&lt;span&gt;], &lt;/span&gt;&lt;span&gt;BLOCK_SIZE&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt; == &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;idx&lt;/span&gt;&lt;span&gt;++;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;k_msleep&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;else&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;if&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt; == -&lt;/span&gt;&lt;span&gt;EAGAIN&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;k_msleep&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;else&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;I2S write error (&lt;/span&gt;&lt;span&gt;%d&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;\n&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;ret&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;break&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;printk&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;i2s_write.............&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;return&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557765?ContentTypeID=1</link><pubDate>Wed, 31 Dec 2025 05:10:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a42daa60-3b58-4e04-86a0-30225834ddc6</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;i have another issue in my code , when i read i2s 1 to 5 index is properly transmitted after enter to index 6 leads to -11 error&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557764?ContentTypeID=1</link><pubDate>Wed, 31 Dec 2025 05:08:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2eb40d9d-3f1d-48b5-aa2a-0ba7fd8eafee</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: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557626?ContentTypeID=1</link><pubDate>Thu, 25 Dec 2025 16:42:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:20782c7a-ee88-419f-bf32-a6f5e1017bb5</guid><dc:creator>Syed Maysum Abbas Zaidi</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;&lt;br /&gt;Since the issue only appears when I2S is active, it may be related to marginal I2C signal integrity. Could you try&amp;nbsp;enabling internal pull-ups on the I2C pins by adding bias-pull-up to the i2c22_default pinctrl node, and check if the behavior changes. You could trying adding this to the overlay:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;i2c22_default: i2c22_default {
    group1 {
        psels =
            &amp;lt;NRF_PSEL(TWIM_SCL, 1, 11)&amp;gt;,
            &amp;lt;NRF_PSEL(TWIM_SDA, 1, 12)&amp;gt;;
        bias-pull-up;
    };
};&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;br /&gt;Syed Maysum&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557557?ContentTypeID=1</link><pubDate>Tue, 23 Dec 2025 04:42:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f82c7128-3969-40e6-b973-369efc6f359f</guid><dc:creator>Sharon123</dc:creator><description>&lt;div&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;pinctrl&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2c22_default&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;i2c22_default&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;group1&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psels = &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;TWIM_SCL&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;11&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;TWIM_SDA&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;12&lt;/span&gt;&lt;span&gt;)&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2c22_sleep&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;i2c22_sleep&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;group1&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psels = &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;TWIM_SCL&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;11&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;TWIM_SDA&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;12&lt;/span&gt;&lt;span&gt;)&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; low-power-enable;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s20_default&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;i2s20_default&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;group1&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psels = &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SDIN&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SDOUT&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SCK_S&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_MCK&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;13&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_LRCK_M&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;14&lt;/span&gt;&lt;span&gt;)&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;i2s20_sleep&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;i2s20_sleep&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;group1&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; psels = &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SDIN&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;4&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SDOUT&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;5&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_SCK_S&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;6&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_MCK&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;13&lt;/span&gt;&lt;span&gt;)&amp;gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span&gt;NRF_PSEL&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;I2S_LRCK_M&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;14&lt;/span&gt;&lt;span&gt;)&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;i2c22&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;okay&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-0 = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;i2c22_default&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-1 = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;i2c22_sleep&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-names = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;sleep&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;audiocodec&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;audiocodec@18&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;i2c-device&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;okay&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reg = &amp;lt; &lt;/span&gt;&lt;span&gt;0x18&lt;/span&gt;&lt;span&gt; &amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;i2s20&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;okay&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-0 = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;i2s20_default&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-1 = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;i2s20_sleep&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; pinctrl-names = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;default&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;sleep&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;led0&lt;/span&gt;&lt;span&gt; {status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span&gt;custom_pins&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; compatible = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;gpio-keys&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span&gt;codec_reset&lt;/span&gt;&lt;span&gt;: &lt;/span&gt;&lt;span&gt;codec-reset-node&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gpios = &amp;lt;&lt;/span&gt;&lt;span&gt;&amp;amp;gpio1&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;9&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;GPIO_ACTIVE_HIGH&lt;/span&gt;&lt;span&gt;&amp;gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; label = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;Codec Reset Pin&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div&gt;&lt;span&gt;&amp;amp;i2c30&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; status = &lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;disabled&lt;/span&gt;&lt;span&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2c22_default/group2/};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2s20_default/group5/};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2s20_default/group2/};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2s20_default/group3/};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;/delete-node/ &amp;amp;{/pin-controller/i2s20_default/group4/};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;// &amp;amp;button0 {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;// &amp;nbsp;/delete-property/ gpios;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;// };&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557556?ContentTypeID=1</link><pubDate>Tue, 23 Dec 2025 04:42:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:830f5fdf-63e5-4526-9e23-c7723b0f1c92</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;hi ,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;when i am connect i2s ans i2c together is gettimg -5 i2c error . without i2s , i2c register read is proper ??&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557300?ContentTypeID=1</link><pubDate>Thu, 18 Dec 2025 10:02:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c6830107-2af3-4de5-9909-785790d20900</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;thank you sir ,Resolved the issue .I close the ticket&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557207?ContentTypeID=1</link><pubDate>Wed, 17 Dec 2025 12:38:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a90e95c-9557-4029-a59b-b9ddd278629f</guid><dc:creator>Syed Maysum Abbas Zaidi</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You are using the TWIM22 I2C instance (&amp;amp;i2c22). On nRF54L15, TWIM20/21/22 can only be routed to GPIOs on port P1 (see the&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/overview.html#blockdiagram"&gt;Block Diagram&lt;/a&gt;). P2 pins are not supported for TWIM, so using P2.06/P2.07 with &amp;amp;i2c22 will typically result in errors.&lt;br /&gt; &lt;br /&gt;You may try&amp;nbsp;updating the devicetree so that TWIM20/21/22 use P1.xx pins (GPIO port 1), or alternatively switch to TWIM30 (&amp;amp;i2c30) if you want to use P0.xx pins (GPIO port 0).&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;br /&gt;Syed Maysum&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557200?ContentTypeID=1</link><pubDate>Wed, 17 Dec 2025 11:49:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:51179611-1d7d-4aef-8093-9360d5dff39e</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;i am using codec -&amp;nbsp;TLV320AIC3111&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557148?ContentTypeID=1</link><pubDate>Wed, 17 Dec 2025 02:34:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c5dba612-fc74-4dc7-93a4-3561dca8d98e</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;&lt;span&gt;&amp;nbsp;k_sem_take(&amp;amp;dev_data-&amp;gt;completion_sync, I2C_TRANSFER_TIMEOUT_MSEC);&amp;nbsp; i got here -11&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: I2C read failed reg 0x00 err -5</title><link>https://devzone.nordicsemi.com/thread/557093?ContentTypeID=1</link><pubDate>Tue, 16 Dec 2025 13:14:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dd1d9429-f138-46c2-a368-75b7da466614</guid><dc:creator>Sharon123</dc:creator><description>&lt;p&gt;&lt;span&gt;and as you can see, there are several possible routes to return -EIO. Either k_sem_take(&amp;amp;dev_data-&amp;gt;completion_sync, I2C_TRANSFER_TIMEOUT_MSEC); returned an error, or&amp;nbsp;dev_data-&amp;gt;res != NRFX_SUCCESS, or possibly&amp;nbsp;i2c_nrfx_twim_msg_transfer() returned -EIO.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>