SPRZ452I july 2018 – may 2023 AM6526 , AM6528 , AM6546 , AM6548
GIC: ITS Misbehavior
GIC AXI master traffic goes through protocol conversion bridge to access memory. Because of the misconfiguration of this protocol conversion bridge AXI read request generated on one particular ARID will not be returned by the bridge.
This will cause all ITS requests on that particular Device ID, for which read access was requested to fail.
Impact of this is if more than 4 or more Device IDs are used in ITS, GIC can use ARID for AXI read which is not supported by protocol conversion bridge and that will result in missed interrupts.
In the boot sequence, software needs to setup 5 dummy device IDs starting from 0, which are then reserved and can't be used for application, and then send ITS request for the first 2 device IDs. This sequence should use up unsupported ARID which will not be used by GIC during application and no ITS misbehavior would be seen.
Other combination of workaround can be setup 6 dummy device IDs starting from 0 and send ITS request to first device ID, setup 7 dummy device IDs starting from 0 and send ITS request to first 4 device IDs.
Note: This workaround is not implemented in Processor SDK Linux since it needs modifications to Arm® provided / maintained generic driver for GIC in Linux.