arm-trusted-firmware/include
Stephan Gerhold a7521bd5d8 feat(gic): allow overriding GICD_PIDR2_GICV2 address
Older Qualcomm SoCs seem to have a custom Qualcomm implementation of
the GICv2 specification. It's mostly compliant but unfortunately it
looks like a mistake was made with the GICD_PIDR registers. PIDR2 is
defined to be at offset 0xFE8, but the Qualcomm implementation has it
at 0xFD8.

It looks like the entire PIDR0-3/4-7 block is swapped compared to the
ARM implementation: PIDR0 starts at 0xFD0 (instead of 0xFE0)
and PIDR4 starts at 0xFE0 (instead of 0xFD0).

Actually this only breaks a single assert in gicv2_main.c that checks
the GIC version: assert((gic_version == ARCH_REV_GICV2) ...
In release mode everything seems to work correctly.

To keep the code generic, allow affected platforms to override the
GICD_PIDR2_GICV2 register address in platform_def.h. Since this header
is typically included very early (e.g. from assert.h), add an #ifndef
so the definitions from platform_def.h takes priority.

Change-Id: I2929a8c1726f8d751bc28796567eb30b81eca2fe
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
2022-02-03 15:19:22 +01:00
..
arch feat(ccidx): update the do_dcsw_op function to support FEAT_CCIDX 2021-12-14 12:48:08 -06:00
bl1 Specify signed-ness of constants 2020-08-14 11:36:05 +00:00
bl2 BL2_AT_EL3: Enable pointer authentication support 2019-02-27 11:58:09 +00:00
bl2u Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
bl31 feat(rme): add ENABLE_RME build option and support for RMM image 2021-10-05 11:49:59 -05:00
bl32 spd: tlkd: support new TLK SMCs for RPMB service 2020-03-21 19:00:05 -07:00
common feat(libfdt): also allow changing base address 2021-11-04 15:58:34 +00:00
drivers feat(gic): allow overriding GICD_PIDR2_GICV2 address 2022-02-03 15:19:22 +01:00
dt-bindings feat(dt-bindings): add STM32MP1 TZC400 bindings 2021-09-07 09:14:05 +02:00
export refactor(plat/rockchip/rk3399/drivers/gpio): reduce code duplication 2022-01-04 15:26:43 +01:00
lib feat(cpu): add library support for Poseidon CPU 2022-01-28 11:12:21 +00:00
plat feat(fwu): add platform hook for getting the boot index 2022-01-27 18:09:02 +05:30
services fix(rmmd): align RMI and GTSI FIDs with SMCCC 2021-12-08 10:15:21 +00:00
tools_share feat(rme): add ENABLE_RME build option and support for RMM image 2021-10-05 11:49:59 -05:00