arm-trusted-firmware/drivers
Jerry Wang c89438bcea feat(gic): add support for local chip addressing
This patch adds support for Local Chip Addressing (LCA). In a multi-chip
system, enablig LCA allows each GIC Distributor to maintain its own
version of routing table. This feature is activated when the
GICD_CFGID.LCA bit is set to 1.

The existing `gic600_multichip_data` data structure did not account for
the LCA feature. To support LCA:
- `rt_owner_base` is replaced by `base_addrs[]`. This is required
  because each GICD in the system needs to be configured independently,
  and their base addresses must be passed to the driver.
- `chip_addrs` is changed from 1D to 2D array to store the routing table
  for each chip's GICD. The entries in `chip_addrs` are configuration
  dependent, as the GIC specification does not enforce this.

On a multi-chip platform with chip count N where LCA is enabled by
default, the `gic600_multichip_data` structure should contain all copies
of the routing table (N*N entries). On platforms where LCA is not
supported, only the first sub-array with N entries is required. The
function signature of `gic600_multichip_init` remains unchanged, but if
the LCA feature is enabled, the driver will expect the routing table
configuration in the described format.

Change-Id: I8830c2cf90db6a0cae78e99914cd32c637284a2b
Signed-off-by: Jerry Wang <Jerry.Wang4@arm.com>
2025-01-23 16:27:24 +01:00
..
allwinner refactor(allwinner): use fdt_node_is_enabled() in AXP driver 2023-02-03 13:31:28 +00:00
amlogic refactor(console): disable getc() by default 2023-10-11 08:40:14 +02:00
arm feat(gic): add support for local chip addressing 2025-01-23 16:27:24 +01:00
auth refactor(mbedtls): rename default mbedtls confs 2024-12-09 15:59:45 +00:00
brcm fix(tree): correct some typos 2023-05-09 15:57:12 +01:00
cadence fix(intel): refactor SDMMC driver for Altera products 2024-10-25 09:38:51 +08:00
cfi/v2m coverity: fix MISRA violations 2020-02-18 10:47:46 -06:00
clk feat(clk): add set_rate callback 2024-06-18 17:18:31 +03:00
console refactor(console): disable getc() by default 2023-10-11 08:40:14 +02:00
coreboot/cbmem_console/aarch64 Don't return error information from console_flush 2020-10-09 10:21:50 -05:00
delay_timer refactor(delay-timer): add timer callback functions 2024-10-16 10:33:03 +02:00
fwu feat(fwu): add a function to obtain an alternate FWU bank to boot 2024-03-01 14:40:05 +05:30
gpio Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
imx fix: unify fallthrough annotations 2022-12-01 16:17:24 +00:00
intel/soc/stratix10/io io: change seek offset to signed long long 2020-01-10 21:14:57 +01:00
io chore(io): remove io_dummy driver 2023-04-28 15:45:43 +02:00
marvell refactor(console): disable getc() by default 2023-10-11 08:40:14 +02:00
measured_boot feat(tc): provide target_locality info of AP FW components 2024-07-03 15:03:20 +02:00
mentor/i2c Enable -Wlogical-op always 2019-11-19 08:53:21 -06:00
mmc fix(mmc): initialises response buffer with zeros 2023-09-16 10:42:39 +00:00
mtd fix(nand): reset the SLC NAND 2023-09-27 16:21:58 +02:00
nxp feat(s32g274a): split early clock initialization 2025-01-14 13:02:51 +02:00
partition fix(guid-partition): fix unaligned access in load_mbr_header() 2024-07-04 12:33:15 +01:00
rambus drivers/rambus: add TRNG-IP-76 driver 2021-02-11 09:43:18 +00:00
renesas fix(rcar3-drivers): disable A/B loader support by default 2024-11-10 16:09:55 +01:00
rpi3 fix(rpi3): use correct define for GPIO reg_clr 2024-08-21 11:53:27 -05:00
scmi-msg feat(scmi): add scmi sensor support 2024-02-27 14:29:53 +08:00
st fix(st-ddr): move skipddc_dat definition 2024-11-04 18:45:26 +01:00
synopsys Merge changes from topic "jc/shift-overflow" into integration 2019-07-16 10:11:27 +00:00
ti/uart refactor(console): disable getc() by default 2023-10-11 08:40:14 +02:00
ufs chore(ufs): refactor ufs_get_device_info 2024-02-20 02:19:19 -08:00
usb fix(usb): correct type in message 2022-02-15 18:09:51 +01:00