Arm
®
CoreLink™ GIC-600AE Generic Interrupt Controller
Technical Reference Manual
Document ID: 101206_0003_04_en
Issue: 04
Operation
This value is driven by the AXI4-Stream input interface icdrtdest signal. Depending on
how cross-chip messages are routed, this value can be the chip_id signal value or a more
complex identifier.
b)
GICD_CHIPRx.SPI_BLOCK_MIN and GICD_CHIPRx.SPI_BLOCKS to appropriate values for
the SPIs that chip x owns.
If the range of interrupt ids for chip x is ID96-ID159:
• Set SPI_BLOCK_MIN = (96 – 32) / 32 = 2
• Set SPI_BLOCKS = (159 – 96 + 1) / 32 = 2
c)
GICD_CHIPRx.SocketState = 1
5. To check that the writes are successful, read GICD_CHIPRx.
The writes might fail due to security settings, an overlapping or nonexistent SPI, or if another
update is still in progress. If the accesses fail, then GICD_CHIPRx.SocketState == 0, indicating
that the chip is offline.
6. To check that the actions of this sequence have executed correctly, read the following register
fields and ensure that their values are as follows:
a.
GICD_CHIPSR.RTS == 2 (Consistent)
b.
GICD_DCHIPR.rt_owner == chip x
c.
GICD_DCHIPR.PUP == 0
Chip x is now in the Consistent state and ready to accept connections to other chips in the
system configuration.
To connect more chips:
7. Set the relevant address and SPI ownership information of the next chip you want to connect
to, chip y, by writing to GICD_CHIPRy.
You can do this step through any chip that is already connected, or more efficiently by writing
to the chip that owns the Routing table, chip_id signal value == rt_owner.
8. Poll GICD_DCHIPR until bit PUP == 0, indicating that the connection is complete.
9. To check whether the write to GICD_CHIPRy is accepted, read GICD_CHIPRy.
For each chip connection, repeat steps 7 on page 90 through 9 on page 90.
4.16.2 Changing the Routing table owner
You can change the chip that owns the Routing table at any time. However, the Routing table
owner must be the last chip to be powered down.
About this task
The following procedure describes how to change the owner of the Routing table:
Procedure
1. Write to GICD_DCHIPR.rt_owner with a value that selects the appropriate chip to be the
Routing table owner.
The chip_id signal sets the identification value of a chip.
2. Poll for GICD_DCHIPR.PUP == 0.
Copyright © 2018–2020, 2022 Arm Limited (or its affiliates). All rights reserved.
Non-Confidential
Page 90 of 268