arm-trusted-firmware/include/drivers
Andrew F. Davis b5443284f4 ti: k3: common: Add support for runtime detection of GICR base address
Valid addresses for GICR base are always a set calculable distance from
the GICD and is based on the number of cores a given instance of GICv3 IP
can support. The formula for the number of address bits is given by the
ARM GIC-500 TRM section 3.2 as 2^(18+log2(cores)) with the MSB set to
one for GICR instances. Holes in the GIC address space are also
guaranteed to safely return 0 on reads. This allows us to support runtime
detection of the GICR base address by starting from GIC base address plus
BIT(18) and walking until the GICR ID register (IIDR) is detected. We
stop searching after BIT(20) to prevent searching out into space if
something goes wrong. This can be extended out if we ever have a device
with 16 or more cores.

Signed-off-by: Andrew F. Davis <afd@ti.com>
2019-01-22 13:11:09 -06:00
..
allwinner Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
arm ti: k3: common: Add support for runtime detection of GICR base address 2019-01-22 13:11:09 -06:00
auth Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
cadence Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
cfi Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
coreboot Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
io Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
marvell Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
mentor Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
meson Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
partition Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
st stm32mp1: add BSEC driver 2019-01-18 15:45:08 +01:00
synopsys Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
ti/uart Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
console.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
console_assertions.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
delay_timer.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
dw_ufs.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
generic_delay_timer.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
gpio.h Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
mmc.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
ufs.h Sanitise includes across codebase 2019-01-04 10:43:17 +00:00