Problem Statement: Zephyr needs to provide an architecture independent method for power management application to invoke a low power state on the CPU.
Why this is a problem: ----------------------------- LPS state transition operations impact kernel idle logic e.g. interrupts need to be atomically enabled before entering CPU low power idle state. Power Management Application policy enforcement requires that code to be easily ported/reused across architectures.
What should be done: ----------------------------- At the arch specific regions in the kernel, provide API to transition to LPS for each architecture. Kernel dependent operations like atomically enabling interrupts should be done in this API.
Key ---- PMA: Power Manager Application ISR: Interrupt Service Routine