arm-trusted-firmware/include/drivers/arm
Andre Przywara 93b785f5ae feat(arm_fpga): determine GICR base by probing
When an Arm Ltd GIC (Arm GIC-[567]00) is instantiated with one or more
ITSes, the ITS MMIO frames appear between the distributor and
redistributor addresses. This makes the beginning of the redistributor
region dependent on the existence and number of ITSes.

To support various FPGA images, with and without ITSes, probe the
addresses in question, to learn whether they accommodate an ITS or a
redistributor. This can be safely done by looking at the PIDR[01]
registers, which contain an ID code for each region, documented in the
Arm GIC TRMs.

We try to find all ITSes instantiated, and skip either two or four 64K
frames, depending on GICv4.1 support. At some point we will find the
first redistributor; this address we then update in the DTB.

Change-Id: Iefb88c2afa989e044fe0b36b7020b56538c60b07
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
2021-11-04 15:58:34 +00:00
..
cryptocell cryptocell: add support for Cryptocell 713 2020-04-01 22:14:36 +03:00
css fix(scmi): relax requirement for exact protocol version 2021-10-13 16:53:15 +01:00
fvp Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ 2019-08-01 13:14:12 -07:00
arm_gicv3_common.h feat(gicv3): introduce GIC component identification 2021-11-04 15:58:34 +00:00
cci.h Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ 2019-08-01 13:14:12 -07:00
ccn.h Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ 2019-08-01 13:14:12 -07:00
dcc.h drivers: dcc: Support JTAG DCC console 2021-03-31 21:59:45 -06:00
ethosn.h feat(drivers/arm/ethosn)!: multi-device support 2021-10-01 09:27:11 +01:00
gic600_multichip.h gic/gic600: add support for multichip configuration 2019-11-11 23:40:23 +05:30
gic600ae_fmu.h feat(gic600ae): introduce support for Fault Management Unit 2021-09-01 08:24:33 -07:00
gic_common.h TF-A: Add GICv4 extension for GIC driver 2020-04-07 11:17:58 +01:00
gicv2.h Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ 2019-08-01 13:14:12 -07:00
gicv3.h feat(arm_fpga): determine GICR base by probing 2021-11-04 15:58:34 +00:00
nic_400.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
pl011.h pl011: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
pl061_gpio.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
sbsa.h drivers/sbsa: add sbsa watchdog driver 2019-04-17 18:24:35 +05:30
scu.h drivers: add a driver for snoop control unit 2020-01-03 10:44:28 +00:00
smmu_v3.h SMMUv3: Abort DMA transactions 2019-05-10 16:09:19 +01:00
sp804_delay_timer.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
sp805.h Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ 2019-08-01 13:14:12 -07:00
tzc380.h tzc: remove deprecated types 2019-04-03 14:55:18 +01:00
tzc400.h feat(tzc400): update filters by region 2021-09-08 09:05:16 +02:00
tzc_common.h tzc: remove deprecated types 2019-04-03 14:55:18 +01:00
tzc_dmc500.h Replace __ASSEMBLY__ with compiler-builtin __ASSEMBLER__ 2019-08-01 13:14:12 -07:00
tzc_dmc620.h TZ DMC620 driver: Fix MISRA-2012 defects 2020-07-27 15:04:14 +01:00