Intan RHD 2216 SPI communication with nRF52840

I'm trying to setup an SPI communication between an EVK of the Intan RHD2216 and the nRF 52840.

Browsing similar issues, I read the following topics already
Intan RHD2164 with NRF52840 (SPI) - Double Data Rate Issue 

 Intan RHD2216 SPI communication with Nordic 52840  NCK:Intan RHD2216 SPI communication with nRF 52840-- my spi_transieve working at high sample rate bacomes very slow. 

I apparently got the SPI to work since on my oscilloscope I can see CS and SCK behaving. But the I/O data doesn't correspond with the docs 
https://intantech.com/files/Intan_RHD2000_series_datasheet.pdf 

In particular, when I perform a WRITE(R,D) (page 18) and wait the 3-messages delay, I would expect to have the LSB portion of the 16-bits message to match the one that I sent; but that's not the case.

Here is my main.c code

/*
 * Copyright (c) 2012-2014 Wind River Systems, Inc.
 *
 * SPDX-License-Identifier: Apache-2.0
 */
/*
 * include
 */
#include <zephyr/kernel.h>
#include <zephyr/sys/printk.h>
#include <zephyr/device.h>
#include <zephyr/devicetree.h>
#include <zephyr/drivers/gpio.h>
#include <zephyr/drivers/spi.h>

typedef unsigned char u8_t;
typedef unsigned short u16_t;
/*
 * marco define and struct define
 */
// marco define
#define SLEEP_TIME_MS 2000

static u16_t T_result[19];
// RHD command
// CONVERT command  LSB set to 0(option)TODO
static u16_t RHD_CONVERT[19] = {0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x0500, 0x0600, 0x0700,
                                0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x0f00, 0xFF00, 0xFF00, 0xFF00};
// 16 channels + 3 dummy command(read ROM 63)(user define)
// 0x3f00 -> CONVERT(63)
// ADC self-calibration command ,this command needs nine dummy command to generate the necessary clock cycles to run.
#define CALIBRATE 0x5500
static const u16_t NINE_DUMMPY[9] = {0xbf00, 0xbf00, 0xbf00, 0xbf00, 0xbf00, 0xbf00, 0xbf00, 0xbf00, 0xbf00};
#define CLEAR 0x6A00     // not necessary to use this command
                         // Registers configuration using write command
#define Register0 0x80DE // amp fast settle is 0 ,20-150HZ filter ,enable ADC AND amp(disable is OK)
#define Register1 0x8120 // VDD sense disable ,using 16 * 1KS/s ADC
#define Register2 0x8228 // MUX bias current, configuration as above
#define Register3 0x8302 // diable tempS and digout
#define Register4 0x84B0 // absmode enable + unsigned ADC + weak MISO + DSP high-pass filter enable(differentiator)
// Impedance check
#define Register5 0x8500 // Impedance check control ,which is disable
#define Register6 0x8600 // DAC output voltage ,there is 0
#define Register7 0x8700 // Impedance check electrode select, this is 0
// on-chip Amplifier bandwidth Select
#define Register8 0x882C //  using 20-150 Hz bandwidth
#define Register9 0x8911
#define Register10 0x8a08
#define Register11 0x8b15
#define Register12 0x8c36
#define Register13 0x8d00
// indicidual Amplifier Power ,all set to one for using all channels' Amplifier
#define Register14 0x8eff
#define Register15 0x8fff
#define Register16 0x90ff
#define Register17 0x91ff

// spi struct
static u16_t tx_buffer[1];
static u16_t rx_buffer[1];
const struct spi_buf tx_buf = {
    .buf = tx_buffer,
    .len = sizeof(tx_buffer)};
const struct spi_buf_set tx = {
    .buffers = &tx_buf,
    .count = 1};

struct spi_buf rx_buf = {
    .buf = rx_buffer,
    .len = sizeof(rx_buffer),
};
const struct spi_buf_set rx = {
    .buffers = &rx_buf,
    .count = 1};
// LED
/* The devicetree node identifier for the "led0" alias. */
#define LED0_NODE DT_ALIAS(led0) // macro function of devicetree

#if DT_NODE_HAS_STATUS(LED0_NODE, okay)
#define LED0 DT_GPIO_CTLR(LED0_NODE, gpios)
#define PIN DT_GPIO_PIN(LED0_NODE, gpios)
#define FLAGS DT_GPIO_FLAGS(LED0_NODE, gpios)
#else
/* A build error here means your board isn't set up to blink an LED. */
// #error "Unsupported board: led0 devicetree alias is not defined"
#define LED0 ""
#define PIN 0
#define FLAGS 0
#endif
// SPI RHD cs
#if DT_SPI_HAS_CS_GPIOS(DT_NODELABEL(my_spi_master))
#define RHD2216 DT_SPI_DEV_CS_GPIOS_LABEL(DT_NODELABEL(reg_my_spi_master))   // get CS label a is RHD2216
#define RHD_PIN DT_SPI_DEV_CS_GPIOS_PIN(DT_NODELABEL(reg_my_spi_master))     // get RHD cs pin
#define RHD_FLAGS DT_SPI_DEV_CS_GPIOS_FLAGS(DT_NODELABEL(reg_my_spi_master)) // get RHD FLAGS
#else
#define RHD2216 ""
#define RHD_PIN 0
#define RHD_FLAGS 0
#endif

// timer
struct k_timer RHD_timer;
extern void my_timer_handler(struct k_timer *timer_id); // cb function call

// SPI
#define SPI_NODE DT_NODELABEL(my_spi_master) // macro function of devicetree
#define MY_SPI_MASTER_CS_DT_SPEC SPI_CS_GPIOS_DT_SPEC_GET(DT_NODELABEL(reg_my_spi_master))
const struct device *spi_dev = DEVICE_DT_GET(SPI_NODE);
// spi config

static const struct spi_config spi_cfg = {
    .operation = SPI_WORD_SET(8) | SPI_TRANSFER_MSB | SPI_MODE_CPOL | SPI_MODE_CPHA ,
    .frequency = 16000000,
    //.slave = 1,
    //.cs = {.gpio = MY_SPI_MASTER_CS_DT_SPEC, .delay = 0},
};

// RHD_CS
bool RHD_SAMPLE = true;
int ret;
int RHD_err;
// LED Blinky
static const struct gpio_dt_spec LED_dev = GPIO_DT_SPEC_GET(LED0_NODE, gpios);
bool led_is_on = true;
int ret_LED;

/*
 * function define
 */
// timer function

// SPI
static void spi_init(void)
{
        if (!device_is_ready(spi_dev))
        {
                printk("Could not get %s device\n", spi_dev->name);
                return;
        }
        printk("Device %s Correctly configured!\n", spi_dev->name);
}

u16_t spi_trans(u16_t command) // SPI trans in the timer period
{
        int err;
        tx_buffer[0] = command;
        err = spi_transceive(spi_dev, &spi_cfg, &tx, &rx);
        RHD_SAMPLE = !RHD_SAMPLE;
        if (err)
        {
                printk("SPI error: %d\n", err);
        }

        return rx_buffer[0];
}
// RHD init function
static int RHD2216_init(void)
{
        static const u16_t Register_config[20] = {Register0, Register1, Register2, Register3, Register4, Register5, Register6, Register7,
                                                  Register8, Register9, Register10, Register11, Register12, Register13, Register14, Register15,
                                                  Register16, Register17, 0xbf00, 0xbf00};
        static u16_t result[20];
        int err;
        u16_t calibrate_err;

        for (int i = 0; i < sizeof(Register_config) / 2; i++)
        {
                result[i] = spi_trans(Register_config[i]);
        }

        // loopback to test the correct result (write command result)
        for (int j = 0; j < (sizeof(Register_config) / 2) - 2; j++)
        {
                printk("SPI I/O: %02X %02X \n", (0xFF & Register_config[j]), (0xFF & result[2+j]));

                if ((0xFF & result[2 + j]) != (0xFF & Register_config[j]))
                {
                        err = 1;
                }
        }

        if(err) {
                printk("loopback test failed! \n");
                return err;
        }

        k_sleep(K_USEC(100)); // 100us delay before ADC calibrate
        calibrate_err = spi_trans(CALIBRATE);
        for (int j = 0; j < 9; j++)
        { // using generate nine SCLK to calibrate ADC
                calibrate_err = spi_trans(NINE_DUMMPY[j]);
        }
        if (calibrate_err == 0x8000)
        { // only check last calibrate result this is a loopback test ,true value is 0x8000 TODO
                printk("calibrate success! \n");
        }
        else
        {
                printk("calibrate failed! \n");
                err = 1;
                return err;
        }

        return err;
}
/*
 * cb function define
 */
// timer cb
void RHD_handler(struct k_work *work) // using round-robin fashion ,a timer callback to sample all needed channels
{
        // static u16_t T_result[19];
        uint64_t stamp;
        int64_t delta;
        stamp = k_uptime_get_32();
        /* do the processing that needs to be done periodically */
        for (int j = 0; j < 10; j++)
        {
                for (int i = 0; i < 19; i++)
                {
                        T_result[i] = spi_trans(RHD_CONVERT[i]);
                }
        }
        delta = k_uptime_delta(&stamp);
        printk("SPI Use time is:%lld ms \n", delta);
}
K_WORK_DEFINE(my_work, RHD_handler); // define RHD_handler as my_work
void my_timer_handler(struct k_timer *dummy)
{
        k_work_submit(&my_work);
}

// #include "hal/nrf_gpio.h"
// #define YOUR_PIN NRF_GPIO_PIN_MAP(1, 10) // Example connection - P1.03

/*
 * main function loop
 */
int main(void)
{
        printf("Hello World! %s\n", CONFIG_BOARD_TARGET);
        k_msleep(SLEEP_TIME_MS);
        // nrf_gpio_cfg_output(YOUR_PIN); /* Initialize with default config of pin */

        /*
         * setup
         */
        // timer
        k_timer_init(&RHD_timer, my_timer_handler, NULL); // init timer
        // Extract the device driver implementation
        // LED_dev = device_get_binding("led0"); // combine the driver and devicetree node

        // LED_dev = GPIO_DT_SPEC_GET(LED0_NODE, gpios);
        if (!gpio_is_ready_dt(&LED_dev))
        {
                printf("Issue on device_get_binding\n");
                return 1;
        }

        // Configure the GPIO pin
        ret_LED = gpio_pin_configure_dt(&LED_dev, GPIO_OUTPUT_ACTIVE);
        if (ret_LED < 0)
        {
                printf("Issue on gpio_pin_configure\n");

                return 1;
        }
        // SPI
        printk("SPIM Example\n");
        spi_init();
        printk("RHD_FLAGS %x\n", RHD_FLAGS);
        RHD_err = RHD2216_init();
        if (RHD_err)
        {
                printk("RHD2216 init fail \n");
        }
        else
        {
                RHD_err = spi_trans(RHD_CONVERT[0]);
                /* start periodic timer that expires once at 1kHz */
                k_timer_start(&RHD_timer, K_SECONDS(3), K_USEC(5000)); // first param is timer duration(initial timer duration)
        }
        /*
         * Loop function : other data process code
         */
        printk("Going to main loop! \n");
        bool led_state = true;

        while (true)
        {
                // nrf_gpio_pin_toggle(YOUR_PIN);

                ret = gpio_pin_toggle_dt(&LED_dev);
                if (ret < 0)
                {
                        return 0;
                }

                led_state = !led_state;
                // printf("LED state: %s\n", led_state ? "ON" : "OFF");
                k_msleep(SLEEP_TIME_MS);
                // printk("This is main loop! \n");
        }

        return 0;
}

my .overlay file

// To get started, press Ctrl+Space to bring up the completion menu and view the available nodes.

// You can also use the buttons in the sidebar to perform actions on nodes.
// Actions currently available include:

// * Enabling / disabling the node
// * Adding the bus to a bus
// * Removing the node
// * Connecting ADC channels

// For more help, browse the DeviceTree documentation at https://docs.zephyrproject.org/latest/guides/dts/index.html
// You can also visit the nRF DeviceTree extension documentation at https://docs.nordicsemi.com/bundle/nrf-connect-vscode/page/guides/ncs_configure_app.html#devicetree-support-in-the-extension
/ {
	aliases {
		spi0 = &spi0;
	};
};

&pinctrl {
	spi0_default {
		group1 {
            psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
                    <NRF_PSEL(SPIM_MOSI, 1, 13)>,
                    <NRF_PSEL(SPIM_MISO, 1, 14)>;
		};
	};

	spi0_sleep {
		group1 {
            psels = <NRF_PSEL(SPIM_SCK, 1, 15)>,
                    <NRF_PSEL(SPIM_MOSI, 1, 13)>,
                    <NRF_PSEL(SPIM_MISO, 1, 14)>;
			low-power-enable;
		};
	};	
};

my_spi_master: &spi0 {
	compatible = "nordic,nrf-spim";
	status = "okay";
	pinctrl-0 = <&spi0_default>;
	pinctrl-1 = <&spi0_sleep>;
	pinctrl-names = "default", "sleep";
	cs-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
	reg_my_spi_master: spi-dev-a@0 {
		reg = <0>;
	};

	max-frequency = <DT_FREQ_M(16)>;
};

&spi1 {
	compatible = "nordic,nrf-spi";
	status = "disabled";
};

&spi3 {
	status = "disabled";
};

and my prj.conf file

CONFIG_GPIO=y
CONFIG_SPI=y


I'm still a bit confused about 2 things:

  • the definition of the SPI, even though I copied from the other forum posts, does not match the RHD docs. I would expect something like the code here below, also because the SPI on nRF side I understood cannot work at more than 8 mega
    static const struct spi_config spi_cfg = {
        .operation = SPI_WORD_SET(8) | SPI_TRANSFER_MSB, 
        .frequency = 8000000,
        .slave = 1,
        .cs = {.gpio = MY_SPI_MASTER_CS_DT_SPEC, .delay = 0},
    };

  • the .overlay file keeps complaining with the message "Only spi nodes accepted in /soc/spi@40003000/.". but everything compiles.

Any suggestion is really appreciated.

Parents
  • Hello,

    Can you share the zephyr.dts and .config files from your build folder?

    Kenneth

  • Hi Kenneth, sure can do! Here they are.

    zephyr.dts

    /dts-v1/;
    
    / {
    	#address-cells = < 0x1 >;
    	#size-cells = < 0x1 >;
    	model = "Nordic nRF52840 DK NRF52840";
    	compatible = "nordic,nrf52840-dk-nrf52840";
    	chosen {
    		zephyr,bt-hci = &bt_hci_sdc;
    		zephyr,entropy = &cryptocell;
    		zephyr,flash-controller = &flash_controller;
    		zephyr,sram = &sram0;
    		zephyr,flash = &flash0;
    		zephyr,code-partition = &slot0_partition;
    		zephyr,console = &uart0;
    		zephyr,shell-uart = &uart0;
    		zephyr,uart-mcumgr = &uart0;
    		zephyr,bt-mon-uart = &uart0;
    		zephyr,bt-c2h-uart = &uart0;
    		zephyr,ieee802154 = &ieee802154;
    	};
    	aliases {
    		led0 = &led0;
    		led1 = &led1;
    		led2 = &led2;
    		led3 = &led3;
    		pwm-led0 = &pwm_led0;
    		sw0 = &button0;
    		sw1 = &button1;
    		sw2 = &button2;
    		sw3 = &button3;
    		bootloader-led0 = &led0;
    		mcuboot-button0 = &button0;
    		mcuboot-led0 = &led0;
    		watchdog0 = &wdt0;
    		spi0 = &spi0;
    	};
    	soc {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x1 >;
    		compatible = "nordic,nrf52840-qiaa", "nordic,nrf52840", "nordic,nrf52", "simple-bus";
    		interrupt-parent = < &nvic >;
    		ranges;
    		nvic: interrupt-controller@e000e100 {
    			#address-cells = < 0x1 >;
    			compatible = "arm,v7m-nvic";
    			reg = < 0xe000e100 0xc00 >;
    			interrupt-controller;
    			#interrupt-cells = < 0x2 >;
    			arm,num-irq-priority-bits = < 0x3 >;
    			phandle = < 0x1 >;
    		};
    		systick: timer@e000e010 {
    			compatible = "arm,armv7m-systick";
    			reg = < 0xe000e010 0x10 >;
    			status = "disabled";
    		};
    		ficr: ficr@10000000 {
    			compatible = "nordic,nrf-ficr";
    			reg = < 0x10000000 0x1000 >;
    			#nordic,ficr-cells = < 0x1 >;
    			status = "okay";
    		};
    		uicr: uicr@10001000 {
    			compatible = "nordic,nrf-uicr";
    			reg = < 0x10001000 0x1000 >;
    			status = "okay";
    			gpio-as-nreset;
    		};
    		sram0: memory@20000000 {
    			compatible = "mmio-sram";
    			reg = < 0x20000000 0x40000 >;
    		};
    		clock: clock@40000000 {
    			compatible = "nordic,nrf-clock";
    			reg = < 0x40000000 0x1000 >;
    			interrupts = < 0x0 0x1 >;
    			status = "okay";
    		};
    		power: power@40000000 {
    			compatible = "nordic,nrf-power";
    			reg = < 0x40000000 0x1000 >;
    			interrupts = < 0x0 0x1 >;
    			status = "okay";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x1 >;
    			gpregret1: gpregret1@4000051c {
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x1 >;
    				compatible = "nordic,nrf-gpregret";
    				reg = < 0x4000051c 0x1 >;
    				status = "okay";
    			};
    			gpregret2: gpregret2@40000520 {
    				#address-cells = < 0x1 >;
    				#size-cells = < 0x1 >;
    				compatible = "nordic,nrf-gpregret";
    				reg = < 0x40000520 0x1 >;
    				status = "okay";
    			};
    			reg1: regulator@40000578 {
    				compatible = "nordic,nrf5x-regulator";
    				reg = < 0x40000578 0x1 >;
    				regulator-name = "REG1";
    				regulator-initial-mode = < 0x1 >;
    			};
    			reg0: regulator@40000580 {
    				compatible = "nordic,nrf52x-regulator-hv";
    				reg = < 0x40000580 0x1 >;
    				regulator-name = "REG0";
    				status = "okay";
    			};
    		};
    		radio: radio@40001000 {
    			compatible = "nordic,nrf-radio";
    			reg = < 0x40001000 0x1000 >;
    			interrupts = < 0x1 0x1 >;
    			status = "okay";
    			ieee802154-supported;
    			ble-2mbps-supported;
    			ble-coded-phy-supported;
    			tx-high-power-supported;
    			ieee802154: ieee802154 {
    				compatible = "nordic,nrf-ieee802154";
    				status = "okay";
    			};
    			bt_hci_sdc: bt_hci_sdc {
    				compatible = "nordic,bt-hci-sdc";
    				status = "okay";
    			};
    			bt_hci_controller: bt_hci_controller {
    				compatible = "zephyr,bt-hci-ll-sw-split";
    				status = "disabled";
    			};
    		};
    		uart0: uart@40002000 {
    			compatible = "nordic,nrf-uarte";
    			reg = < 0x40002000 0x1000 >;
    			interrupts = < 0x2 0x1 >;
    			status = "okay";
    			current-speed = < 0x1c200 >;
    			pinctrl-0 = < &uart0_default >;
    			pinctrl-1 = < &uart0_sleep >;
    			pinctrl-names = "default", "sleep";
    		};
    		i2c0: arduino_i2c: i2c@40003000 {
    			compatible = "nordic,nrf-twi";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x40003000 0x1000 >;
    			interrupts = < 0x3 0x1 >;
    			easydma-maxcnt-bits = < 0x10 >;
    			status = "disabled";
    			zephyr,pm-device-runtime-auto;
    			pinctrl-0 = < &i2c0_default >;
    			pinctrl-1 = < &i2c0_sleep >;
    			pinctrl-names = "default", "sleep";
    		};
    		spi0: my_spi_master: spi@40003000 {
    			compatible = "nordic,nrf-spim";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x40003000 0x1000 >;
    			interrupts = < 0x3 0x1 >;
    			max-frequency = < 0x7a1200 >;
    			easydma-maxcnt-bits = < 0x10 >;
    			status = "okay";
    			pinctrl-0 = < &spi0_default >;
    			pinctrl-1 = < &spi0_sleep >;
    			pinctrl-names = "default", "sleep";
    			cs-gpios = < &gpio1 0xc 0x1 >;
    			reg_my_spi_master: spi-dev-a@0 {
    				reg = < 0x0 >;
    			};
    		};
    		i2c1: i2c@40004000 {
    			compatible = "nordic,nrf-twi";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x40004000 0x1000 >;
    			interrupts = < 0x4 0x1 >;
    			easydma-maxcnt-bits = < 0x10 >;
    			status = "disabled";
    			zephyr,pm-device-runtime-auto;
    			pinctrl-0 = < &i2c1_default >;
    			pinctrl-1 = < &i2c1_sleep >;
    			pinctrl-names = "default", "sleep";
    		};
    		spi1: spi@40004000 {
    			compatible = "nordic,nrf-spi";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x40004000 0x1000 >;
    			interrupts = < 0x4 0x1 >;
    			max-frequency = < 0x7a1200 >;
    			easydma-maxcnt-bits = < 0x10 >;
    			status = "disabled";
    			pinctrl-0 = < &spi1_default >;
    			pinctrl-1 = < &spi1_sleep >;
    			pinctrl-names = "default", "sleep";
    		};
    		nfct: nfct@40005000 {
    			compatible = "nordic,nrf-nfct";
    			reg = < 0x40005000 0x1000 >;
    			interrupts = < 0x5 0x1 >;
    			status = "disabled";
    		};
    		gpiote: gpiote0: gpiote@40006000 {
    			compatible = "nordic,nrf-gpiote";
    			reg = < 0x40006000 0x1000 >;
    			interrupts = < 0x6 0x5 >;
    			status = "okay";
    			instance = < 0x0 >;
    			phandle = < 0x18 >;
    		};
    		adc: adc@40007000 {
    			compatible = "nordic,nrf-saadc";
    			reg = < 0x40007000 0x1000 >;
    			interrupts = < 0x7 0x1 >;
    			status = "okay";
    			#io-channel-cells = < 0x1 >;
    			phandle = < 0x1c >;
    		};
    		timer0: timer@40008000 {
    			compatible = "nordic,nrf-timer";
    			status = "disabled";
    			reg = < 0x40008000 0x1000 >;
    			cc-num = < 0x4 >;
    			max-bit-width = < 0x20 >;
    			interrupts = < 0x8 0x1 >;
    			prescaler = < 0x0 >;
    		};
    		timer1: timer@40009000 {
    			compatible = "nordic,nrf-timer";
    			status = "disabled";
    			reg = < 0x40009000 0x1000 >;
    			cc-num = < 0x4 >;
    			max-bit-width = < 0x20 >;
    			interrupts = < 0x9 0x1 >;
    			prescaler = < 0x0 >;
    			phandle = < 0x19 >;
    		};
    		timer2: timer@4000a000 {
    			compatible = "nordic,nrf-timer";
    			status = "disabled";
    			reg = < 0x4000a000 0x1000 >;
    			cc-num = < 0x4 >;
    			max-bit-width = < 0x20 >;
    			interrupts = < 0xa 0x1 >;
    			prescaler = < 0x0 >;
    		};
    		rtc0: rtc@4000b000 {
    			compatible = "nordic,nrf-rtc";
    			reg = < 0x4000b000 0x1000 >;
    			cc-num = < 0x3 >;
    			interrupts = < 0xb 0x1 >;
    			status = "disabled";
    			clock-frequency = < 0x8000 >;
    			prescaler = < 0x1 >;
    		};
    		temp: temp@4000c000 {
    			compatible = "nordic,nrf-temp";
    			reg = < 0x4000c000 0x1000 >;
    			interrupts = < 0xc 0x1 >;
    			status = "okay";
    		};
    		rng: random@4000d000 {
    			compatible = "nordic,nrf-rng";
    			reg = < 0x4000d000 0x1000 >;
    			interrupts = < 0xd 0x1 >;
    			status = "okay";
    		};
    		ecb: ecb@4000e000 {
    			compatible = "nordic,nrf-ecb";
    			reg = < 0x4000e000 0x1000 >;
    			interrupts = < 0xe 0x1 >;
    			status = "okay";
    		};
    		ccm: ccm@4000f000 {
    			compatible = "nordic,nrf-ccm";
    			reg = < 0x4000f000 0x1000 >;
    			interrupts = < 0xf 0x1 >;
    			length-field-length-8-bits;
    			status = "okay";
    		};
    		wdt: wdt0: watchdog@40010000 {
    			compatible = "nordic,nrf-wdt";
    			reg = < 0x40010000 0x1000 >;
    			interrupts = < 0x10 0x1 >;
    			status = "okay";
    		};
    		rtc1: rtc@40011000 {
    			compatible = "nordic,nrf-rtc";
    			reg = < 0x40011000 0x1000 >;
    			cc-num = < 0x4 >;
    			interrupts = < 0x11 0x1 >;
    			status = "disabled";
    			clock-frequency = < 0x8000 >;
    			prescaler = < 0x1 >;
    		};
    		qdec: qdec0: qdec@40012000 {
    			compatible = "nordic,nrf-qdec";
    			reg = < 0x40012000 0x1000 >;
    			interrupts = < 0x12 0x1 >;
    			status = "disabled";
    		};
    		comp: comparator@40013000 {
    			compatible = "nordic,nrf-comp";
    			reg = < 0x40013000 0x1000 >;
    			interrupts = < 0x13 0x1 >;
    			status = "disabled";
    		};
    		egu0: swi0: egu@40014000 {
    			compatible = "nordic,nrf-egu", "nordic,nrf-swi";
    			reg = < 0x40014000 0x1000 >;
    			interrupts = < 0x14 0x1 >;
    			status = "okay";
    		};
    		egu1: swi1: egu@40015000 {
    			compatible = "nordic,nrf-egu", "nordic,nrf-swi";
    			reg = < 0x40015000 0x1000 >;
    			interrupts = < 0x15 0x1 >;
    			status = "okay";
    		};
    		egu2: swi2: egu@40016000 {
    			compatible = "nordic,nrf-egu", "nordic,nrf-swi";
    			reg = < 0x40016000 0x1000 >;
    			interrupts = < 0x16 0x1 >;
    			status = "okay";
    		};
    		egu3: swi3: egu@40017000 {
    			compatible = "nordic,nrf-egu", "nordic,nrf-swi";
    			reg = < 0x40017000 0x1000 >;
    			interrupts = < 0x17 0x1 >;
    			status = "okay";
    		};
    		egu4: swi4: egu@40018000 {
    			compatible = "nordic,nrf-egu", "nordic,nrf-swi";
    			reg = < 0x40018000 0x1000 >;
    			interrupts = < 0x18 0x1 >;
    			status = "okay";
    		};
    		egu5: swi5: egu@40019000 {
    			compatible = "nordic,nrf-egu", "nordic,nrf-swi";
    			reg = < 0x40019000 0x1000 >;
    			interrupts = < 0x19 0x1 >;
    			status = "okay";
    		};
    		timer3: timer@4001a000 {
    			compatible = "nordic,nrf-timer";
    			status = "disabled";
    			reg = < 0x4001a000 0x1000 >;
    			cc-num = < 0x6 >;
    			max-bit-width = < 0x20 >;
    			interrupts = < 0x1a 0x1 >;
    			prescaler = < 0x0 >;
    		};
    		timer4: timer@4001b000 {
    			compatible = "nordic,nrf-timer";
    			status = "disabled";
    			reg = < 0x4001b000 0x1000 >;
    			cc-num = < 0x6 >;
    			max-bit-width = < 0x20 >;
    			interrupts = < 0x1b 0x1 >;
    			prescaler = < 0x0 >;
    		};
    		pwm0: pwm@4001c000 {
    			compatible = "nordic,nrf-pwm";
    			reg = < 0x4001c000 0x1000 >;
    			interrupts = < 0x1c 0x1 >;
    			status = "okay";
    			#pwm-cells = < 0x3 >;
    			pinctrl-0 = < &pwm0_default >;
    			pinctrl-1 = < &pwm0_sleep >;
    			pinctrl-names = "default", "sleep";
    			phandle = < 0x1b >;
    		};
    		pdm0: pdm@4001d000 {
    			compatible = "nordic,nrf-pdm";
    			reg = < 0x4001d000 0x1000 >;
    			interrupts = < 0x1d 0x1 >;
    			status = "disabled";
    		};
    		acl: acl@4001e000 {
    			compatible = "nordic,nrf-acl";
    			reg = < 0x4001e000 0x1000 >;
    			status = "okay";
    		};
    		flash_controller: flash-controller@4001e000 {
    			compatible = "nordic,nrf52-flash-controller";
    			reg = < 0x4001e000 0x1000 >;
    			partial-erase;
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x1 >;
    			flash0: flash@0 {
    				compatible = "soc-nv-flash";
    				erase-block-size = < 0x1000 >;
    				write-block-size = < 0x4 >;
    				reg = < 0x0 0x100000 >;
    				partitions {
    					compatible = "fixed-partitions";
    					#address-cells = < 0x1 >;
    					#size-cells = < 0x1 >;
    					boot_partition: partition@0 {
    						label = "mcuboot";
    						reg = < 0x0 0xc000 >;
    					};
    					slot0_partition: partition@c000 {
    						label = "image-0";
    						reg = < 0xc000 0x77000 >;
    					};
    					slot1_partition: partition@83000 {
    						label = "image-1";
    						reg = < 0x83000 0x75000 >;
    					};
    					storage_partition: partition@f8000 {
    						label = "storage";
    						reg = < 0xf8000 0x8000 >;
    					};
    				};
    			};
    		};
    		ppi: ppi@4001f000 {
    			compatible = "nordic,nrf-ppi";
    			reg = < 0x4001f000 0x1000 >;
    			status = "okay";
    		};
    		mwu: mwu@40020000 {
    			compatible = "nordic,nrf-mwu";
    			reg = < 0x40020000 0x1000 >;
    			status = "okay";
    		};
    		pwm1: pwm@40021000 {
    			compatible = "nordic,nrf-pwm";
    			reg = < 0x40021000 0x1000 >;
    			interrupts = < 0x21 0x1 >;
    			status = "disabled";
    			#pwm-cells = < 0x3 >;
    		};
    		pwm2: pwm@40022000 {
    			compatible = "nordic,nrf-pwm";
    			reg = < 0x40022000 0x1000 >;
    			interrupts = < 0x22 0x1 >;
    			status = "disabled";
    			#pwm-cells = < 0x3 >;
    		};
    		spi2: spi@40023000 {
    			compatible = "nordic,nrf-spi";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x40023000 0x1000 >;
    			interrupts = < 0x23 0x1 >;
    			max-frequency = < 0x7a1200 >;
    			easydma-maxcnt-bits = < 0x10 >;
    			status = "disabled";
    			pinctrl-0 = < &spi2_default >;
    			pinctrl-1 = < &spi2_sleep >;
    			pinctrl-names = "default", "sleep";
    		};
    		rtc2: rtc@40024000 {
    			compatible = "nordic,nrf-rtc";
    			reg = < 0x40024000 0x1000 >;
    			cc-num = < 0x4 >;
    			interrupts = < 0x24 0x1 >;
    			status = "disabled";
    			clock-frequency = < 0x8000 >;
    			prescaler = < 0x1 >;
    		};
    		i2s0: i2s@40025000 {
    			compatible = "nordic,nrf-i2s";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x40025000 0x1000 >;
    			interrupts = < 0x25 0x1 >;
    			status = "disabled";
    		};
    		usbd: zephyr_udc0: usbd@40027000 {
    			compatible = "nordic,nrf-usbd";
    			reg = < 0x40027000 0x1000 >;
    			interrupts = < 0x27 0x1 >;
    			num-bidir-endpoints = < 0x1 >;
    			num-in-endpoints = < 0x7 >;
    			num-out-endpoints = < 0x7 >;
    			num-isoin-endpoints = < 0x1 >;
    			num-isoout-endpoints = < 0x1 >;
    			status = "okay";
    		};
    		uart1: arduino_serial: uart@40028000 {
    			compatible = "nordic,nrf-uarte";
    			reg = < 0x40028000 0x1000 >;
    			interrupts = < 0x28 0x1 >;
    			status = "disabled";
    			current-speed = < 0x1c200 >;
    			pinctrl-0 = < &uart1_default >;
    			pinctrl-1 = < &uart1_sleep >;
    			pinctrl-names = "default", "sleep";
    		};
    		qspi: qspi@40029000 {
    			compatible = "nordic,nrf-qspi";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x40029000 0x1000 >, < 0x12000000 0x8000000 >;
    			reg-names = "qspi", "qspi_mm";
    			interrupts = < 0x29 0x1 >;
    			status = "okay";
    			pinctrl-0 = < &qspi_default >;
    			pinctrl-1 = < &qspi_sleep >;
    			pinctrl-names = "default", "sleep";
    			mx25r64: mx25r6435f@0 {
    				compatible = "nordic,qspi-nor";
    				reg = < 0x0 >;
    				writeoc = "pp4io";
    				readoc = "read4io";
    				sck-frequency = < 0x7a1200 >;
    				jedec-id = [ C2 28 17 ];
    				sfdp-bfp = [ E5 20 F1 FF FF FF FF 03 44 EB 08 6B 08 3B 04 BB EE FF FF FF FF FF 00 FF FF FF 00 FF 0C 20 0F 52 10 D8 00 FF 23 72 F5 00 82 ED 04 CC 44 83 68 44 30 B0 30 B0 F7 C4 D5 5C 00 BE 29 FF F0 D0 FF FF ];
    				size = < 0x4000000 >;
    				has-dpd;
    				t-enter-dpd = < 0x2710 >;
    				t-exit-dpd = < 0x88b8 >;
    			};
    		};
    		pwm3: pwm@4002d000 {
    			compatible = "nordic,nrf-pwm";
    			reg = < 0x4002d000 0x1000 >;
    			interrupts = < 0x2d 0x1 >;
    			status = "disabled";
    			#pwm-cells = < 0x3 >;
    		};
    		spi3: arduino_spi: spi@4002f000 {
    			compatible = "nordic,nrf-spim";
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x0 >;
    			reg = < 0x4002f000 0x1000 >;
    			interrupts = < 0x2f 0x1 >;
    			max-frequency = < 0x1e84800 >;
    			easydma-maxcnt-bits = < 0x10 >;
    			rx-delay-supported;
    			rx-delay = < 0x2 >;
    			status = "disabled";
    			cs-gpios = < &arduino_header 0x10 0x1 >;
    			pinctrl-0 = < &spi3_default >;
    			pinctrl-1 = < &spi3_sleep >;
    			pinctrl-names = "default", "sleep";
    		};
    		gpio0: gpio@50000000 {
    			compatible = "nordic,nrf-gpio";
    			gpio-controller;
    			reg = < 0x50000000 0x200 0x50000500 0x300 >;
    			#gpio-cells = < 0x2 >;
    			status = "okay";
    			port = < 0x0 >;
    			gpiote-instance = < &gpiote >;
    			gpio-reserved-ranges = < 0x0 0x2 >, < 0x6 0x1 >, < 0x8 0x3 >, < 0x11 0x7 >;
    			gpio-line-names = "XL1", "XL2", "AREF", "A0", "A1", "RTS", "TXD", "CTS", "RXD", "NFC1", "NFC2", "BUTTON1", "BUTTON2", "LED1", "LED2", "LED3", "LED4", "QSPI CS", "RESET", "QSPI CLK", "QSPI DIO0", "QSPI DIO1", "QSPI DIO2", "QSPI DIO3", "BUTTON3", "BUTTON4", "SDA", "SCL", "A2", "A3", "A4", "A5";
    			phandle = < 0x1a >;
    		};
    		gpio1: gpio@50000300 {
    			compatible = "nordic,nrf-gpio";
    			gpio-controller;
    			reg = < 0x50000300 0x200 0x50000800 0x300 >;
    			#gpio-cells = < 0x2 >;
    			ngpios = < 0x10 >;
    			status = "okay";
    			port = < 0x1 >;
    			gpiote-instance = < &gpiote >;
    			gpio-line-names = "", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "", "D8", "D9", "D10", "D11", "D12", "D13";
    			phandle = < 0x8 >;
    		};
    		cryptocell: crypto@5002a000 {
    			compatible = "nordic,cryptocell", "arm,cryptocell-310";
    			reg = < 0x5002a000 0x1000 >, < 0x5002b000 0x1000 >;
    			reg-names = "wrapper", "core";
    			interrupts = < 0x2a 0x1 >;
    			status = "okay";
    		};
    	};
    	pinctrl: pin-controller {
    		compatible = "nordic,nrf-pinctrl";
    		uart0_default: uart0_default {
    			phandle = < 0x2 >;
    			group1 {
    				psels = < 0x6 >, < 0x2000005 >;
    			};
    			group2 {
    				psels = < 0x1000008 >, < 0x3000007 >;
    				bias-pull-up;
    			};
    		};
    		uart0_sleep: uart0_sleep {
    			phandle = < 0x3 >;
    			group1 {
    				psels = < 0x6 >, < 0x1000008 >, < 0x2000005 >, < 0x3000007 >;
    				low-power-enable;
    			};
    		};
    		uart1_default: uart1_default {
    			phandle = < 0x11 >;
    			group1 {
    				psels = < 0x1000021 >;
    				bias-pull-up;
    			};
    			group2 {
    				psels = < 0x22 >;
    			};
    		};
    		uart1_sleep: uart1_sleep {
    			phandle = < 0x12 >;
    			group1 {
    				psels = < 0x1000021 >, < 0x22 >;
    				low-power-enable;
    			};
    		};
    		i2c0_default: i2c0_default {
    			phandle = < 0x4 >;
    			group1 {
    				psels = < 0xc00001a >, < 0xb00001b >;
    			};
    		};
    		i2c0_sleep: i2c0_sleep {
    			phandle = < 0x5 >;
    			group1 {
    				psels = < 0xc00001a >, < 0xb00001b >;
    				low-power-enable;
    			};
    		};
    		i2c1_default: i2c1_default {
    			phandle = < 0x9 >;
    			group1 {
    				psels = < 0xc00001e >, < 0xb00001f >;
    			};
    		};
    		i2c1_sleep: i2c1_sleep {
    			phandle = < 0xa >;
    			group1 {
    				psels = < 0xc00001e >, < 0xb00001f >;
    				low-power-enable;
    			};
    		};
    		pwm0_default: pwm0_default {
    			phandle = < 0xd >;
    			group1 {
    				psels = < 0x1600000d >;
    				nordic,invert;
    			};
    		};
    		pwm0_sleep: pwm0_sleep {
    			phandle = < 0xe >;
    			group1 {
    				psels = < 0x1600000d >;
    				low-power-enable;
    			};
    		};
    		spi0_default: spi0_default {
    			phandle = < 0x6 >;
    			group1 {
    				psels = < 0x400002f >, < 0x500002d >, < 0x600002e >;
    			};
    		};
    		spi0_sleep: spi0_sleep {
    			phandle = < 0x7 >;
    			group1 {
    				psels = < 0x400002f >, < 0x500002d >, < 0x600002e >;
    				low-power-enable;
    			};
    		};
    		spi1_default: spi1_default {
    			phandle = < 0xb >;
    			group1 {
    				psels = < 0x400001f >, < 0x500001e >, < 0x6000028 >;
    			};
    		};
    		spi1_sleep: spi1_sleep {
    			phandle = < 0xc >;
    			group1 {
    				psels = < 0x400001f >, < 0x500001e >, < 0x6000028 >;
    				low-power-enable;
    			};
    		};
    		spi2_default: spi2_default {
    			phandle = < 0xf >;
    			group1 {
    				psels = < 0x4000013 >, < 0x5000014 >, < 0x6000015 >;
    			};
    		};
    		spi2_sleep: spi2_sleep {
    			phandle = < 0x10 >;
    			group1 {
    				psels = < 0x4000013 >, < 0x5000014 >, < 0x6000015 >;
    				low-power-enable;
    			};
    		};
    		qspi_default: qspi_default {
    			phandle = < 0x13 >;
    			group1 {
    				psels = < 0x1d000013 >, < 0x1f000014 >, < 0x20000015 >, < 0x21000016 >, < 0x22000017 >, < 0x1e000011 >;
    				nordic,drive-mode = < 0x3 >;
    			};
    		};
    		qspi_sleep: qspi_sleep {
    			phandle = < 0x14 >;
    			group1 {
    				psels = < 0x1d000013 >, < 0x1f000014 >, < 0x20000015 >, < 0x21000016 >, < 0x22000017 >;
    				low-power-enable;
    			};
    			group2 {
    				psels = < 0x1e000011 >;
    				low-power-enable;
    				bias-pull-up;
    			};
    		};
    		spi3_default: spi3_default {
    			phandle = < 0x16 >;
    			group1 {
    				psels = < 0x400002f >, < 0x600002e >, < 0x500002d >;
    			};
    		};
    		spi3_sleep: spi3_sleep {
    			phandle = < 0x17 >;
    			group1 {
    				psels = < 0x400002f >, < 0x600002e >, < 0x500002d >;
    				low-power-enable;
    			};
    		};
    	};
    	rng_hci: entropy_bt_hci {
    		compatible = "zephyr,bt-hci-entropy";
    		status = "okay";
    	};
    	sw_pwm: sw-pwm {
    		compatible = "nordic,nrf-sw-pwm";
    		status = "disabled";
    		generator = < &timer1 >;
    		clock-prescaler = < 0x0 >;
    		#pwm-cells = < 0x3 >;
    	};
    	cpus {
    		#address-cells = < 0x1 >;
    		#size-cells = < 0x0 >;
    		cpu@0 {
    			device_type = "cpu";
    			compatible = "arm,cortex-m4f";
    			reg = < 0x0 >;
    			#address-cells = < 0x1 >;
    			#size-cells = < 0x1 >;
    			itm: itm@e0000000 {
    				compatible = "arm,armv7m-itm";
    				reg = < 0xe0000000 0x1000 >;
    				swo-ref-frequency = < 0x1e84800 >;
    			};
    		};
    	};
    	leds {
    		compatible = "gpio-leds";
    		led0: led_0 {
    			gpios = < &gpio0 0xd 0x1 >;
    			label = "Green LED 0";
    		};
    		led1: led_1 {
    			gpios = < &gpio0 0xe 0x1 >;
    			label = "Green LED 1";
    		};
    		led2: led_2 {
    			gpios = < &gpio0 0xf 0x1 >;
    			label = "Green LED 2";
    		};
    		led3: led_3 {
    			gpios = < &gpio0 0x10 0x1 >;
    			label = "Green LED 3";
    		};
    	};
    	pwmleds {
    		compatible = "pwm-leds";
    		pwm_led0: pwm_led_0 {
    			pwms = < &pwm0 0x0 0x1312d00 0x1 >;
    		};
    	};
    	buttons {
    		compatible = "gpio-keys";
    		button0: button_0 {
    			gpios = < &gpio0 0xb 0x11 >;
    			label = "Push button switch 0";
    			zephyr,code = < 0xb >;
    		};
    		button1: button_1 {
    			gpios = < &gpio0 0xc 0x11 >;
    			label = "Push button switch 1";
    			zephyr,code = < 0x2 >;
    		};
    		button2: button_2 {
    			gpios = < &gpio0 0x18 0x11 >;
    			label = "Push button switch 2";
    			zephyr,code = < 0x3 >;
    		};
    		button3: button_3 {
    			gpios = < &gpio0 0x19 0x11 >;
    			label = "Push button switch 3";
    			zephyr,code = < 0x4 >;
    		};
    	};
    	arduino_header: connector {
    		compatible = "arduino-header-r3";
    		#gpio-cells = < 0x2 >;
    		gpio-map-mask = < 0xffffffff 0xffffffc0 >;
    		gpio-map-pass-thru = < 0x0 0x3f >;
    		gpio-map = < 0x0 0x0 &gpio0 0x3 0x0 >, < 0x1 0x0 &gpio0 0x4 0x0 >, < 0x2 0x0 &gpio0 0x1c 0x0 >, < 0x3 0x0 &gpio0 0x1d 0x0 >, < 0x4 0x0 &gpio0 0x1e 0x0 >, < 0x5 0x0 &gpio0 0x1f 0x0 >, < 0x6 0x0 &gpio1 0x1 0x0 >, < 0x7 0x0 &gpio1 0x2 0x0 >, < 0x8 0x0 &gpio1 0x3 0x0 >, < 0x9 0x0 &gpio1 0x4 0x0 >, < 0xa 0x0 &gpio1 0x5 0x0 >, < 0xb 0x0 &gpio1 0x6 0x0 >, < 0xc 0x0 &gpio1 0x7 0x0 >, < 0xd 0x0 &gpio1 0x8 0x0 >, < 0xe 0x0 &gpio1 0xa 0x0 >, < 0xf 0x0 &gpio1 0xb 0x0 >, < 0x10 0x0 &gpio1 0xc 0x0 >, < 0x11 0x0 &gpio1 0xd 0x0 >, < 0x12 0x0 &gpio1 0xe 0x0 >, < 0x13 0x0 &gpio1 0xf 0x0 >, < 0x14 0x0 &gpio0 0x1a 0x0 >, < 0x15 0x0 &gpio0 0x1b 0x0 >;
    		phandle = < 0x15 >;
    	};
    	arduino_adc: analog-connector {
    		compatible = "arduino,uno-adc";
    		#io-channel-cells = < 0x1 >;
    		io-channel-map = < 0x0 &adc 0x1 >, < 0x1 &adc 0x2 >, < 0x2 &adc 0x4 >, < 0x3 &adc 0x5 >, < 0x4 &adc 0x6 >, < 0x5 &adc 0x7 >;
    	};
    };

    .config

    # CONFIG_INPUT is not set
    # CONFIG_WIFI is not set
    # CONFIG_MIPI_DSI is not set
    CONFIG_SERIAL=y
    # CONFIG_UART_INTERRUPT_DRIVEN is not set
    # CONFIG_UART_ASYNC_API is not set
    # CONFIG_I2C is not set
    CONFIG_SPI=y
    # CONFIG_MODEM is not set
    CONFIG_NUM_IRQS=48
    CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=32768
    CONFIG_FLASH_SIZE=1024
    CONFIG_FLASH_BASE_ADDRESS=0x0
    CONFIG_MP_MAX_NUM_CPUS=1
    CONFIG_SOC_RESET_HOOK=y
    CONFIG_SYS_CLOCK_TICKS_PER_SEC=32768
    CONFIG_ROM_START_OFFSET=0
    CONFIG_PINCTRL=y
    CONFIG_BUILD_OUTPUT_BIN=y
    # CONFIG_BUILD_NO_GAP_FILL is not set
    CONFIG_XIP=y
    CONFIG_MAIN_STACK_SIZE=1024
    CONFIG_IDLE_STACK_SIZE=320
    CONFIG_HAS_FLASH_LOAD_OFFSET=y
    # CONFIG_SRAM_VECTOR_TABLE is not set
    CONFIG_CPU_HAS_ARM_MPU=y
    # CONFIG_COUNTER is not set
    # CONFIG_SHARED_INTERRUPTS is not set
    # CONFIG_PM_DEVICE is not set
    CONFIG_TICKLESS_KERNEL=y
    CONFIG_FPU=y
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=1024
    CONFIG_CLOCK_CONTROL=y
    CONFIG_CLOCK_CONTROL_INIT_PRIORITY=30
    # CONFIG_USE_DT_CODE_PARTITION is not set
    # CONFIG_MULTI_LEVEL_INTERRUPTS is not set
    CONFIG_GEN_IRQ_VECTOR_TABLE=y
    # CONFIG_DYNAMIC_INTERRUPTS is not set
    CONFIG_GEN_ISR_TABLES=y
    # CONFIG_INIT_STACKS is not set
    CONFIG_TIMESLICE_SIZE=0
    CONFIG_FLASH_LOAD_OFFSET=0
    # CONFIG_REGULATOR is not set
    CONFIG_HW_STACK_PROTECTION=y
    # CONFIG_MFD is not set
    CONFIG_GPIO=y
    # CONFIG_CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS is not set
    # CONFIG_TINYCRYPT is not set
    # CONFIG_CODE_DATA_RELOCATION_SRAM is not set
    # CONFIG_MBEDTLS is not set
    # CONFIG_MEMC is not set
    CONFIG_KERNEL_ENTRY="__start"
    # CONFIG_CACHE is not set
    # CONFIG_LOG is not set
    # CONFIG_CODE_DATA_RELOCATION is not set
    # CONFIG_ROMSTART_RELOCATION_ROM is not set
    CONFIG_DCACHE_LINE_SIZE=32
    CONFIG_SOC="nrf52840"
    # CONFIG_RESET is not set
    CONFIG_ARCH_SW_ISR_TABLE_ALIGN=4
    CONFIG_NRF_RTC_TIMER=y
    # CONFIG_ASSERT is not set
    CONFIG_BUILD_OUTPUT_HEX=y
    CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT=y
    CONFIG_SOC_HAS_TIMING_FUNCTIONS=y
    # CONFIG_UART_USE_RUNTIME_CONFIGURE is not set
    # CONFIG_SYSCON is not set
    CONFIG_SERIAL_INIT_PRIORITY=50
    CONFIG_SOC_SERIES="nrf52"
    CONFIG_SOC_FAMILY="nordic_nrf"
    # CONFIG_INTC_MTK_ADSP is not set
    # CONFIG_MTK_ADSP_TIMER is not set
    CONFIG_COMMON_LIBC_MALLOC_ARENA_SIZE=-1
    CONFIG_GEN_SW_ISR_TABLE=y
    # CONFIG_REBOOT is not set
    CONFIG_GEN_IRQ_START_VECTOR=0
    CONFIG_SRAM_OFFSET=0
    # CONFIG_POWER_DOMAIN is not set
    CONFIG_CONSOLE=y
    CONFIG_ARCH_IRQ_VECTOR_TABLE_ALIGN=4
    CONFIG_ISR_STACK_SIZE=2048
    # CONFIG_SCHED_CPU_MASK is not set
    # CONFIG_WATCHDOG is not set
    CONFIG_ICACHE_LINE_SIZE=32
    CONFIG_PRIVILEGED_STACK_SIZE=1024
    
    #
    # Devicetree Info
    #
    CONFIG_DT_HAS_ARDUINO_UNO_ADC_ENABLED=y
    CONFIG_DT_HAS_ARDUINO_HEADER_R3_ENABLED=y
    CONFIG_DT_HAS_ARM_ARMV7M_ITM_ENABLED=y
    CONFIG_DT_HAS_ARM_CORTEX_M4F_ENABLED=y
    CONFIG_DT_HAS_ARM_CRYPTOCELL_310_ENABLED=y
    CONFIG_DT_HAS_ARM_V7M_NVIC_ENABLED=y
    CONFIG_DT_HAS_FIXED_PARTITIONS_ENABLED=y
    CONFIG_DT_HAS_GPIO_KEYS_ENABLED=y
    CONFIG_DT_HAS_GPIO_LEDS_ENABLED=y
    CONFIG_DT_HAS_MMIO_SRAM_ENABLED=y
    CONFIG_DT_HAS_NORDIC_BT_HCI_SDC_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_ACL_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_CCM_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_CLOCK_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_ECB_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_EGU_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_FICR_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_GPIO_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_GPIOTE_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_GPREGRET_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_IEEE802154_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_MWU_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_PINCTRL_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_POWER_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_PPI_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_PWM_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_QSPI_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_RADIO_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_RNG_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_SAADC_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_SPIM_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_SWI_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_TEMP_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_UARTE_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_UICR_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_USBD_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF_WDT_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF52_FLASH_CONTROLLER_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF52X_REGULATOR_HV_ENABLED=y
    CONFIG_DT_HAS_NORDIC_NRF5X_REGULATOR_ENABLED=y
    CONFIG_DT_HAS_NORDIC_QSPI_NOR_ENABLED=y
    CONFIG_DT_HAS_PWM_LEDS_ENABLED=y
    CONFIG_DT_HAS_SOC_NV_FLASH_ENABLED=y
    CONFIG_DT_HAS_ZEPHYR_BT_HCI_ENTROPY_ENABLED=y
    # end of Devicetree Info
    
    #
    # Modules
    #
    
    #
    # Available modules.
    #
    
    #
    # nrf (/home/rehab/ncs/v2.9.0/nrf)
    #
    CONFIG_NUM_METAIRQ_PRIORITIES=0
    CONFIG_MPSL_WORK_STACK_SIZE=1024
    
    #
    # Nordic nRF Connect
    #
    CONFIG_HIDE_CHILD_PARENT_CONFIG=y
    CONFIG_WARN_EXPERIMENTAL=y
    CONFIG_INIT_ARCH_HW_AT_BOOT=y
    CONFIG_NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE=4096
    # CONFIG_GETOPT is not set
    # CONFIG_NCS_SAMPLES_DEFAULTS is not set
    
    #
    # Image build variants
    #
    # CONFIG_NCS_MCUBOOT_IN_BUILD is not set
    # end of Image build variants
    
    #
    # Subsystems
    #
    
    #
    # Bootloader
    #
    # CONFIG_BUILD_S1_VARIANT is not set
    # CONFIG_SECURE_BOOT is not set
    CONFIG_PM_PARTITION_SIZE_PROVISION=0x1000
    # CONFIG_B0_MIN_PARTITION_SIZE is not set
    CONFIG_PM_PARTITION_SIZE_B0_IMAGE=0x8000
    # CONFIG_IS_SECURE_BOOTLOADER is not set
    
    #
    # Secure Boot firmware validation
    #
    CONFIG_SB_VALIDATION_INFO_MAGIC=0x86518483
    CONFIG_SB_VALIDATION_POINTER_MAGIC=0x6919b47e
    CONFIG_SB_VALIDATION_INFO_CRYPTO_ID=1
    CONFIG_SB_VALIDATION_INFO_VERSION=2
    CONFIG_SB_VALIDATION_METADATA_OFFSET=0
    CONFIG_SB_VALIDATE_FW_SIGNATURE=y
    # end of Secure Boot firmware validation
    
    # CONFIG_SECURE_BOOT_STORAGE is not set
    # CONFIG_MCUBOOT_COMPRESSED_IMAGE_SUPPORT_ENABLED is not set
    # CONFIG_MCUBOOT_BOOTLOADER_SIGNATURE_TYPE_ED25519 is not set
    # CONFIG_MCUBOOT_BOOTLOADER_SIGNATURE_TYPE_PURE is not set
    # end of Bootloader
    
    #
    # Bluetooth Low Energy
    #
    CONFIG_SYSTEM_WORKQUEUE_PRIORITY=-1
    
    #
    # BLE over nRF RPC
    #
    CONFIG_HEAP_MEM_POOL_SIZE=0
    # end of BLE over nRF RPC
    # end of Bluetooth Low Energy
    
    #
    # DFU
    #
    # CONFIG_DFU_MULTI_IMAGE is not set
    # CONFIG_DFU_TARGET is not set
    # end of DFU
    
    # CONFIG_ESB is not set
    
    #
    # Peripheral CPU DFU (PCD)
    #
    # CONFIG_PCD is not set
    # CONFIG_PCD_APP is not set
    CONFIG_PCD_VERSION_PAGE_BUF_SIZE=2046
    # CONFIG_PCD_NET is not set
    # end of Peripheral CPU DFU (PCD)
    
    #
    # Networking
    #
    
    #
    # Application protocols
    #
    
    #
    # nRF Cloud
    #
    
    #
    # Transport
    #
    # CONFIG_NRF_CLOUD_REST is not set
    # end of Transport
    
    #
    # Credentials
    #
    CONFIG_NRF_CLOUD_SEC_TAG=16842753
    CONFIG_NRF_CLOUD_AWS_CA_CERT_SIZE_THRESHOLD=1150
    CONFIG_NRF_CLOUD_COAP_CA_CERT_SIZE_THRESHOLD=550
    # end of Credentials
    
    #
    # Client ID (nRF Cloud Device ID)
    #
    CONFIG_NRF_CLOUD_CLIENT_ID_SRC_COMPILE_TIME=y
    # CONFIG_NRF_CLOUD_CLIENT_ID_SRC_RUNTIME is not set
    CONFIG_NRF_CLOUD_CLIENT_ID="my-client-id"
    # end of Client ID (nRF Cloud Device ID)
    
    #
    # Firmware Over-the-Air (FOTA) Updates
    #
    # CONFIG_NRF_CLOUD_FOTA is not set
    CONFIG_FOTA_USE_NRF_CLOUD_SETTINGS_AREA=y
    # CONFIG_NRF_CLOUD_FOTA_FULL_MODEM_UPDATE is not set
    # CONFIG_NRF_CLOUD_FOTA_SMP is not set
    # end of Firmware Over-the-Air (FOTA) Updates
    
    #
    # Location
    #
    
    #
    # Cellular/Wi-Fi
    #
    # CONFIG_NRF_CLOUD_LOCATION_PARSE_ANCHORS is not set
    # CONFIG_NRF_CLOUD_WIFI_LOCATION_ENCODE_OPT_MAC_ONLY is not set
    CONFIG_NRF_CLOUD_WIFI_LOCATION_ENCODE_OPT_MAC_RSSI=y
    # CONFIG_NRF_CLOUD_WIFI_LOCATION_ENCODE_OPT_ALL is not set
    # end of Cellular/Wi-Fi
    # end of Location
    
    #
    # Alerts
    #
    # CONFIG_NRF_CLOUD_ALERT is not set
    # end of Alerts
    
    #
    # Logging
    #
    CONFIG_NRF_CLOUD_LOG_OUTPUT_LEVEL=1
    # CONFIG_NRF_CLOUD_LOG_INCLUDE_LEVEL_0 is not set
    CONFIG_NRF_CLOUD_LOG_BUF_SIZE=256
    # end of Logging
    
    #
    # Device Shadow
    #
    
    #
    # Send shadow info sections on initial connect (MQTT/CoAP)
    #
    # end of Send shadow info sections on initial connect (MQTT/CoAP)
    # end of Device Shadow
    
    CONFIG_NRF_CLOUD_PRINT_DETAILS=y
    CONFIG_NRF_CLOUD_VERBOSE_DETAILS=y
    # CONFIG_NRF_CLOUD_GATEWAY is not set
    # end of nRF Cloud
    
    # CONFIG_REST_CLIENT is not set
    # CONFIG_DOWNLOAD_CLIENT is not set
    # CONFIG_AWS_IOT is not set
    # CONFIG_AWS_JOBS is not set
    # CONFIG_AZURE_IOT_HUB is not set
    
    #
    # Self-Registration (Zi ZHu Ce)
    #
    # end of Self-Registration (Zi ZHu Ce)
    
    # CONFIG_ICAL_PARSER is not set
    # CONFIG_FTP_CLIENT is not set
    # CONFIG_LWM2M_CLIENT_UTILS is not set
    # CONFIG_WIFI_CREDENTIALS is not set
    # CONFIG_WIFI_CREDENTIALS_STATIC is not set
    # CONFIG_MQTT_HELPER is not set
    # CONFIG_NRF_MCUMGR_SMP_CLIENT is not set
    # end of Application protocols
    
    # CONFIG_OPENTHREAD_RPC is not set
    # end of Networking
    
    #
    # NFC
    #
    # CONFIG_NFC_NDEF is not set
    # CONFIG_NFC_NDEF_PARSER is not set
    # CONFIG_NFC_NDEF_PAYLOAD_TYPE_COMMON is not set
    # CONFIG_NFC_T2T_PARSER is not set
    # CONFIG_NFC_T4T_NDEF_FILE is not set
    # CONFIG_NFC_T4T_ISODEP is not set
    # CONFIG_NFC_T4T_APDU is not set
    # CONFIG_NFC_T4T_CC_FILE is not set
    # CONFIG_NFC_T4T_HL_PROCEDURE is not set
    # CONFIG_NFC_PLATFORM is not set
    # CONFIG_NFC_TNEP_TAG is not set
    # CONFIG_NFC_TNEP_POLLER is not set
    # CONFIG_NFC_TNEP_CH is not set
    # CONFIG_NFC_RPC is not set
    # end of NFC
    
    # CONFIG_APP_EVENT_MANAGER is not set
    # CONFIG_NRF_PROFILER is not set
    # CONFIG_FW_INFO is not set
    
    #
    # Debug
    #
    # CONFIG_CPU_LOAD is not set
    # CONFIG_PPI_TRACE is not set
    # end of Debug
    
    #
    # Multiprotocol service layer (MPSL)
    #
    # CONFIG_MPSL_FEM_ONLY is not set
    # CONFIG_MPSL_FEM_DEVICE_CONFIG_254 is not set
    CONFIG_MPSL_THREAD_COOP_PRIO=8
    CONFIG_MPSL_TIMESLOT_SESSION_COUNT=0
    # CONFIG_MPSL_ASSERT_HANDLER is not set
    CONFIG_MPSL_LOW_PRIO_IRQN=25
    CONFIG_MPSL_HFCLK_LATENCY=1400
    # CONFIG_MPSL_PIN_DEBUG is not set
    # end of Multiprotocol service layer (MPSL)
    
    #
    # Partition Manager
    #
    CONFIG_PARTITION_MANAGER_ENABLED=y
    CONFIG_FLASH_MAP_CUSTOM=y
    CONFIG_SRAM_SIZE=256
    CONFIG_SRAM_BASE_ADDRESS=0x20000000
    
    #
    # Zephyr subsystem configurations
    #
    # end of Zephyr subsystem configurations
    
    #
    # NCS subsystem configurations
    #
    # CONFIG_PM_SINGLE_IMAGE is not set
    CONFIG_PM_EXTERNAL_FLASH_BASE=0
    CONFIG_PM_EXTERNAL_FLASH_PATH=""
    CONFIG_PM_EXTERNAL_FLASH_SIZE_BITS=0
    # CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK is not set
    CONFIG_PM_SRAM_BASE=0x20000000
    CONFIG_PM_SRAM_SIZE=0x40000
    # end of Partition Manager
    
    #
    # nRF RPC (Remote Procedure Call) library
    #
    # end of nRF RPC (Remote Procedure Call) library
    
    # CONFIG_ZIGBEE is not set
    
    #
    # Full Modem Firmware Update Management(FMFU)
    #
    # end of Full Modem Firmware Update Management(FMFU)
    
    # CONFIG_CAF is not set
    
    #
    # Nordic IEEE 802.15.4
    #
    # end of Nordic IEEE 802.15.4
    
    # CONFIG_DM_MODULE is not set
    
    #
    # nRF Security
    #
    # CONFIG_NORDIC_SECURITY_BACKEND is not set
    # CONFIG_NRF_SECURITY is not set
    
    #
    # Nordic-added meta types
    #
    
    #
    # Nordic added alg types
    #
    # CONFIG_PSA_WANT_ALG_ECDSA_ANY is not set
    # CONFIG_PSA_WANT_ALG_ED25519PH is not set
    # CONFIG_PSA_WANT_ALG_ED448PH is not set
    # CONFIG_PSA_WANT_ALG_PURE_EDDSA is not set
    # CONFIG_PSA_WANT_ALG_RSA_PKCS1V15_SIGN_RAW is not set
    # CONFIG_PSA_WANT_ALG_RSA_PSS_ANY_SALT is not set
    # CONFIG_PSA_WANT_ALG_SHA_512_224 is not set
    # CONFIG_PSA_WANT_ALG_SHA_512_256 is not set
    # CONFIG_PSA_WANT_ALG_SPAKE2P_HMAC is not set
    # CONFIG_PSA_WANT_ALG_SPAKE2P_CMAC is not set
    # CONFIG_PSA_WANT_ALG_SPAKE2P_MATTER is not set
    # CONFIG_PSA_WANT_ALG_SRP_6 is not set
    # CONFIG_PSA_WANT_ALG_SRP_PASSWORD_HASH is not set
    # CONFIG_PSA_WANT_ALG_XTS is not set
    
    #
    # Nordic added ECC curve types
    #
    # CONFIG_PSA_WANT_ECC_BRAINPOOL_P_R1_160 is not set
    # CONFIG_PSA_WANT_ECC_BRAINPOOL_P_R1_192 is not set
    # CONFIG_PSA_WANT_ECC_BRAINPOOL_P_R1_224 is not set
    # CONFIG_PSA_WANT_ECC_BRAINPOOL_P_R1_320 is not set
    # CONFIG_PSA_WANT_ECC_TWISTED_EDWARDS_255 is not set
    # CONFIG_PSA_WANT_ECC_TWISTED_EDWARDS_448 is not set
    # CONFIG_PSA_WANT_ECC_SECP_K1_224 is not set
    # CONFIG_PSA_WANT_ECC_SECP_R2_160 is not set
    # CONFIG_PSA_WANT_ECC_SECT_K1_163 is not set
    # CONFIG_PSA_WANT_ECC_SECT_K1_233 is not set
    # CONFIG_PSA_WANT_ECC_SECT_K1_239 is not set
    # CONFIG_PSA_WANT_ECC_SECT_K1_283 is not set
    # CONFIG_PSA_WANT_ECC_SECT_K1_409 is not set
    # CONFIG_PSA_WANT_ECC_SECT_K1_571 is not set
    # CONFIG_PSA_WANT_ECC_SECT_R1_163 is not set
    # CONFIG_PSA_WANT_ECC_SECT_R1_233 is not set
    # CONFIG_PSA_WANT_ECC_SECT_R1_283 is not set
    # CONFIG_PSA_WANT_ECC_SECT_R1_409 is not set
    # CONFIG_PSA_WANT_ECC_SECT_R1_571 is not set
    # CONFIG_PSA_WANT_ECC_SECT_R2_163 is not set
    # CONFIG_PSA_WANT_ECC_FRP_V1_256 is not set
    # CONFIG_PSA_WANT_ALG_CHACHA20 is not set
    # CONFIG_PSA_WANT_ALG_SHAKE256_512 is not set
    
    #
    # Nordic addded RNG configuration
    #
    # CONFIG_PSA_WANT_GENERATE_RANDOM is not set
    
    #
    # Nordic added key types
    #
    # CONFIG_PSA_WANT_KEY_TYPE_PEPPER is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SPAKE2P_KEY_PAIR_IMPORT is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SPAKE2P_KEY_PAIR_EXPORT is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SPAKE2P_KEY_PAIR_GENERATE is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SPAKE2P_KEY_PAIR_DERIVE is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SPAKE2P_PUBLIC_KEY is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SRP_KEY_PAIR_IMPORT is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SRP_KEY_PAIR_EXPORT is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SRP_KEY_PAIR_GENERATE is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SRP_KEY_PAIR_DERIVE is not set
    # CONFIG_PSA_WANT_KEY_TYPE_SRP_PUBLIC_KEY is not set
    # end of nRF Security
    
    #
    # Audio Modules
    #
    # CONFIG_AUDIO_MODULE_TEST is not set
    CONFIG_AUDIO_MODULE_NAME_SIZE=20
    
    #
    # Log levels
    #
    # end of Log levels
    # end of Audio Modules
    
    #
    # Audio Modules
    #
    # CONFIG_AUDIO_MODULE_TEMPLATE is not set
    # end of Audio Modules
    
    # CONFIG_UART_ASYNC_ADAPTER is not set
    # CONFIG_TRUSTED_STORAGE is not set
    
    #
    # Logging over RPC
    #
    # end of Logging over RPC
    
    #
    # SUIT provisioning
    #
    # CONFIG_SUIT_MPI_GENERATE is not set
    # end of SUIT provisioning
    
    # CONFIG_SUIT is not set
    # CONFIG_NRF_COMPRESS is not set
    
    #
    # MCUboot IDs (informative only, do not change)
    #
    CONFIG_MCUBOOT_APPLICATION_IMAGE_NUMBER=-1
    CONFIG_MCUBOOT_NETWORK_CORE_IMAGE_NUMBER=-1
    CONFIG_MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER=-1
    CONFIG_MCUBOOT_QSPI_XIP_IMAGE_NUMBER=-1
    CONFIG_MCUBOOT_MCUBOOT_IMAGE_NUMBER=-1
    # end of MCUboot IDs (informative only, do not change)
    # end of Subsystems
    
    # CONFIG_WFA_QT_CONTROL_APP is not set
    CONFIG_WFA_QT_THREAD_STACK_SIZE=5200
    CONFIG_WFA_QT_REBOOT_TIMEOUT_MS=1000
    CONFIG_WFA_QT_DEFAULT_INTERFACE="wlan0"
    CONFIG_WPAS_READY_TIMEOUT_MS=10000
    
    #
    # Libraries
    #
    
    #
    # Binary libraries
    #
    # end of Binary libraries
    
    # CONFIG_AT_MONITOR is not set
    # CONFIG_LTE_LINK_CONTROL is not set
    CONFIG_NRF_ACL_FLASH_REGION_SIZE=0x1000
    CONFIG_FPROTECT_BLOCK_SIZE=0x1000
    # CONFIG_FPROTECT is not set
    # CONFIG_AT_CMD_CUSTOM is not set
    # CONFIG_DK_LIBRARY is not set
    # CONFIG_AT_CMD_PARSER is not set
    # CONFIG_AT_PARSER is not set
    # CONFIG_MODEM_INFO is not set
    # CONFIG_RESET_ON_FATAL_ERROR is not set
    # CONFIG_SMS is not set
    # CONFIG_DATE_TIME is not set
    # CONFIG_HW_ID_LIBRARY is not set
    # CONFIG_RAM_POWER_DOWN_LIBRARY is not set
    # CONFIG_WAVE_GEN_LIB is not set
    # CONFIG_HW_UNIQUE_KEY_LOAD is not set
    CONFIG_HW_UNIQUE_KEY_SUPPORTED=y
    CONFIG_HW_UNIQUE_KEY_PARTITION_SIZE=0x1000
    # CONFIG_MODEM_JWT is not set
    # CONFIG_LOCATION is not set
    # CONFIG_QOS is not set
    # CONFIG_SFLOAT is not set
    # CONFIG_CONTIN_ARRAY is not set
    # CONFIG_PCM_MIX is not set
    # CONFIG_TONE is not set
    # CONFIG_PSCM is not set
    # CONFIG_DATA_FIFO is not set
    # CONFIG_FEM_AL_LIB is not set
    # CONFIG_SAMPLE_RATE_CONVERTER is not set
    CONFIG_NCS_BOOT_BANNER=y
    CONFIG_NCS_NCS_BOOT_BANNER_STRING="nRF Connect SDK"
    CONFIG_NCS_ZEPHYR_BOOT_BANNER_STRING="Zephyr OS"
    # end of Libraries
    
    #
    # Device Drivers
    #
    # CONFIG_BT_DRIVER_QUIRK_NO_AUTO_DLE is not set
    # CONFIG_FLASH_RPC is not set
    CONFIG_HW_CC3XX=y
    # CONFIG_ETH_RTT is not set
    # CONFIG_SENSOR is not set
    # CONFIG_NRF_SW_LPUART is not set
    CONFIG_NRFX_GPIOTE_NUM_OF_EVT_HANDLERS=1
    # end of Device Drivers
    
    #
    # External libraries
    #
    # end of External libraries
    
    #
    # Test
    #
    CONFIG_ZTEST_MULTICORE_DEFAULT_SETTINGS=y
    # CONFIG_UNITY is not set
    
    #
    # Mocks
    #
    # CONFIG_MOCK_NRF_MODEM_AT is not set
    # CONFIG_MOCK_NRF_RPC is not set
    # end of Mocks
    # end of Test
    # end of Nordic nRF Connect
    
    CONFIG_ZEPHYR_NRF_MODULE=y
    # end of nrf (/home/rehab/ncs/v2.9.0/nrf)
    
    #
    # mcuboot (/home/rehab/ncs/v2.9.0/bootloader/mcuboot)
    #
    
    #
    # MCUboot
    #
    CONFIG_BOOT_SIGNATURE_KEY_FILE=""
    CONFIG_DT_FLASH_WRITE_BLOCK_SIZE=4
    CONFIG_MCUBOOT_USB_SUPPORT=y
    # CONFIG_USE_NRF53_MULTI_IMAGE_WITHOUT_UPGRADE_ONLY is not set
    # end of MCUboot
    
    CONFIG_ZEPHYR_MCUBOOT_MODULE=y
    # end of mcuboot (/home/rehab/ncs/v2.9.0/bootloader/mcuboot)
    
    #
    # mbedtls (/home/rehab/ncs/v2.9.0/modules/crypto/mbedtls)
    #
    CONFIG_ZEPHYR_MBEDTLS_MODULE=y
    # end of mbedtls (/home/rehab/ncs/v2.9.0/modules/crypto/mbedtls)
    
    #
    # oberon-psa-crypto (/home/rehab/ncs/v2.9.0/modules/crypto/oberon-psa-crypto)
    #
    CONFIG_ZEPHYR_OBERON_PSA_CRYPTO_MODULE=y
    # end of oberon-psa-crypto (/home/rehab/ncs/v2.9.0/modules/crypto/oberon-psa-crypto)
    
    #
    # trusted-firmware-m (/home/rehab/ncs/v2.9.0/modules/tee/tf-m/trusted-firmware-m)
    #
    # CONFIG_BOOTLOADER_MCUBOOT is not set
    CONFIG_ZEPHYR_TRUSTED_FIRMWARE_M_MODULE=y
    # end of trusted-firmware-m (/home/rehab/ncs/v2.9.0/modules/tee/tf-m/trusted-firmware-m)
    
    CONFIG_ZEPHYR_PSA_ARCH_TESTS_MODULE=y
    CONFIG_ZEPHYR_SOC_HWMV1_MODULE=y
    
    #
    # cjson (/home/rehab/ncs/v2.9.0/modules/lib/cjson)
    #
    # CONFIG_CJSON_LIB is not set
    CONFIG_ZEPHYR_CJSON_MODULE=y
    # end of cjson (/home/rehab/ncs/v2.9.0/modules/lib/cjson)
    
    #
    # azure-sdk-for-c (/home/rehab/ncs/v2.9.0/modules/lib/azure-sdk-for-c)
    #
    # CONFIG_AZURE_SDK is not set
    CONFIG_ZEPHYR_AZURE_SDK_FOR_C_MODULE=y
    # end of azure-sdk-for-c (/home/rehab/ncs/v2.9.0/modules/lib/azure-sdk-for-c)
    
    #
    # cirrus-logic (/home/rehab/ncs/v2.9.0/modules/hal/cirrus-logic)
    #
    # CONFIG_HW_CODEC_CIRRUS_LOGIC is not set
    CONFIG_ZEPHYR_CIRRUS_LOGIC_MODULE=y
    # end of cirrus-logic (/home/rehab/ncs/v2.9.0/modules/hal/cirrus-logic)
    
    #
    # openthread (/home/rehab/ncs/v2.9.0/modules/lib/openthread)
    #
    # CONFIG_OPENTHREAD is not set
    CONFIG_ZEPHYR_OPENTHREAD_MODULE=y
    # end of openthread (/home/rehab/ncs/v2.9.0/modules/lib/openthread)
    
    #
    # suit-generator (/home/rehab/ncs/v2.9.0/modules/lib/suit-generator)
    #
    CONFIG_SUIT_ENVELOPE_TEMPLATE_FILENAME=""
    CONFIG_SUIT_ENVELOPE_TARGET=""
    CONFIG_SUIT_ENVELOPE_OUTPUT_ARTIFACT="merged.hex"
    # CONFIG_SUIT_RECOVERY is not set
    CONFIG_SUIT_ENVELOPE_OUTPUT_MPI_MERGE=y
    # CONFIG_SUIT_LOCAL_ENVELOPE_GENERATE is not set
    # CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE is not set
    CONFIG_ZEPHYR_SUIT_GENERATOR_MODULE=y
    # end of suit-generator (/home/rehab/ncs/v2.9.0/modules/lib/suit-generator)
    
    #
    # suit-processor (/home/rehab/ncs/v2.9.0/modules/lib/suit-processor)
    #
    # CONFIG_SUIT_PROCESSOR is not set
    CONFIG_SUIT_PLATFORM_DRY_RUN_SUPPORT=y
    CONFIG_ZEPHYR_SUIT_PROCESSOR_MODULE=y
    # end of suit-processor (/home/rehab/ncs/v2.9.0/modules/lib/suit-processor)
    
    #
    # memfault-firmware-sdk (/home/rehab/ncs/v2.9.0/modules/lib/memfault-firmware-sdk)
    #
    # CONFIG_MEMFAULT is not set
    CONFIG_ZEPHYR_MEMFAULT_FIRMWARE_SDK_MODULE=y
    # end of memfault-firmware-sdk (/home/rehab/ncs/v2.9.0/modules/lib/memfault-firmware-sdk)
    
    #
    # coremark (/home/rehab/ncs/v2.9.0/modules/benchmark/coremark)
    #
    # CONFIG_COREMARK is not set
    CONFIG_ZEPHYR_COREMARK_MODULE=y
    # end of coremark (/home/rehab/ncs/v2.9.0/modules/benchmark/coremark)
    
    #
    # canopennode (/home/rehab/ncs/v2.9.0/modules/lib/canopennode)
    #
    CONFIG_ZEPHYR_CANOPENNODE_MODULE=y
    # end of canopennode (/home/rehab/ncs/v2.9.0/modules/lib/canopennode)
    
    #
    # chre (/home/rehab/ncs/v2.9.0/modules/lib/chre)
    #
    CONFIG_ZEPHYR_CHRE_MODULE=y
    # CONFIG_CHRE is not set
    # end of chre (/home/rehab/ncs/v2.9.0/modules/lib/chre)
    
    #
    # lz4 (/home/rehab/ncs/v2.9.0/modules/lib/lz4)
    #
    CONFIG_ZEPHYR_LZ4_MODULE=y
    # CONFIG_LZ4 is not set
    # end of lz4 (/home/rehab/ncs/v2.9.0/modules/lib/lz4)
    
    #
    # nanopb (/home/rehab/ncs/v2.9.0/modules/lib/nanopb)
    #
    CONFIG_ZEPHYR_NANOPB_MODULE=y
    # CONFIG_NANOPB is not set
    # end of nanopb (/home/rehab/ncs/v2.9.0/modules/lib/nanopb)
    
    CONFIG_ZEPHYR_TF_M_TESTS_MODULE=y
    
    #
    # zscilib (/home/rehab/ncs/v2.9.0/modules/lib/zscilib)
    #
    # CONFIG_ZSL is not set
    CONFIG_ZEPHYR_ZSCILIB_MODULE=y
    # end of zscilib (/home/rehab/ncs/v2.9.0/modules/lib/zscilib)
    
    #
    # cmsis (/home/rehab/ncs/v2.9.0/modules/hal/cmsis)
    #
    CONFIG_ZEPHYR_CMSIS_MODULE=y
    CONFIG_HAS_CMSIS_CORE=y
    CONFIG_HAS_CMSIS_CORE_M=y
    # CONFIG_CMSIS_M_CHECK_DEVICE_DEFINES is not set
    # end of cmsis (/home/rehab/ncs/v2.9.0/modules/hal/cmsis)
    
    #
    # cmsis-dsp (/home/rehab/ncs/v2.9.0/modules/lib/cmsis-dsp)
    #
    CONFIG_ZEPHYR_CMSIS_DSP_MODULE=y
    # CONFIG_CMSIS_DSP is not set
    # end of cmsis-dsp (/home/rehab/ncs/v2.9.0/modules/lib/cmsis-dsp)
    
    #
    # cmsis-nn (/home/rehab/ncs/v2.9.0/modules/lib/cmsis-nn)
    #
    CONFIG_ZEPHYR_CMSIS_NN_MODULE=y
    # CONFIG_CMSIS_NN is not set
    # end of cmsis-nn (/home/rehab/ncs/v2.9.0/modules/lib/cmsis-nn)
    
    #
    # fatfs (/home/rehab/ncs/v2.9.0/modules/fs/fatfs)
    #
    CONFIG_ZEPHYR_FATFS_MODULE=y
    # end of fatfs (/home/rehab/ncs/v2.9.0/modules/fs/fatfs)
    
    #
    # hal_nordic (/home/rehab/ncs/v2.9.0/modules/hal/nordic)
    #
    CONFIG_ZEPHYR_HAL_NORDIC_MODULE=y
    CONFIG_HAS_NORDIC_DRIVERS=y
    
    #
    # Nordic drivers
    #
    # CONFIG_NRF_802154_SOURCE_HAL_NORDIC is not set
    # CONFIG_NRF_802154_RADIO_DRIVER is not set
    # CONFIG_NRF_802154_SER_RADIO is not set
    # end of Nordic drivers
    
    CONFIG_HAS_NRFX=y
    
    #
    # nrfx drivers
    #
    CONFIG_NRFX_CLOCK=y
    CONFIG_NRFX_CLOCK_LFXO_TWO_STAGE_ENABLED=y
    # CONFIG_NRFX_COMP is not set
    # CONFIG_NRFX_EGU0 is not set
    # CONFIG_NRFX_EGU1 is not set
    # CONFIG_NRFX_EGU2 is not set
    # CONFIG_NRFX_EGU3 is not set
    # CONFIG_NRFX_EGU4 is not set
    # CONFIG_NRFX_EGU5 is not set
    CONFIG_NRFX_GPIOTE=y
    CONFIG_NRFX_GPIOTE0=y
    CONFIG_NRFX_GPPI=y
    # CONFIG_NRFX_I2S0 is not set
    # CONFIG_NRFX_NFCT is not set
    # CONFIG_NRFX_NVMC is not set
    # CONFIG_NRFX_PDM0 is not set
    # CONFIG_NRFX_POWER is not set
    CONFIG_NRFX_PPI=y
    # CONFIG_NRFX_PWM0 is not set
    # CONFIG_NRFX_PWM1 is not set
    # CONFIG_NRFX_PWM2 is not set
    # CONFIG_NRFX_PWM3 is not set
    # CONFIG_NRFX_QDEC0 is not set
    # CONFIG_NRFX_QSPI is not set
    # CONFIG_NRFX_RNG is not set
    # CONFIG_NRFX_RTC0 is not set
    # CONFIG_NRFX_RTC1 is not set
    # CONFIG_NRFX_RTC2 is not set
    # CONFIG_NRFX_SAADC is not set
    # CONFIG_NRFX_SPI1 is not set
    # CONFIG_NRFX_SPI2 is not set
    CONFIG_NRFX_SPIM=y
    CONFIG_NRFX_SPIM0=y
    # CONFIG_NRFX_SPIM3 is not set
    # CONFIG_NRFX_SYSTICK is not set
    # CONFIG_NRFX_TEMP is not set
    # CONFIG_NRFX_TIMER0 is not set
    # CONFIG_NRFX_TIMER1 is not set
    # CONFIG_NRFX_TIMER2 is not set
    # CONFIG_NRFX_TIMER3 is not set
    # CONFIG_NRFX_TIMER4 is not set
    # CONFIG_NRFX_TWI0 is not set
    # CONFIG_NRFX_TWI1 is not set
    # CONFIG_NRFX_UARTE0 is not set
    # CONFIG_NRFX_UARTE1 is not set
    # CONFIG_NRFX_WDT0 is not set
    
    #
    # Peripheral Resource Sharing module
    #
    # CONFIG_NRFX_PRS_BOX_0 is not set
    # CONFIG_NRFX_PRS_BOX_1 is not set
    # CONFIG_NRFX_PRS_BOX_2 is not set
    # CONFIG_NRFX_PRS_BOX_3 is not set
    # CONFIG_NRFX_PRS_BOX_4 is not set
    # end of Peripheral Resource Sharing module
    
    CONFIG_NRFX_RESERVED_RESOURCES_HEADER="nrfx_config_reserved_resources_ncs.h"
    # end of nrfx drivers
    # end of hal_nordic (/home/rehab/ncs/v2.9.0/modules/hal/nordic)
    
    #
    # hal_st (/home/rehab/ncs/v2.9.0/modules/hal/st)
    #
    CONFIG_ZEPHYR_HAL_ST_MODULE=y
    # end of hal_st (/home/rehab/ncs/v2.9.0/modules/hal/st)
    
    CONFIG_ZEPHYR_HAL_WURTHELEKTRONIK_MODULE=y
    
    #
    # hostap (/home/rehab/ncs/v2.9.0/modules/lib/hostap)
    #
    # CONFIG_WIFI_NM_WPA_SUPPLICANT is not set
    CONFIG_ZEPHYR_HOSTAP_MODULE=y
    # end of hostap (/home/rehab/ncs/v2.9.0/modules/lib/hostap)
    
    CONFIG_ZEPHYR_LIBMETAL_MODULE=y
    
    #
    # liblc3 (/home/rehab/ncs/v2.9.0/modules/lib/liblc3)
    #
    CONFIG_ZEPHYR_LIBLC3_MODULE=y
    # CONFIG_LIBLC3 is not set
    # end of liblc3 (/home/rehab/ncs/v2.9.0/modules/lib/liblc3)
    
    #
    # littlefs (/home/rehab/ncs/v2.9.0/modules/fs/littlefs)
    #
    CONFIG_ZEPHYR_LITTLEFS_MODULE=y
    # end of littlefs (/home/rehab/ncs/v2.9.0/modules/fs/littlefs)
    
    #
    # loramac-node (/home/rehab/ncs/v2.9.0/modules/lib/loramac-node)
    #
    CONFIG_ZEPHYR_LORAMAC_NODE_MODULE=y
    # CONFIG_HAS_SEMTECH_RADIO_DRIVERS is not set
    # end of loramac-node (/home/rehab/ncs/v2.9.0/modules/lib/loramac-node)
    
    #
    # lvgl (/home/rehab/ncs/v2.9.0/modules/lib/gui/lvgl)
    #
    CONFIG_ZEPHYR_LVGL_MODULE=y
    # end of lvgl (/home/rehab/ncs/v2.9.0/modules/lib/gui/lvgl)
    
    CONFIG_ZEPHYR_MIPI_SYS_T_MODULE=y
    
    #
    # nrf_wifi (/home/rehab/ncs/v2.9.0/modules/lib/nrf_wifi)
    #
    CONFIG_ZEPHYR_NRF_WIFI_MODULE=y
    # CONFIG_NRF70_BUSLIB is not set
    # end of nrf_wifi (/home/rehab/ncs/v2.9.0/modules/lib/nrf_wifi)
    
    CONFIG_ZEPHYR_OPEN_AMP_MODULE=y
    
    #
    # picolibc (/home/rehab/ncs/v2.9.0/modules/lib/picolibc)
    #
    # CONFIG_PICOLIBC_MODULE is not set
    CONFIG_ZEPHYR_PICOLIBC_MODULE=y
    # end of picolibc (/home/rehab/ncs/v2.9.0/modules/lib/picolibc)
    
    #
    # segger (/home/rehab/ncs/v2.9.0/modules/debug/segger)
    #
    CONFIG_ZEPHYR_SEGGER_MODULE=y
    CONFIG_HAS_SEGGER_RTT=y
    CONFIG_USE_SEGGER_RTT=y
    # CONFIG_SEGGER_RTT_CUSTOM_LOCKING is not set
    CONFIG_SEGGER_RTT_MAX_NUM_UP_BUFFERS=3
    CONFIG_SEGGER_RTT_MAX_NUM_DOWN_BUFFERS=3
    CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=1024
    CONFIG_SEGGER_RTT_BUFFER_SIZE_DOWN=16
    CONFIG_SEGGER_RTT_PRINTF_BUFFER_SIZE=64
    CONFIG_SEGGER_RTT_MODE_NO_BLOCK_SKIP=y
    # CONFIG_SEGGER_RTT_MODE_NO_BLOCK_TRIM is not set
    # CONFIG_SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL is not set
    CONFIG_SEGGER_RTT_MODE=0
    # CONFIG_SEGGER_RTT_MEMCPY_USE_BYTELOOP is not set
    # CONFIG_SEGGER_RTT_SECTION_NONE is not set
    # CONFIG_SEGGER_RTT_SECTION_DTCM is not set
    # CONFIG_SEGGER_RTT_SECTION_CCM is not set
    CONFIG_SEGGER_RTT_SECTION_CUSTOM=y
    # CONFIG_SEGGER_RTT_SECTION_CUSTOM_DTS_REGION is not set
    CONFIG_SEGGER_RTT_SECTION_CUSTOM_NAME=".rtt_buff_data"
    # CONFIG_SEGGER_RTT_INIT_MODE_ALWAYS is not set
    CONFIG_SEGGER_RTT_INIT_MODE_STRONG_CHECK=y
    # CONFIG_SEGGER_RTT_INIT_MODE_WEAK_CHECK is not set
    # end of segger (/home/rehab/ncs/v2.9.0/modules/debug/segger)
    
    CONFIG_ZEPHYR_TINYCRYPT_MODULE=y
    
    #
    # uoscore-uedhoc (/home/rehab/ncs/v2.9.0/modules/lib/uoscore-uedhoc)
    #
    CONFIG_ZEPHYR_UOSCORE_UEDHOC_MODULE=y
    # end of uoscore-uedhoc (/home/rehab/ncs/v2.9.0/modules/lib/uoscore-uedhoc)
    
    #
    # zcbor (/home/rehab/ncs/v2.9.0/modules/lib/zcbor)
    #
    CONFIG_ZEPHYR_ZCBOR_MODULE=y
    # CONFIG_ZCBOR is not set
    # end of zcbor (/home/rehab/ncs/v2.9.0/modules/lib/zcbor)
    
    #
    # nrfxlib (/home/rehab/ncs/v2.9.0/nrfxlib)
    #
    
    #
    # Nordic nrfxlib
    #
    
    #
    # nrf_modem (Modem library)
    #
    CONFIG_NRF_MODEM_SHMEM_CTRL_SIZE=0x4e8
    # end of nrf_modem (Modem library)
    
    # CONFIG_NFC_T2T_NRFXLIB is not set
    # CONFIG_NFC_T4T_NRFXLIB is not set
    # CONFIG_MPSL is not set
    
    #
    # Crypto libraries for nRF5x SOCs.
    #
    CONFIG_NRFXLIB_CRYPTO=y
    CONFIG_HAS_HW_NRF_CC3XX=y
    # CONFIG_NRF_OBERON is not set
    # CONFIG_NRF_CC310_BL is not set
    CONFIG_NRF_CC3XX_PLATFORM=y
    CONFIG_CC3XX_MUTEX_LOCK=y
    # CONFIG_CC3XX_ATOMIC_LOCK is not set
    # end of Crypto libraries for nRF5x SOCs.
    
    # CONFIG_NRF_RPC is not set
    CONFIG_NRF_802154_SOURCE_NRFXLIB=y
    # CONFIG_GZLL is not set
    # CONFIG_NRF_DM is not set
    # CONFIG_SW_CODEC_LC3_T2_SOFTWARE is not set
    # CONFIG_NRF_FUEL_GAUGE is not set
    # end of Nordic nrfxlib
    
    CONFIG_ZEPHYR_NRFXLIB_MODULE=y
    # end of nrfxlib (/home/rehab/ncs/v2.9.0/nrfxlib)
    
    CONFIG_ZEPHYR_NRF_HW_MODELS_MODULE=y
    
    #
    # connectedhomeip (/home/rehab/ncs/v2.9.0/modules/lib/matter)
    #
    # CONFIG_CHIP is not set
    CONFIG_ZEPHYR_CONNECTEDHOMEIP_MODULE=y
    # end of connectedhomeip (/home/rehab/ncs/v2.9.0/modules/lib/matter)
    
    # CONFIG_LIBMETAL is not set
    # CONFIG_LVGL is not set
    # CONFIG_HAS_MEC_HAL is not set
    # CONFIG_HAS_MPFS_HAL is not set
    # CONFIG_HAS_MEC5_HAL is not set
    # CONFIG_OPENAMP is not set
    # CONFIG_MIPI_SYST_LIB is not set
    # CONFIG_HAS_TELINK_DRIVERS is not set
    # CONFIG_MCUBOOT_BOOTUTIL_LIB is not set
    
    #
    # Unavailable modules, please install those via the project manifest.
    #
    
    #
    # hal_gigadevice module not available.
    #
    
    #
    # Trusted-firmware-a module not available.
    #
    
    #
    # THRIFT module not available.
    #
    # CONFIG_ACPI is not set
    # end of Modules
    
    CONFIG_BOARD="nrf52840dk"
    CONFIG_BOARD_REVISION=""
    CONFIG_BOARD_TARGET="nrf52840dk/nrf52840"
    # CONFIG_NET_DRIVERS is not set
    CONFIG_BOARD_NRF52840DK=y
    CONFIG_BOARD_NRF52840DK_NRF52840=y
    CONFIG_BOARD_QUALIFIERS="nrf52840"
    
    #
    # Board Options
    #
    # end of Board Options
    
    #
    # Hardware Configuration
    #
    CONFIG_SOC_FAMILY_NORDIC_NRF=y
    CONFIG_SOC_SERIES_NRF52X=y
    CONFIG_SOC_NRF52840=y
    CONFIG_SOC_NRF52840_QIAA=y
    # CONFIG_BUILD_OUTPUT_INFO_HEADER is not set
    CONFIG_HAS_HW_NRF_ACL=y
    CONFIG_HAS_HW_NRF_CC310=y
    CONFIG_HAS_HW_NRF_CCM=y
    CONFIG_HAS_HW_NRF_CCM_LFLEN_8BIT=y
    CONFIG_HAS_HW_NRF_CLOCK=y
    CONFIG_HAS_HW_NRF_ECB=y
    CONFIG_HAS_HW_NRF_EGU0=y
    CONFIG_HAS_HW_NRF_EGU1=y
    CONFIG_HAS_HW_NRF_EGU2=y
    CONFIG_HAS_HW_NRF_EGU3=y
    CONFIG_HAS_HW_NRF_EGU4=y
    CONFIG_HAS_HW_NRF_EGU5=y
    CONFIG_HAS_HW_NRF_GPIO0=y
    CONFIG_HAS_HW_NRF_GPIO1=y
    CONFIG_HAS_HW_NRF_GPIOTE0=y
    CONFIG_HAS_HW_NRF_MWU=y
    CONFIG_HAS_HW_NRF_NVMC_PE=y
    CONFIG_HAS_HW_NRF_POWER=y
    CONFIG_HAS_HW_NRF_PPI=y
    CONFIG_HAS_HW_NRF_PWM0=y
    CONFIG_HAS_HW_NRF_QSPI=y
    CONFIG_HAS_HW_NRF_RADIO_BLE_2M=y
    CONFIG_HAS_HW_NRF_RADIO_BLE_CODED=y
    CONFIG_HAS_HW_NRF_RADIO_IEEE802154=y
    CONFIG_HAS_HW_NRF_RADIO_TX_PWR_HIGH=y
    CONFIG_HAS_HW_NRF_RNG=y
    CONFIG_HAS_HW_NRF_SAADC=y
    CONFIG_HAS_HW_NRF_SPIM0=y
    CONFIG_HAS_HW_NRF_SWI0=y
    CONFIG_HAS_HW_NRF_SWI1=y
    CONFIG_HAS_HW_NRF_SWI2=y
    CONFIG_HAS_HW_NRF_SWI3=y
    CONFIG_HAS_HW_NRF_SWI4=y
    CONFIG_HAS_HW_NRF_SWI5=y
    CONFIG_HAS_HW_NRF_TEMP=y
    CONFIG_HAS_HW_NRF_UARTE0=y
    CONFIG_HAS_HW_NRF_USBD=y
    CONFIG_HAS_HW_NRF_WDT0=y
    CONFIG_HAS_NORDIC_RAM_CTRL=y
    # CONFIG_NRF_SYS_EVENT is not set
    # CONFIG_GPIO_AS_PINRESET is not set
    CONFIG_NRF_ENABLE_ICACHE=y
    CONFIG_NRF_RTC_TIMER_USER_CHAN_COUNT=0
    # CONFIG_SOC_NRF54H20_GPD is not set
    # CONFIG_SOC_NRF54H20_NO_MRAM_LATENCY is not set
    CONFIG_NRF_SOC_SECURE_SUPPORTED=y
    # CONFIG_NFCT_PINS_AS_GPIOS is not set
    CONFIG_NRF_APPROTECT_USE_UICR=y
    # CONFIG_NRF_APPROTECT_LOCK is not set
    # CONFIG_NRF_TRACE_PORT is not set
    CONFIG_GPIO_INIT_PRIORITY=40
    # end of Hardware Configuration
    
    CONFIG_SOC_COMPATIBLE_NRF=y
    CONFIG_SOC_COMPATIBLE_NRF52X=y
    CONFIG_ARCH="arm"
    # CONFIG_EXTRA_EXCEPTION_INFO is not set
    CONFIG_ARCH_HAS_SINGLE_THREAD_SUPPORT=y
    CONFIG_CPU_CORTEX=y
    CONFIG_KOBJECT_TEXT_AREA=256
    CONFIG_ARM_MPU=y
    CONFIG_ARM_MPU_REGION_MIN_ALIGN_AND_SIZE=32
    # CONFIG_MPU_ALLOW_FLASH_WRITE is not set
    
    #
    # ARM Options
    #
    CONFIG_CPU_CORTEX_M=y
    # CONFIG_ARM_ZIMAGE_HEADER is not set
    CONFIG_ISA_THUMB2=y
    CONFIG_ASSEMBLER_ISA_THUMB2=y
    CONFIG_COMPILER_ISA_THUMB2=y
    CONFIG_STACK_ALIGN_DOUBLE_WORD=y
    # CONFIG_RUNTIME_NMI is not set
    # CONFIG_PLATFORM_SPECIFIC_INIT is not set
    CONFIG_FAULT_DUMP=2
    CONFIG_ARM_STACK_PROTECTION=y
    CONFIG_ARM_STORE_EXC_RETURN=y
    CONFIG_FP_HARDABI=y
    # CONFIG_FP_SOFTABI is not set
    CONFIG_FP16=y
    CONFIG_FP16_IEEE=y
    # CONFIG_FP16_ALT is not set
    CONFIG_CPU_CORTEX_M4=y
    CONFIG_CPU_CORTEX_M_HAS_SYSTICK=y
    CONFIG_CPU_CORTEX_M_HAS_DWT=y
    CONFIG_CPU_CORTEX_M_HAS_BASEPRI=y
    CONFIG_CPU_CORTEX_M_HAS_VTOR=y
    CONFIG_CPU_CORTEX_M_HAS_PROGRAMMABLE_FAULT_PRIOS=y
    CONFIG_ARMV7_M_ARMV8_M_MAINLINE=y
    CONFIG_ARMV7_M_ARMV8_M_FP=y
    
    #
    # ARM Cortex-M0/M0+/M1/M3/M4/M7/M23/M33/M55 options
    #
    # CONFIG_ZERO_LATENCY_IRQS is not set
    # CONFIG_SW_VECTOR_RELAY is not set
    # CONFIG_CORTEX_M_DWT is not set
    # CONFIG_CORTEX_M_DEBUG_MONITOR_HOOK is not set
    # CONFIG_TRAP_UNALIGNED_ACCESS is not set
    # end of ARM Cortex-M0/M0+/M1/M3/M4/M7/M23/M33/M55 options
    
    CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y
    # CONFIG_NULL_POINTER_EXCEPTION_DETECTION_DWT is not set
    # CONFIG_NULL_POINTER_EXCEPTION_DETECTION_MPU is not set
    CONFIG_MPU_STACK_GUARD=y
    CONFIG_MPU_STACK_GUARD_MIN_SIZE_FLOAT=128
    # CONFIG_MPU_DISABLE_BACKGROUND_MAP is not set
    # CONFIG_CUSTOM_SECTION_ALIGN is not set
    CONFIG_CUSTOM_SECTION_MIN_ALIGN_SIZE=32
    CONFIG_HAS_SWO=y
    # end of ARM Options
    
    CONFIG_ARM=y
    CONFIG_ARCH_IS_SET=y
    
    #
    # General Architecture Options
    #
    # CONFIG_SEMIHOST is not set
    CONFIG_LITTLE_ENDIAN=y
    # CONFIG_USERSPACE is not set
    CONFIG_KOBJECT_DATA_AREA_RESERVE_EXTRA_PERCENT=100
    CONFIG_KOBJECT_RODATA_AREA_EXTRA_BYTES=16
    CONFIG_GEN_PRIV_STACKS=y
    # CONFIG_STACK_GROWS_UP is not set
    # CONFIG_FRAME_POINTER is not set
    
    #
    # Interrupt Configuration
    #
    CONFIG_ISR_TABLES_LOCAL_DECLARATION_SUPPORTED=y
    # CONFIG_ISR_TABLES_LOCAL_DECLARATION is not set
    CONFIG_IRQ_VECTOR_TABLE_JUMP_BY_ADDRESS=y
    # CONFIG_IRQ_VECTOR_TABLE_JUMP_BY_CODE is not set
    CONFIG_EXCEPTION_DEBUG=y
    # CONFIG_SIMPLIFIED_EXCEPTION_CODES is not set
    # end of Interrupt Configuration
    # end of General Architecture Options
    
    CONFIG_ARCH_HAS_TIMING_FUNCTIONS=y
    CONFIG_ARCH_HAS_STACK_PROTECTION=y
    CONFIG_ARCH_HAS_USERSPACE=y
    CONFIG_ARCH_HAS_EXECUTABLE_PAGE_BIT=y
    CONFIG_ARCH_HAS_RAMFUNC_SUPPORT=y
    CONFIG_ARCH_HAS_NESTED_EXCEPTION_DETECTION=y
    CONFIG_ARCH_SUPPORTS_COREDUMP=y
    CONFIG_ARCH_SUPPORTS_COREDUMP_THREADS=y
    CONFIG_ARCH_SUPPORTS_ARCH_HW_INIT=y
    CONFIG_ARCH_SUPPORTS_ROM_START=y
    CONFIG_ARCH_HAS_EXTRA_EXCEPTION_INFO=y
    CONFIG_ARCH_HAS_THREAD_LOCAL_STORAGE=y
    CONFIG_ARCH_HAS_SUSPEND_TO_RAM=y
    CONFIG_ARCH_HAS_THREAD_ABORT=y
    CONFIG_ARCH_HAS_CODE_DATA_RELOCATION=y
    CONFIG_CPU_HAS_FPU=y
    CONFIG_CPU_HAS_MPU=y
    CONFIG_MPU=y
    CONFIG_MPU_REQUIRES_POWER_OF_TWO_ALIGNMENT=y
    CONFIG_SRAM_REGION_PERMISSIONS=y
    
    #
    # DSP Options
    #
    # end of DSP Options
    
    #
    # Floating Point Options
    #
    CONFIG_FPU_SHARING=y
    # end of Floating Point Options
    
    #
    # Cache Options
    #
    # end of Cache Options
    
    CONFIG_TOOLCHAIN_HAS_BUILTIN_FFS=y
    CONFIG_ARCH_HAS_CUSTOM_SWAP_TO_MAIN=y
    
    #
    # General Kernel Options
    #
    CONFIG_MULTITHREADING=y
    CONFIG_NUM_COOP_PRIORITIES=16
    CONFIG_NUM_PREEMPT_PRIORITIES=15
    CONFIG_MAIN_THREAD_PRIORITY=0
    CONFIG_COOP_ENABLED=y
    CONFIG_PREEMPT_ENABLED=y
    CONFIG_PRIORITY_CEILING=-127
    # CONFIG_SCHED_DEADLINE is not set
    CONFIG_THREAD_STACK_INFO=y
    # CONFIG_THREAD_CUSTOM_DATA is not set
    # CONFIG_DYNAMIC_THREAD is not set
    CONFIG_SCHED_DUMB=y
    # CONFIG_SCHED_SCALABLE is not set
    # CONFIG_SCHED_MULTIQ is not set
    # CONFIG_WAITQ_SCALABLE is not set
    CONFIG_WAITQ_DUMB=y
    
    #
    # Misc Kernel related options
    #
    CONFIG_LIBC_ERRNO=y
    CONFIG_ERRNO=y
    CONFIG_CURRENT_THREAD_USE_TLS=y
    # end of Misc Kernel related options
    
    #
    # Kernel Debugging and Metrics
    #
    CONFIG_BOOT_DELAY=0
    # CONFIG_BOOT_CLEAR_SCREEN is not set
    # CONFIG_THREAD_MONITOR is not set
    # CONFIG_THREAD_NAME is not set
    # CONFIG_THREAD_RUNTIME_STATS is not set
    # end of Kernel Debugging and Metrics
    
    # CONFIG_OBJ_CORE is not set
    
    #
    # System Work Queue Options
    #
    # CONFIG_SYSTEM_WORKQUEUE_NO_YIELD is not set
    # end of System Work Queue Options
    
    #
    # Barrier Operations
    #
    CONFIG_BARRIER_OPERATIONS_ARCH=y
    # end of Barrier Operations
    
    #
    # Atomic Operations
    #
    CONFIG_ATOMIC_OPERATIONS_BUILTIN=y
    # end of Atomic Operations
    
    #
    # Timer API Options
    #
    CONFIG_TIMESLICING=y
    CONFIG_TIMESLICE_PRIORITY=0
    # CONFIG_TIMESLICE_PER_THREAD is not set
    # end of Timer API Options
    
    #
    # Other Kernel Object Options
    #
    # CONFIG_POLL is not set
    # CONFIG_MEM_SLAB_TRACE_MAX_UTILIZATION is not set
    CONFIG_NUM_MBOX_ASYNC_MSGS=10
    # CONFIG_EVENTS is not set
    # CONFIG_PIPES is not set
    CONFIG_KERNEL_MEM_POOL=y
    # CONFIG_HEAP_MEM_POOL_IGNORE_MIN is not set
    # end of Other Kernel Object Options
    
    CONFIG_SWAP_NONATOMIC=y
    CONFIG_SYS_CLOCK_EXISTS=y
    CONFIG_TIMEOUT_64BIT=y
    CONFIG_SYS_CLOCK_MAX_TIMEOUT_DAYS=365
    
    #
    # Security Options
    #
    # end of Security Options
    
    #
    # Memory Domains
    #
    CONFIG_ARCH_MEM_DOMAIN_SUPPORTS_ISOLATED_STACKS=y
    CONFIG_MEM_DOMAIN_ISOLATED_STACKS=y
    # end of Memory Domains
    
    #
    # SMP Options
    #
    CONFIG_MP_NUM_CPUS=1
    # CONFIG_TICKET_SPINLOCKS is not set
    # end of SMP Options
    
    CONFIG_TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE=y
    CONFIG_THREAD_LOCAL_STORAGE=y
    CONFIG_TOOLCHAIN_SUPPORTS_STATIC_INIT_GNU=y
    # CONFIG_STATIC_INIT_GNU is not set
    # CONFIG_BOOTARGS is not set
    # end of General Kernel Options
    
    #
    # Device Options
    #
    # CONFIG_DEVICE_DEPS is not set
    # CONFIG_DEVICE_MUTABLE is not set
    # CONFIG_DEVICE_DT_METADATA is not set
    # end of Device Options
    
    #
    # Initialization Priorities
    #
    CONFIG_KERNEL_INIT_PRIORITY_OBJECTS=30
    CONFIG_KERNEL_INIT_PRIORITY_LIBC=35
    CONFIG_KERNEL_INIT_PRIORITY_DEFAULT=40
    CONFIG_KERNEL_INIT_PRIORITY_DEVICE=50
    CONFIG_APPLICATION_INIT_PRIORITY=90
    # end of Initialization Priorities
    
    #
    # Virtual Memory Support
    #
    # end of Virtual Memory Support
    
    #
    # SoC and Board Hooks
    #
    # CONFIG_SOC_PREP_HOOK is not set
    # CONFIG_SOC_EARLY_INIT_HOOK is not set
    # CONFIG_SOC_LATE_INIT_HOOK is not set
    # CONFIG_BOARD_EARLY_INIT_HOOK is not set
    # CONFIG_BOARD_LATE_INIT_HOOK is not set
    # end of SoC and Board Hooks
    
    #
    # Device Drivers
    #
    # CONFIG_ADC is not set
    # CONFIG_AUDIO is not set
    # CONFIG_AUXDISPLAY is not set
    # CONFIG_BBRAM is not set
    # CONFIG_FLASH is not set
    # CONFIG_CAN is not set
    # CONFIG_CHARGER is not set
    CONFIG_CLOCK_CONTROL_NRF=y
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC is not set
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_SYNTH is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_LOW_SWING is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_EXT_FULL_SWING is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_250PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_100PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_75PPM is not set
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_50PPM=y
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_20PPM is not set
    CONFIG_CLOCK_CONTROL_NRF_ACCURACY=50
    # CONFIG_CLOCK_CONTROL_FIXED_RATE_CLOCK is not set
    # CONFIG_COMPARATOR is not set
    CONFIG_CONSOLE_INPUT_MAX_LINE_LEN=128
    CONFIG_CONSOLE_HAS_DRIVER=y
    # CONFIG_CONSOLE_HANDLER is not set
    CONFIG_CONSOLE_INIT_PRIORITY=60
    CONFIG_UART_CONSOLE=y
    # CONFIG_UART_CONSOLE_DEBUG_SERVER_HOOKS is not set
    # CONFIG_UART_CONSOLE_MCUMGR is not set
    # CONFIG_RAM_CONSOLE is not set
    # CONFIG_RTT_CONSOLE is not set
    # CONFIG_IPM_CONSOLE_SENDER is not set
    # CONFIG_IPM_CONSOLE_RECEIVER is not set
    # CONFIG_UART_MCUMGR is not set
    # CONFIG_EFI_CONSOLE is not set
    # CONFIG_COREDUMP_DEVICE is not set
    # CONFIG_CRYPTO is not set
    # CONFIG_DAC is not set
    # CONFIG_DAI is not set
    # CONFIG_DISK_DRIVERS is not set
    # CONFIG_DISPLAY is not set
    # CONFIG_DMA is not set
    # CONFIG_DP_DRIVER is not set
    # CONFIG_EDAC is not set
    # CONFIG_EEPROM is not set
    # CONFIG_ENTROPY_GENERATOR is not set
    # CONFIG_ESPI is not set
    
    #
    # Firmware drivers
    #
    # CONFIG_ARM_SCMI is not set
    # end of Firmware drivers
    
    # CONFIG_FPGA is not set
    # CONFIG_FUEL_GAUGE is not set
    # CONFIG_GNSS is not set
    # CONFIG_GPIO_GET_DIRECTION is not set
    # CONFIG_GPIO_GET_CONFIG is not set
    # CONFIG_GPIO_HOGS is not set
    # CONFIG_GPIO_ENABLE_DISABLE_INTERRUPT is not set
    CONFIG_GPIO_NRFX=y
    CONFIG_GPIO_NRFX_INTERRUPT=y
    # CONFIG_HAPTICS is not set
    # CONFIG_HWINFO is not set
    # CONFIG_HWSPINLOCK is not set
    # CONFIG_I2S is not set
    # CONFIG_I3C is not set
    
    #
    # Interrupt controller drivers
    #
    CONFIG_INTC_INIT_PRIORITY=40
    # end of Interrupt controller drivers
    
    # CONFIG_IPM is not set
    # CONFIG_KSCAN is not set
    # CONFIG_LED is not set
    # CONFIG_LED_STRIP is not set
    # CONFIG_LORA is not set
    # CONFIG_MBOX is not set
    # CONFIG_MDIO is not set
    # CONFIG_MIPI_DBI is not set
    
    #
    # Miscellaneous Drivers
    #
    # CONFIG_TIMEAWARE_GPIO is not set
    # end of Miscellaneous Drivers
    
    # CONFIG_MM_DRV is not set
    # CONFIG_MSPI is not set
    # CONFIG_PCIE is not set
    # CONFIG_PCIE_ENDPOINT is not set
    # CONFIG_PECI is not set
    CONFIG_PINCTRL_STORE_REG=y
    # CONFIG_PINCTRL_DYNAMIC is not set
    CONFIG_PINCTRL_NRF=y
    # CONFIG_PM_CPU_OPS is not set
    # CONFIG_PS2 is not set
    # CONFIG_PTP_CLOCK is not set
    # CONFIG_PWM is not set
    # CONFIG_RETAINED_MEM is not set
    # CONFIG_RTC is not set
    # CONFIG_SDHC is not set
    
    #
    # Capabilities
    #
    CONFIG_SERIAL_HAS_DRIVER=y
    CONFIG_SERIAL_SUPPORT_ASYNC=y
    CONFIG_SERIAL_SUPPORT_INTERRUPT=y
    # CONFIG_UART_LINE_CTRL is not set
    # CONFIG_UART_DRV_CMD is not set
    # CONFIG_UART_WIDE_DATA is not set
    # CONFIG_UART_PIPE is not set
    # CONFIG_UART_ASYNC_RX_HELPER is not set
    
    #
    # Serial Drivers
    #
    CONFIG_UART_NRFX=y
    CONFIG_UART_NRFX_UARTE=y
    CONFIG_UART_NRFX_UARTE_LEGACY_SHIM=y
    CONFIG_UART_0_ENHANCED_POLL_OUT=y
    # CONFIG_UART_0_NRF_PARITY_BIT is not set
    CONFIG_UART_0_NRF_TX_BUFFER_SIZE=32
    # CONFIG_SMBUS is not set
    # CONFIG_SPI_ASYNC is not set
    # CONFIG_SPI_RTIO is not set
    # CONFIG_SPI_SLAVE is not set
    # CONFIG_SPI_EXTENDED_MODES is not set
    CONFIG_SPI_INIT_PRIORITY=50
    CONFIG_SPI_COMPLETION_TIMEOUT_TOLERANCE=200
    CONFIG_SPI_NRFX=y
    CONFIG_SPI_NRFX_SPIM=y
    CONFIG_SPI_NRFX_RAM_BUFFER_SIZE=8
    CONFIG_SPI_NRFX_WAKE_TIMEOUT_US=200
    # CONFIG_STEPPER is not set
    
    #
    # Timer drivers
    #
    # CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME is not set
    # CONFIG_SYSTEM_CLOCK_SLOPPY_IDLE is not set
    CONFIG_SYSTEM_CLOCK_INIT_PRIORITY=0
    CONFIG_TICKLESS_CAPABLE=y
    CONFIG_SYSTEM_TIMER_HAS_DISABLE_SUPPORT=y
    # CONFIG_NRF_RTC_TIMER_TRIGGER_OVERFLOW is not set
    # CONFIG_SYSTEM_CLOCK_NO_WAIT is not set
    # CONFIG_SYSTEM_CLOCK_WAIT_FOR_AVAILABILITY is not set
    CONFIG_SYSTEM_CLOCK_WAIT_FOR_STABILITY=y
    # end of Timer drivers
    
    # CONFIG_USB_BC12 is not set
    # CONFIG_UDC_DRIVER is not set
    # CONFIG_UHC_DRIVER is not set
    # CONFIG_UVB is not set
    # CONFIG_USB_DEVICE_DRIVER is not set
    # CONFIG_NRF_USBD_COMMON is not set
    # CONFIG_USBC_TCPC_DRIVER is not set
    # CONFIG_USBC_VBUS_DRIVER is not set
    # CONFIG_USBC_PPC_DRIVER is not set
    # CONFIG_VIDEO is not set
    # CONFIG_VIRTUALIZATION is not set
    # CONFIG_W1 is not set
    # CONFIG_TEE is not set
    # end of Device Drivers
    
    # CONFIG_REQUIRES_FULL_LIBC is not set
    # CONFIG_REQUIRES_FLOAT_PRINTF is not set
    CONFIG_FULL_LIBC_SUPPORTED=y
    CONFIG_MINIMAL_LIBC_SUPPORTED=y
    CONFIG_NEWLIB_LIBC_SUPPORTED=y
    CONFIG_PICOLIBC_SUPPORTED=y
    
    #
    # C Library
    #
    # CONFIG_MINIMAL_LIBC is not set
    CONFIG_PICOLIBC=y
    # CONFIG_NEWLIB_LIBC is not set
    # CONFIG_EXTERNAL_LIBC is not set
    CONFIG_HAS_NEWLIB_LIBC_NANO=y
    CONFIG_COMMON_LIBC_ABORT=y
    # CONFIG_COMMON_LIBC_ASCTIME_R is not set
    # CONFIG_COMMON_LIBC_CTIME_R is not set
    CONFIG_COMMON_LIBC_MALLOC=y
    CONFIG_COMMON_LIBC_CALLOC=y
    CONFIG_COMMON_LIBC_REALLOCARRAY=y
    # CONFIG_COMMON_LIBC_REMOVE is not set
    # CONFIG_PICOLIBC_USE_MODULE is not set
    CONFIG_PICOLIBC_USE_TOOLCHAIN=y
    # CONFIG_PICOLIBC_IO_FLOAT is not set
    CONFIG_PICOLIBC_IO_LONG_LONG=y
    CONFIG_STDOUT_CONSOLE=y
    CONFIG_NEED_LIBC_MEM_PARTITION=y
    # end of C Library
    
    #
    # C++ Language Support
    #
    # CONFIG_CPP is not set
    # end of C++ Language Support
    
    # CONFIG_CRC is not set
    
    #
    # Additional libraries
    #
    
    #
    # Hash Function Support
    #
    # CONFIG_SYS_HASH_FUNC32 is not set
    # end of Hash Function Support
    
    #
    # Hashmap (Hash Table) Support
    #
    # CONFIG_SYS_HASH_MAP is not set
    # end of Hashmap (Hash Table) Support
    
    #
    # Heap and Memory Allocation
    #
    # CONFIG_SYS_HEAP_STRESS is not set
    # CONFIG_SYS_HEAP_INFO is not set
    CONFIG_SYS_HEAP_ALLOC_LOOPS=3
    # CONFIG_SYS_HEAP_RUNTIME_STATS is not set
    # CONFIG_SYS_HEAP_LISTENER is not set
    # CONFIG_SYS_HEAP_SMALL_ONLY is not set
    # CONFIG_SYS_HEAP_BIG_ONLY is not set
    CONFIG_SYS_HEAP_AUTO=y
    # CONFIG_MULTI_HEAP is not set
    # CONFIG_SHARED_MULTI_HEAP is not set
    # end of Heap and Memory Allocation
    
    #
    # Memory Blocks
    #
    # CONFIG_SYS_MEM_BLOCKS is not set
    # end of Memory Blocks
    
    # CONFIG_NET_BUF is not set
    
    #
    # OS Support Library
    #
    # CONFIG_FDTABLE is not set
    CONFIG_ZVFS_OPEN_MAX=4
    # CONFIG_PRINTK_SYNC is not set
    # CONFIG_MPSC_PBUF is not set
    # CONFIG_SPSC_PBUF is not set
    CONFIG_HAS_POWEROFF=y
    # CONFIG_POWEROFF is not set
    CONFIG_CBPRINTF_COMPLETE=y
    # CONFIG_CBPRINTF_NANO is not set
    CONFIG_CBPRINTF_FULL_INTEGRAL=y
    # CONFIG_CBPRINTF_REDUCED_INTEGRAL is not set
    # CONFIG_CBPRINTF_FP_SUPPORT is not set
    # CONFIG_CBPRINTF_FP_A_SUPPORT is not set
    # CONFIG_CBPRINTF_LIBC_SUBSTS is not set
    # CONFIG_CBPRINTF_PACKAGE_LONGDOUBLE is not set
    # CONFIG_CBPRINTF_STATIC_PACKAGE_CHECK_ALIGNMENT is not set
    CONFIG_CBPRINTF_CONVERT_CHECK_PTR=y
    # CONFIG_ZVFS is not set
    # end of OS Support Library
    
    #
    # POSIX API Support
    #
    
    #
    # POSIX Options
    #
    # CONFIG_POSIX_API is not set
    CONFIG_POSIX_AEP_CHOICE_NONE=y
    # CONFIG_POSIX_AEP_CHOICE_BASE is not set
    # CONFIG_POSIX_AEP_CHOICE_PSE51 is not set
    # CONFIG_POSIX_AEP_CHOICE_PSE52 is not set
    # CONFIG_POSIX_AEP_CHOICE_PSE53 is not set
    # CONFIG_POSIX_ASYNCHRONOUS_IO is not set
    # CONFIG_POSIX_BARRIERS is not set
    # CONFIG_POSIX_C_LANG_SUPPORT_R is not set
    # CONFIG_POSIX_C_LIB_EXT is not set
    
    #
    # POSIX device I/O
    #
    # CONFIG_POSIX_DEVICE_IO is not set
    CONFIG_POSIX_OPEN_MAX=4
    # end of POSIX device I/O
    
    # CONFIG_POSIX_FD_MGMT is not set
    # CONFIG_POSIX_FILE_SYSTEM is not set
    
    #
    # POSIX memory
    #
    CONFIG_POSIX_PAGE_SIZE=0x40
    # CONFIG_POSIX_SHARED_MEMORY_OBJECTS is not set
    # CONFIG_POSIX_MAPPED_FILES is not set
    # CONFIG_POSIX_MEMORY_PROTECTION is not set
    # end of POSIX memory
    
    # CONFIG_POSIX_MESSAGE_PASSING is not set
    # CONFIG_POSIX_SINGLE_PROCESS is not set
    # CONFIG_POSIX_MULTI_PROCESS is not set
    # CONFIG_POSIX_THREADS is not set
    # CONFIG_POSIX_READER_WRITER_LOCKS is not set
    
    #
    # POSIX scheduler options
    #
    # CONFIG_POSIX_PRIORITY_SCHEDULING is not set
    # end of POSIX scheduler options
    
    # CONFIG_POSIX_SEMAPHORES is not set
    
    #
    # POSIX signals
    #
    # CONFIG_POSIX_REALTIME_SIGNALS is not set
    # CONFIG_POSIX_SIGNALS is not set
    # end of POSIX signals
    
    # CONFIG_POSIX_SPIN_LOCKS is not set
    
    #
    # POSIX synchronized I/O
    #
    # CONFIG_POSIX_FSYNC is not set
    # CONFIG_POSIX_SYNCHRONIZED_IO is not set
    # end of POSIX synchronized I/O
    
    # CONFIG_POSIX_TIMERS is not set
    
    #
    # X/Open system interfaces
    #
    # CONFIG_XOPEN_STREAMS is not set
    # CONFIG_XSI_SYSTEM_LOGGING is not set
    # CONFIG_XSI_THREADS_EXT is not set
    # end of X/Open system interfaces
    
    #
    # Miscellaneous POSIX-related options
    #
    # CONFIG_EVENTFD is not set
    # end of Miscellaneous POSIX-related options
    
    #
    # Deprecated POSIX options
    #
    CONFIG_EVENTFD_MAX=0
    # CONFIG_FNMATCH is not set
    CONFIG_MAX_PTHREAD_COUNT=0
    CONFIG_MAX_PTHREAD_KEY_COUNT=0
    CONFIG_MAX_TIMER_COUNT=0
    CONFIG_MSG_COUNT_MAX=0
    # CONFIG_POSIX_CLOCK is not set
    # CONFIG_POSIX_FS is not set
    CONFIG_POSIX_LIMITS_RTSIG_MAX=0
    CONFIG_POSIX_MAX_FDS=4
    CONFIG_POSIX_MAX_OPEN_FILES=4
    # CONFIG_POSIX_MQUEUE is not set
    # CONFIG_POSIX_PUTMSG is not set
    # CONFIG_POSIX_SIGNAL is not set
    # CONFIG_POSIX_SYSCONF is not set
    # CONFIG_POSIX_UNAME is not set
    # CONFIG_PTHREAD is not set
    # CONFIG_PTHREAD_BARRIER is not set
    # CONFIG_PTHREAD_COND is not set
    # CONFIG_PTHREAD_IPC is not set
    # CONFIG_PTHREAD_KEY is not set
    # CONFIG_PTHREAD_MUTEX is not set
    # CONFIG_PTHREAD_RWLOCK is not set
    # CONFIG_PTHREAD_SPINLOCK is not set
    # CONFIG_TIMER is not set
    CONFIG_TIMER_DELAYTIMER_MAX=0
    CONFIG_SEM_NAMELEN_MAX=0
    CONFIG_SEM_VALUE_MAX=0
    # end of Deprecated POSIX options
    
    CONFIG_TC_PROVIDES_POSIX_C_LANG_SUPPORT_R=y
    # end of POSIX Options
    
    #
    # POSIX Shell Utilities
    #
    # end of POSIX Shell Utilities
    # end of POSIX API Support
    
    # CONFIG_OPENAMP_RSC_TABLE is not set
    # CONFIG_SMF is not set
    CONFIG_LIBGCC_RTLIB=y
    
    #
    # Utility Library
    #
    # CONFIG_JSON_LIBRARY is not set
    # CONFIG_RING_BUFFER is not set
    CONFIG_NOTIFY=y
    # CONFIG_BASE64 is not set
    CONFIG_ONOFF=y
    # CONFIG_WINSTREAM is not set
    # CONFIG_UTF8 is not set
    # end of Utility Library
    # end of Additional libraries
    
    #
    # Subsystems and OS Services
    #
    # CONFIG_BINDESC is not set
    # CONFIG_BT is not set
    
    #
    # Controller Area Network (CAN) bus subsystem
    #
    # end of Controller Area Network (CAN) bus subsystem
    
    # CONFIG_CONSOLE_SUBSYS is not set
    # CONFIG_DAP is not set
    
    #
    # System Monitoring Options
    #
    # CONFIG_THREAD_ANALYZER is not set
    # end of System Monitoring Options
    
    #
    # Debugging Options
    #
    # CONFIG_DEBUG is not set
    # CONFIG_STACK_USAGE is not set
    CONFIG_PRINTK=y
    CONFIG_EARLY_CONSOLE=y
    # CONFIG_FORCE_NO_ASSERT is not set
    CONFIG_ASSERT_VERBOSE=y
    # CONFIG_ASSERT_NO_FILE_INFO is not set
    # CONFIG_ASSERT_NO_COND_INFO is not set
    # CONFIG_ASSERT_NO_MSG_INFO is not set
    # CONFIG_ASSERT_TEST is not set
    # CONFIG_OVERRIDE_FRAME_POINTER_DEFAULT is not set
    # CONFIG_DEBUG_INFO is not set
    # CONFIG_DEBUG_THREAD_INFO is not set
    # CONFIG_DEBUG_COREDUMP is not set
    # CONFIG_SYMTAB is not set
    # end of Debugging Options
    
    # CONFIG_MIPI_STP_DECODER is not set
    # CONFIG_CS_TRACE_DEFMT is not set
    # CONFIG_DISK_ACCESS is not set
    # CONFIG_DSP is not set
    # CONFIG_EMUL is not set
    # CONFIG_CHARACTER_FRAMEBUFFER is not set
    
    #
    # File Systems
    #
    # CONFIG_FILE_SYSTEM is not set
    # CONFIG_ZMS is not set
    # end of File Systems
    
    #
    # Inter Processor Communication
    #
    # CONFIG_RPMSG_SERVICE is not set
    # CONFIG_IPC_SERVICE is not set
    # end of Inter Processor Communication
    
    # CONFIG_JWT is not set
    # CONFIG_LLEXT is not set
    
    #
    # Linkable loadable Extension Development Kit (EDK)
    #
    CONFIG_LLEXT_EDK_NAME="llext-edk"
    # CONFIG_LLEXT_EDK_USERSPACE_ONLY is not set
    # end of Linkable loadable Extension Development Kit (EDK)
    
    #
    # Logging
    #
    # CONFIG_LOG_OUTPUT is not set
    # end of Logging
    
    CONFIG_MEM_ATTR=y
    # CONFIG_MEM_ATTR_HEAP is not set
    
    #
    # Device Management
    #
    
    #
    # Host command handler subsystem
    #
    # CONFIG_EC_HOST_CMD is not set
    # end of Host command handler subsystem
    
    # CONFIG_OSDP is not set
    # end of Device Management
    
    # CONFIG_MODBUS is not set
    # CONFIG_MODEM_MODULES is not set
    
    #
    # Networking
    #
    # CONFIG_NETWORKING is not set
    # end of Networking
    
    #
    # Power Management
    #
    # CONFIG_PM_POLICY_LATENCY_STANDALONE is not set
    # end of Power Management
    
    #
    # Portability
    #
    # end of Portability
    
    # CONFIG_PROFILING is not set
    
    #
    # Random Number Generators
    #
    # CONFIG_TEST_RANDOM_GENERATOR is not set
    CONFIG_TIMER_RANDOM_INITIAL_STATE=123456789
    # end of Random Number Generators
    
    # CONFIG_RTIO is not set
    
    #
    # SD
    #
    # CONFIG_MMC_STACK is not set
    # CONFIG_SDMMC_STACK is not set
    # CONFIG_SDIO_STACK is not set
    # end of SD
    
    # CONFIG_SETTINGS is not set
    # CONFIG_SHELL is not set
    # CONFIG_STATS is not set
    
    #
    # Storage
    #
    # CONFIG_STREAM_FLASH is not set
    # end of Storage
    
    # CONFIG_TASK_WDT is not set
    
    #
    # Testing
    #
    # CONFIG_ZTEST is not set
    # CONFIG_ZTEST_MOCKING is not set
    # CONFIG_ZTRESS is not set
    # CONFIG_TEST is not set
    # CONFIG_FORCE_COVERAGE is not set
    # CONFIG_TEST_USERSPACE is not set
    # end of Testing
    
    # CONFIG_TIMING_FUNCTIONS is not set
    # CONFIG_TRACING is not set
    # CONFIG_USB_DEVICE_STACK is not set
    # CONFIG_USB_DEVICE_STACK_NEXT is not set
    # CONFIG_USB_HOST_STACK is not set
    # CONFIG_USBC_STACK is not set
    # CONFIG_ZBUS is not set
    # CONFIG_MODULES is not set
    # end of Subsystems and OS Services
    
    CONFIG_TOOLCHAIN_ZEPHYR_0_17=y
    CONFIG_TOOLCHAIN_ZEPHYR_SUPPORTS_THREAD_LOCAL_STORAGE=y
    CONFIG_TOOLCHAIN_ZEPHYR_SUPPORTS_GNU_EXTENSIONS=y
    
    #
    # Build and Link Features
    #
    
    #
    # Linker Options
    #
    # CONFIG_LINKER_ORPHAN_SECTION_PLACE is not set
    CONFIG_LINKER_ORPHAN_SECTION_WARN=y
    # CONFIG_LINKER_ORPHAN_SECTION_ERROR is not set
    CONFIG_FLASH_LOAD_SIZE=0
    CONFIG_ROM_END_OFFSET=0
    CONFIG_LD_LINKER_SCRIPT_SUPPORTED=y
    CONFIG_LD_LINKER_TEMPLATE=y
    # CONFIG_CMAKE_LINKER_GENERATOR is not set
    # CONFIG_HAVE_CUSTOM_LINKER_SCRIPT is not set
    CONFIG_LINKER_SORT_BY_ALIGNMENT=y
    
    #
    # Linker Sections
    #
    # CONFIG_LINKER_USE_BOOT_SECTION is not set
    # CONFIG_LINKER_USE_PINNED_SECTION is not set
    CONFIG_LINKER_GENERIC_SECTIONS_PRESENT_AT_BOOT=y
    CONFIG_LINKER_LAST_SECTION_ID=y
    CONFIG_LINKER_LAST_SECTION_ID_PATTERN=0xE015E015
    CONFIG_LINKER_USE_RELAX=y
    # end of Linker Sections
    
    CONFIG_LINKER_ITERABLE_SUBALIGN=4
    CONFIG_LINKER_DEVNULL_SUPPORT=y
    # CONFIG_LINKER_DEVNULL_MEMORY is not set
    # end of Linker Options
    
    #
    # Compiler Options
    #
    # CONFIG_STD_C90 is not set
    CONFIG_STD_C99=y
    # CONFIG_STD_C11 is not set
    # CONFIG_STD_C17 is not set
    # CONFIG_STD_C23 is not set
    CONFIG_TOOLCHAIN_SUPPORTS_GNU_EXTENSIONS=y
    # CONFIG_GNU_C_EXTENSIONS is not set
    # CONFIG_CODING_GUIDELINE_CHECK is not set
    # CONFIG_COMPILER_FREESTANDING is not set
    CONFIG_SIZE_OPTIMIZATIONS=y
    # CONFIG_SIZE_OPTIMIZATIONS_AGGRESSIVE is not set
    # CONFIG_SPEED_OPTIMIZATIONS is not set
    # CONFIG_DEBUG_OPTIMIZATIONS is not set
    # CONFIG_NO_OPTIMIZATIONS is not set
    # CONFIG_COMPILER_WARNINGS_AS_ERRORS is not set
    # CONFIG_COMPILER_SAVE_TEMPS is not set
    CONFIG_COMPILER_TRACK_MACRO_EXPANSION=y
    CONFIG_COMPILER_COLOR_DIAGNOSTICS=y
    # CONFIG_FORTIFY_SOURCE_NONE is not set
    CONFIG_FORTIFY_SOURCE_COMPILE_TIME=y
    # CONFIG_FORTIFY_SOURCE_RUN_TIME is not set
    CONFIG_COMPILER_OPT=""
    # CONFIG_MISRA_SANE is not set
    # end of Compiler Options
    
    # CONFIG_ASSERT_ON_ERRORS is not set
    # CONFIG_NO_RUNTIME_CHECKS is not set
    CONFIG_RUNTIME_ERROR_CHECKS=y
    
    #
    # Build Options
    #
    CONFIG_KERNEL_BIN_NAME="zephyr"
    CONFIG_OUTPUT_STAT=y
    # CONFIG_OUTPUT_SYMBOLS is not set
    # CONFIG_OUTPUT_DISASSEMBLY is not set
    CONFIG_OUTPUT_PRINT_MEMORY_USAGE=y
    # CONFIG_CLEANUP_INTERMEDIATE_FILES is not set
    CONFIG_BUILD_GAP_FILL_PATTERN=0xFF
    # CONFIG_BUILD_OUTPUT_HEX_GAP_FILL is not set
    # CONFIG_BUILD_OUTPUT_EXE is not set
    # CONFIG_BUILD_OUTPUT_S19 is not set
    # CONFIG_BUILD_OUTPUT_S19_GAP_FILL is not set
    # CONFIG_BUILD_OUTPUT_UF2 is not set
    # CONFIG_BUILD_OUTPUT_STRIPPED is not set
    # CONFIG_BUILD_OUTPUT_COMPRESS_DEBUG_SECTIONS is not set
    # CONFIG_BUILD_ALIGN_LMA is not set
    # CONFIG_APPLICATION_DEFINED_SYSCALL is not set
    # CONFIG_MAKEFILE_EXPORTS is not set
    # CONFIG_BUILD_OUTPUT_META is not set
    CONFIG_BUILD_OUTPUT_STRIP_PATHS=y
    CONFIG_CHECK_INIT_PRIORITIES=y
    # CONFIG_EMIT_ALL_SYSCALLS is not set
    # end of Build Options
    
    CONFIG_WARN_DEPRECATED=y
    CONFIG_ENFORCE_ZEPHYR_STDINT=y
    # end of Build and Link Features
    
    #
    # Boot Options
    #
    # CONFIG_IS_BOOTLOADER is not set
    # CONFIG_BOOTLOADER_BOSSA is not set
    # end of Boot Options
    
    #
    # Compatibility
    #
    CONFIG_LEGACY_GENERATED_INCLUDE_PATH=y
    # end of Compatibility
    

    I noticed that the build folder features a sysbuild and the a target one (1 configuration | 2 context), therefore 2 .config files. I attached the one coming from the target build folder; is it correct? Sorry I'm just making baby steps into nRF development.

    Thanks again!

  • Sam-IIT said:
     I can try to use a 8 bit buffer with a length of 2, would It be correct?

    Yes.

    Kenneth

  • Hi Kenneth, I tried with a u8 configuration but still no result.

    // spi struct
    static u8_t tx_buffer[2];
    static u8_t rx_buffer[2];
    const struct spi_buf tx_buf = {
        .buf = tx_buffer,
        .len = sizeof(tx_buffer)};
    const struct spi_buf_set tx = {
        .buffers = &tx_buf,
        .count = 1};
    
    struct spi_buf rx_buf = {
        .buf = rx_buffer,
        .len = sizeof(rx_buffer),
    };
    const struct spi_buf_set rx = {
        .buffers = &rx_buf,
        .count = 1};

    About the LVDS_en I haven't done any changes to it, I actually do not even know how to access it.

  • I think next step is to connect a logic analyzer trace, so you can see how many bytes are actually clocked and what is on both MISO and MOSI. E.g. if you connect MISO and MOSI directly together for test, you can verify that rx buff=tx buffer.

    Kenneth

  • shorting them have the expected result. tx and rx are the same.

  • Sounds good, then it seems to be a problem with physical interface (e.g. check common grounding, voltage level etc), so next step is definitely a logic analyzer trace.

    Kenneth

Reply Children
No Data
Related