Query Regarding Runtime CPU Clock Frequency Control on nRF54LM20B for Low-Power Application

Hello Nordic Support Team,

I am working on a project using the nRF54LM20B controller, and my application requires operation in a very low-power mode.

To optimize power consumption, I would like to know whether it is possible to control or change the CPU clock frequency at runtime in the application.

Could you please confirm the following points?

  1. Does the nRF54LM20B support runtime CPU clock frequency scaling/control?
  2. If yes, is there any supported API or driver in the nRF Connect SDK / Zephyr to change the CPU frequency during runtime?
  3. Are there any limitations or recommended practices for changing the CPU clock frequency while the application is running?
  4. Could you please share any official sample project, application note, or documentation related to runtime CPU frequency control or low-power configuration for nRF54LM20B?
  5. If runtime CPU frequency control is not supported, what is the recommended approach to achieve the lowest possible power consumption on this device?

My main goal is to reduce power consumption by dynamically adjusting the CPU operating frequency depending on the application state.

Please guide me on the best approach for implementing this on nRF54LM20B.

Thank you.

  • Hi!

    Does the nRF54LM20B support runtime CPU clock frequency scaling/control?

    No. From https://docs.nordicsemi.com/r/bundle/ps_nrf54lm20a/page/chapters/oscillators.html-pll_desc ,

    we have, "Changing the frequency on a running system or to an unsupported value causes undefined system behavior and the device can malfunction."

    If you are using Bluetooth (and therefore also MPSL), the CPU clock frequency must be 128 MHz. (documented here: https://nrfconnectdocs.nordicsemi.com/ncs/3.4.0/nrfxlib/mpsl/doc/mpsl.html )

  • Thanks for the clarification regarding the CPU clock frequency.

    My actual requirement is to minimize power consumption while keeping an IMU sensor active over SPI.

    The intended application flow is:

    • Keep the device in the lowest practical power/idle state while continuously monitoring the IMU.

    • The IMU is connected through SPI and configured to generate an interrupt when a relevant event occurs.

    • When an IMU interrupt is triggered, wake the CPU and allow the application to run at full performance to process the sensor data.

    • After the processing is complete, return the device to the lowest-power state again.

    Since runtime CPU clock-frequency scaling is not supported on the nRF54LM20B, could you please suggest the recommended architecture for implementing this use case?

    In particular, I would like to understand:

    1. What is the recommended low-power state for the CPU while waiting for an IMU interrupt?

    2. Can the IMU interrupt GPIO remain active as a wake-up source while the CPU is in that low-power state?

Related