This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ARM Trusted Firmware Cluster Power Down Duration

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

  • Not my area, but basically are you saying that 200usec is a short enough period the cluster should be left up and 2000usec is long enough that it should shut down? If you have both those figures stored then you should have the 200usec associated with the cluster as being the shortest of the times associated with the CPUs in the cluster. Probably I'd have had Linux do most of the deciding since other events can also wake up a CPU and pass over some advice, I know throwing things over the fence sounds bad but sometimes it can be best. So yes talking with them sounds a good idea.