Hello. I'm trying to get my I2C peripheral (I2C1) working with Zephyr's Power Management feature. If I make my i2c1 peripheral compatible with "nordic,nrf-twi" the driver works, but the driver does not support Zephyr's CONFIG_PM functionality.
If I make the driver compatible with "nordic,nrf-twim", which does support Zephyr's CONFIG_PM functionality, the driver does not work at all. Line 153 in i2c_nrfx_twim.c:
ret = k_sem_take(&dev_data->completion_sync, I2C_TRANSFER_TIMEOUT_MSEC);
assigns -EAGAIN to ret. Increasing the I2C_TRANSFER_TIMEOUT_MSEC doesn't fix the problem, so it appears the semaphore gets reset during the waiting period.
Has the twim driver been tested and validated with CONFIG_PM=y?
My *-pinctrl.dtsi file and .dts file snippet are attached.
Thanks,
Rob