i2c_nrfx_twim power management in NCS 2.7.0

NCS 2.7.0 nrf52840

I noticed in i2c_nrfx_twim.c  there are some calls to pm_device_runtime_get, while in another thread (thread) it was mentioned that Nordic is no longer supporting CONFG_PM_DEVICE.

The git history for i2c_nrfx_twim.c mentions that previously nrfx_twim_enable/nrfx_twim_disable were used and gave a 2-3 uA reduction in current.

Do later versions of NCS revert the PM_DEVICE changes or is nordic not actually dropping support for CONFIG_PM_DEVICE_RUNTIME ?

Should I replace the pm-device_runtime_get calls with nrfx_twim_enable/nrfx_twim_disable calls to get the previously available current reduction?

Parents
  • Hi Anthony,

    My understanding is that what depreciated is the PM module not PM_DEVICE. 
    You can find CONFIG_PM_DEVICE is still used in our nrf samples in NCS v2.9 (for example in \zephyr\samples\boards\nordic\system_off sample) and pm_device_* is used there. 

    Could you tell what's the current consumption you have when you enter System ON idle and System OFF in your test (with pm_device APIs) ? 

  • I tried PM_DEVICE_RUNTIME but it caused gpio-keys to break.  I think it was disabling the gpiote module during sleep.  For now I have replaced pm_device_runtime_get/put calls with nrfx_twim_enable/disable and appear to save around ~2uW of power.

    Our standby power is currently around 110 uW which is acceptable but I'm always looking for ways to shave a bit more off.

Reply Children
Related