Functional Description
ARM DDI 0500D
Copyright © 2013-2014 ARM. All rights reserved.
2-24
ID021414
Non-Confidential
Note
For device powerdown, all operations on a lead core must occur after the equivalent step on all
non-lead cores.
To power up the cluster, apply the following sequence:
1.
For each core in the cluster, assert
nCPUPORESET
LOW.
2.
Assert
nL2RESET
LOW and hold
L2RSTDISABLE
LOW.
3.
Apply power to the PDCORTEXA53 and PDL2 domains while keeping the signals
described in steps 1 and 2 LOW.
4.
Release the cluster output clamps.
5.
Continue a normal cold reset sequence.
Dormant mode
Optionally, the Dormant mode is supported in the cluster. In this mode all the cores and L2
control logic are powered down while the L2 cache RAMs are powered up and retain state. The
RAM blocks that remain powered up during Dormant mode are:
•
L2 tag RAMs.
•
L2 data RAMs.
•
L2 victim RAM.
To support Dormant mode, you must ensure:
•
That the L2 cache RAMs are in a separate power domain.
•
To clamp all inputs to the L2 cache RAMs to benign values. This avoids corrupting data
when the cores and L2 control power domains enter and exit power down state.
Before entering Dormant mode the architectural state of the cluster, excluding the contents of
the L2 cache RAMs that remain powered up, must be saved to external memory.
To exit from Dormant mode to Normal state, the SoC must perform a cold reset sequence. The
SoC must assert the reset signals until power is restored. After power is restored, the cluster exits
the cold reset sequence, and the architectural state must be restored.
To enter Dormant mode, apply the following sequence:
1.
Disable the data cache, by clearing the SCTLR.C bit, or the HSCTLR.C bit if in Hyp
mode. This prevents more data cache allocations and causes cacheable memory attributes
to change to Normal Non-cacheable. Subsequent loads and stores do not access the L1 or
L2 caches.
2.
Clean and invalidate all data from the L1 Data cache. The L2 duplicate snoop tag RAM
for this core is now empty. This prevents any new data cache snoops or data cache
maintenance operations from other cores in the cluster being issued to this core.
3.
Disable data coherency with other cores in the cluster, by clearing the
CPUECTLR.SMPEN bit. Clearing the SMPEN bit enables the core to be taken out of
coherency by preventing the core from receiving cache or TLB maintenance operations
broadcast by other cores in the cluster.
4.
Save architectural state, if required. These state saving operations must ensure that the
following occur:
•
All ARM registers, including the CPSR and SPSR, are saved.