I2C Communication Issue with nPM1300 on Custom Board (nRF54L15)

Hello,

I’m working with a custom board using the nRF54L15 and the latest Nordic SDK, and I’m facing an issue while trying to communicate with an nPM1300 over I2C.

Here’s what I’ve observed:

  • On the logic analyzer, I can see that the SDA line is being pulled down, but nothing happens afterward.

  • The SCL line remains high after the SDA is pulled down.

  • I’ve checked the I2C lines and confirmed that neither is shorted, and I have 4.7k pull-up resistors on both lines.

  • To verify the MCU can drive the SCL line, I swapped the pins in the configuration, and the MCU is able to pull SCL low.

I’m getting a -5 error code, which seems to occur at this line in the i2c_nrfx_twim.c file:

ret = k_sem_take(&dev_data->completion_sync, I2C_TRANSFER_TIMEOUT_MSEC);

Any help troubleshooting this or suggestions on what might be causing the issue would be greatly appreciated.

Thanks!

Im attaching my overlay, config and zephyr.dts file

foxgym_sensor_nrf54l15_cpuapp.overlay1738.zephyr.dts22464.prj.conf

Related