SPI fails to initialize when building for v3.3.0

Hello,

I wanted to update my project (Custom board using the nRF54L15 ) to the v3.3.0 SDK since this fixed a BLE bug with the v3.0.1. version.

To my knowledge I did not change anything regarding the SPI during this but now my first log message is:

[00:00:00.002,501] spi_nrfx_spim: Failed to initialize nrfx driver: -22
[00:00:00.002,516] LIS2DW12: Not able to read dev id
*** Booting My Application v2.0.0-unstable-ef772d323076 ***
*** Using nRF Connect SDK v3.3.0-ba167d9f3db4 ***
*** Using Zephyr...Code

(After this I built for v3.0.1 to compare where this does not fail.)

-22 is the error code for invalid parameters.
If I tracked it correctly this is coming from checks in the hal module but there I get lost in the details.

My devietree configuration is almost the same as for the nRF54l15DK:
//relevant parts of the overlay
&pinctrl {
    /omit-if-no-ref/ spi00_default: spi00_default {
        group1 {
            psels = <NRF_PSEL(SPIM_SCK, 2, 1)>,
                    <NRF_PSEL(SPIM_MOSI, 2, 8)>,
                    <NRF_PSEL(SPIM_MISO, 2, 4)>;
        };
    };

    /omit-if-no-ref/ spi00_sleep: spi00_sleep {
        group1 {
            psels = <NRF_PSEL(SPIM_SCK, 2, 1)>,
                    <NRF_PSEL(SPIM_MOSI, 2, 8)>,
                    <NRF_PSEL(SPIM_MISO, 2, 4)>;
            low-power-enable;
        };
    };

&spi00 {
    status = "okay";
    cs-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
    lis2dw12: lis2dw12@0 {
        compatible = "st,lis2dw12";
        reg = <0>;
        spi-max-frequency = <10000000>;
        irq-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
        status = "okay";
    };
};


I verifyed with nRF54 Pinlayout (QFN48 (QFAA) package) that the Pins should provide the intended functionality.

I am was considering wheter some change with TF-M for secure peripherals might be the cause but building without TF-M produces the same error.

1. Did the new version add any new settings/constraints I would have to consider?
2. Can I comment out the parameter check in the initilization function without risking damage to my board?

Thanks in advance
Jonathan Lange

Parents
  • Hello,

    2. Can I comment out the parameter check in the initilization function without risking damage to my board?

    What exactly is it you mean that you want to comment out?

    Do you know why it decides to return -22? What function? What check? Did you try to debug to see why it fails?

    Alternatively, is there some way for me to reproduce what you are seeing? I understand you have used the same pins as you did earlier, so the GPIOs themselves should not be the problem. And what version of NCS did you migrate from?

    Best regards,

    Edvin

Reply
  • Hello,

    2. Can I comment out the parameter check in the initilization function without risking damage to my board?

    What exactly is it you mean that you want to comment out?

    Do you know why it decides to return -22? What function? What check? Did you try to debug to see why it fails?

    Alternatively, is there some way for me to reproduce what you are seeing? I understand you have used the same pins as you did earlier, so the GPIOs themselves should not be the problem. And what version of NCS did you migrate from?

    Best regards,

    Edvin

Children
No Data
Related