SPI Master - SCK, MOSI work but CS doesn't

Hi,

I am using nRF54L15-DK board for development and currently I am trying to talk to an external module via SPI (nRF dev board is the master).
I have disabled the external flash memory from the nrf Connect for Desktop, set the pins voltage to 3.3V and as you can see the overlay I am trying to use P0.1 as a CS.
The problem is the CS that is seems being high all the time. I am providing my overlay below and parts of the spec structure configuration and the test code that I am running
in order to check the issue with a logic analyzer

&pinctrl {
    spi00_default_alt: spi00_default_alt {
        group1 {
            psels = <NRF_PSEL(SPIM_SCK, 2, 1)>,
                    <NRF_PSEL(SPIM_MOSI, 2, 2)>,
                    <NRF_PSEL(SPIM_MISO, 2, 4)>;
        };
    };

    spi00_sleep_alt: spi00_sleep_alt {
        group1 {
            psels = <NRF_PSEL(SPIM_SCK, 2, 1)>,
                    <NRF_PSEL(SPIM_MOSI, 2, 2)>,
                    <NRF_PSEL(SPIM_MISO, 2, 4)>;
            low-power-enable;
        };
    };
};


&spi00 {
    compatible = "nordic,nrf-spim";
	status = "okay";
	pinctrl-0 = <&spi00_default_alt>;
	pinctrl-1 = <&spi00_sleep_alt>;
	pinctrl-names = "default", "sleep";
	cs-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;

    /delete-node/ mx25r6435f@0;
};

/ {
	custom_gpios {
		compatible = "gpio-keys";

		dw_irq_pin: dw_irq_pin {
			gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
		};

		dw_reset_pin: dw_reset_pin {
			gpios = <&gpio1 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
		};

        dw_wakeup_pin: dw_wakeup_pin {
			gpios = <&gpio1 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
		};
	};

	aliases {
		dwmspi = &spi00;
	};
};

The spi_dt_spec setup C code follows

const static struct spi_config init_spi_config = {
    .frequency = 4000000,
    .operation = (SPI_OP_MODE_MASTER | SPI_MODE_GET(0) | SPI_WORD_SET(8) | SPI_TRANSFER_MSB),
    .slave = 0,
    .cs = SPI_CS_CONTROL_INIT(DT_ALIAS(dwmspi), 0)
};

const static struct spi_dt_spec spispec = {
    .bus = DEVICE_DT_GET(DT_ALIAS(dwmspi)),
    .config = init_spi_config,
};

The test that runs

    static char* buffer = "\x0A\x0A\x0A\x0A\x0A\x0A\x0A\x0A\x0A\x0A\x0A\x0A\x0A\x0A\x0A\x0A";
    while(1)
    {
        struct spi_buf buff = {
            .buf = buffer,
            .len = 16
        };

        struct spi_buf_set buffset = {
            .buffers = &buff,
            .count = 1    
        };

        spi_write_dt(&spispec, &buffset);
    }

Visual status via the logic analyzer, that shows the MOSI and SCK working fine but the CS line is always high. Note that I have tested the analyzers channel 0 and it works fine

Originally I tried using P2.5 as the CS but this didn't work, so that's why I've tried using P0.1 as CS but again I have the same issue. I am not sure what I am doing wrong, if it is some configuration issue or if I missed something important. Can anyone please advice me on this? I am using nRF Connect SDK v3.2.4. TIA

Related