EasyManua.ls Logo

ARM CoreLink GIC-600AE

Default Icon
268 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Arm
®
CoreLink™ GIC-600AE Generic Interrupt Controller
Technical Reference Manual
Document ID: 101206_0003_04_en
Issue: 04
Operation
If operating through the core, each core must program its GICR_PWRR.RDPD = 0 and
GICR_PWRR.RDAG = 0 to ensure that the Redistributor powers up. Alternatively, a single core
can power up the Redistributor for all cores that connect to the same Redistributor by writing
GICR_PWRR.RDPD = 0 and GICR_PWRR.RDAG = 1.
You can use GICR_PWRR.RDG to identify which core shares a Redistributor.
The powerup and powerdown sequences are shown in the following pseudocode:
Power off (setting RDPD to 1):
// Check group not transitioning.
repeat
until (GICR_PWRR.RDGPD == GICR_PWRR.RDGPO)
// Write to power the CPU off.
GICR_PWRR.RDPD = 1;
Power on (setting RDPD to 0):
repeat
// Check group not transitioning.
repeat
until (GICR_PWRR.RDGPD == GICR_PWRR.RDGPO)
// Write to power the CPU on.
GICR_PWRR.RDPD = 0;
// Check access, if RDPD == 0 then powered on.
until (GICR_PWRR.RDPD == 0)
GICR_PWRR must be accessed using the GICR address space that relates to the core being
powered on or off.
4.6.2 Processor core power management
The GIC architecture defines the programming sequence to safely power down a core that
connects to the GIC-600AE.
The powerdown programming sequence uses the GICR_WAKER.ProcessorSleep bit. When all cores
within a cluster are powered down using the architectural sequence, you can power gate the GIC
Stream interface for that cluster.
Before a core is powered down, you must set the GICR_WAKER.ProcessorSleep bit to 1. The
core must then poll the GICR_WAKER.ChildrenAsleep bit to ensure that there are no outstanding
transactions on the GIC Stream interface of the core.
To ensure that there are no interrupts during the powerdown of the core, in a typical powerdown
sequence you must:
1.
Mask interrupts on the core.
2.
Clear the CPU interface enables.
3.
Set the interrupt bypass disable on the CPU interface.
Copyright © 2018–2020, 2022 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 57 of 268

Table of Contents

Related product manuals