ICM42670P IMU - “Device not ready” on nRF5340 DK

Platform:

  • Board: nRF5340 DK (Application core)

  • SDK & Toolchain version: 3.0.2 

  • Toolchain: west + Zephyr SDK

  • Sensor: ICM42670P (connected via SPI4)

Problem Description:

I am integrating the ICM42670P IMU sensor with my nRF5340 DK using Zephyr RTOS over the SPI4 peripheral. I’ve created a board overlay where the sensor is defined under &spi4, I’ve also configured the CS and SPI pins as follows:



The corresponding SPI pinctrl block is:


I’m using DEVICE_DT_GET(DT_NODELABEL(icm42670p)) In the application, and at runtime, I get the following log:


Enabled required Kconfig flags in prj.conf:



Question:
What could be the root cause of this “device not ready” issue for the ICM42670P on SPI4? Are there any extra steps required for nRF5340 or SPI4 in Zephyr?

Any suggestions for debugging or confirming SPI4 peripheral activation would be greatly appreciated.



Related