arm-trusted-firmware/include/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 feat(allwinner): allow to skip PMIC regulator setup 2021-12-27 15:32:22 +00:00
amlogic meson: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
arm feat(gic): add support for local chip addressing 2025-01-23 16:27:24 +01:00
auth feat(mbedtls): optimize SHA256 for reduced memory footprint 2024-12-30 14:35:15 +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 Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
coreboot coreboot: Use generic base address 2020-02-25 09:34:38 +00:00
fwu style(fwu): change the metadata fields to align with specification 2024-03-01 14:40:05 +05:30
io chore(io): remove io_dummy driver 2023-04-28 15:45:43 +02:00
marvell fix(plat/marvell/a3720/uart): do external reset during initialization 2021-12-02 17:38:02 +01:00
measured_boot refactor: digest sizes 2024-09-30 16:05:54 -07:00
mentor Standardise header guards across codebase 2018-11-08 10:20:19 +00:00
nuvoton/npcm845x feat(nuvoton): added support for npcm845x chip 2023-07-26 08:14:45 +03:00
nxp feat(s32g274a): split early clock initialization 2025-01-14 13:02:51 +02:00
partition refactor(guid-partition): list.entry_count to unsigned int 2024-03-18 11:46:00 -05:00
rambus drivers/rambus: add TRNG-IP-76 driver 2021-02-11 09:43:18 +00:00
renesas/rcar/console rcar: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
rpi3 refactor(rpi): move register definitions out of rpi_hw.h 2024-03-08 20:57:13 +02:00
st feat(st-ddr): add STM32MP2 driver 2024-10-09 15:09:11 +02:00
synopsys drivers: synopsys: Fix synopsys MMC driver 2019-03-12 14:39:50 +08:00
ti/uart 16550: Use generic console_t data structure 2020-02-25 09:34:38 +00:00
clk.h feat(clk): add set_rate callback 2024-06-18 17:18:31 +03:00
console.h refactor(console): disable getc() by default 2023-10-11 08:40:14 +02:00
console_assertions.h refactor(console): disable getc() by default 2023-10-11 08:40:14 +02:00
delay_timer.h refactor(delay-timer): add timer callback functions 2024-10-16 10:33:03 +02: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 refactor(plat/rockchip/rk3399/drivers/gpio): reduce code duplication 2022-01-04 15:26:43 +01:00
mmc.h feat(mmc): get boot partition size 2022-09-07 09:36:48 +02:00
nand.h feat(mtd): add platform function to allow using external buffer 2022-08-30 09:20:20 +02:00
raw_nand.h nand: raw_nand: fix timeout issue in nand_wait_ready 2020-09-24 09:32:23 +02:00
scmi-msg.h fix(scmi): add parameter for plat_scmi_clock_rates_array 2023-08-21 19:46:52 +08:00
scmi.h drivers: move scmi-msg out of st 2021-01-20 11:37:14 +08:00
spi_mem.h Add SPI-MEM framework 2020-01-20 11:32:59 +01:00
spi_nand.h fix(spi-nand): add Quad Enable management 2023-05-31 18:03:28 +02:00
spi_nor.h Add SPI-NOR framework 2020-01-20 11:32:59 +01:00
ufs.h feat(ufs): adds timeout and error handling 2023-03-15 09:53:12 +00:00
usb_device.h fix(usb): add missing include 2024-02-05 09:24:54 +01:00