msm: spm: Support cold booting cpus in a different cluster
When a cpu in another cluster is cold-booted, the cluster could be two different states described below. This patch identifies the state of the cluster and performs the necessary voltage and configurations. 1) All cores in the cluster are in reset. To enable the higher level cluster to enter low power mode, when all cores are in reset, the Q2S of the cluster L2 has to be configured for legacy low power mode. When the L2 is configured as such, it initiates a handshake with the SPM and it indefinitely waits for an interrupt. Any PMIC requests that are made through the SPM end up in a waiting state because the PMIC and low power state machines are mutually exclusive. In these cases, disable Q2S so the low power state machine isn't triggered and SPM can handle any VCTL requests. 2) One of the cpus in cluster was cold booted using step 1 and the cluster has entered a low power mode as a part of idle/hotplug. The L2 of the cluster needs to be brought out of the reset before releasing the core from reset.L2 is woken out sleep by toggling a secure chicken bit before bringing the core out of reset. Change-Id: Ie8da36c1341b03a26a2621250402321c9376f324 Signed-off-by:Mahesh Sivasubramanian <msivasub@codeaurora.org> Signed-off-by:
Rohit Vaswani <rvaswani@codeaurora.org> Signed-off-by:
Praveen Chidambaram <pchidamb@codeaurora.org>
Loading
Please register or sign in to comment