Hi,
I'm working on a system which is built from two cluster, each includes two cores Cortex-A72
I have a dedicated CPU (Cortex-M3) which is used for power management functionality, and receives the wake up events for power down cores.
The trigger is defined by each core wake up timer - which means each core before power down configures the wake up timer to generate wake up interrupt.
Linux device tree defines two levels of idles state
CPU Idle state - power down core
Cluster Idle state - power down cluster
My Question is for Cluster Power Down
Core A enters idle, PSCI coordination defines CPU power down (since CPU B is active), the core execute power down sequence - set the wake up timer to 200usec
Core B enters idle, PSCI coordination defines Cluster power down (since CPU A is already down), the core execute Cluster power down - wake up timer is set to 2000usec
Core A wakes up after 200usec has passed, since Cluster was power down it will power up the Cluster
How do I overcome this issue?
Thanks
Oren