3.17.4 SPI ownership

The owner of a SPI block is defined by the GICD_CHIPn registers.

You can remove SPI blocks from a chip and add them to another chip by reprogramming the relevant GICD_CHIPn registers during operation. As with all Routing table operations, GICD_DCHIPR.PUP must be polled to check completion of the operation.

Before you change the owner of a SPI block, you must ensure that the GICD_CTLR group enables have cleared, GICD_CTLR.RWP has returned to 0, and that the SPI blocks are removed from a chip before they are added to another chip.

When a SPI block is removed from, or added to, a chip, all programming that is associated with the SPI block returns to the reset state.

Note:

You must not alter the SPI_BLOCK_MIN of an online chip because the results are unpredictable. To change SPI_BLOCK_MIN:
  1. Move the chip offline by setting GICD_CHIPRn.SocketState = 0.
  2. Alter SPI_BLOCK_MIN when the chip is brought back online.
Non-ConfidentialPDF file icon PDF version100336_0104_00_en
Copyright © 2016–2018 Arm Limited or its affiliates. All rights reserved.