diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2023-06-27 16:44:59 +0200 |
---|---|---|
committer | Lean Sheng Tan <sheng.tan@9elements.com> | 2023-09-18 13:34:47 +0000 |
commit | 3df6cc9de61ba16a94b40086999ddb6a9943dc26 (patch) | |
tree | adf8645c5b6fc22002b85b7f99858bd9cc4d8d0f /src/include/device/path.h | |
parent | fca612497db15caebdf97d741c85193ee2f0044b (diff) |
acpi: Add functions to declare ARM GIC V3 hardware
For GICD and GICR a SOC needs to implement 2 callbacks to get the base
of those interrupt controllers.
For all the cpu GIC the code loops over all the DEVICE_PATH_GICC_V3
devices in a similar fashion to how x86 lapics are added. It's up to the
SOC to add those devices to the tree.
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Change-Id: I5074d0a76316e854b7801e14b3241f88e805b02f
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76132
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/include/device/path.h')
-rw-r--r-- | src/include/device/path.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/include/device/path.h b/src/include/device/path.h index c0df66b821..f8c43901c5 100644 --- a/src/include/device/path.h +++ b/src/include/device/path.h @@ -23,6 +23,7 @@ enum device_path_type { DEVICE_PATH_MMIO, DEVICE_PATH_GPIO, DEVICE_PATH_MDIO, + DEVICE_PATH_GICC_V3, /* * When adding path types to this table, please also update the @@ -48,6 +49,7 @@ enum device_path_type { "DEVICE_PATH_MMIO", \ "DEVICE_PATH_GPIO", \ "DEVICE_PATH_MDIO", \ + "DEVICE_PATH_GICC_V3", \ } struct domain_path { @@ -120,6 +122,12 @@ struct mdio_path { unsigned int addr; }; +struct gicc_v3_path { + unsigned long long mpidr; + unsigned int vgic_mi; + unsigned int pi_gsiv; +}; + struct device_path { enum device_path_type type; union { @@ -138,6 +146,7 @@ struct device_path { struct mmio_path mmio; struct gpio_path gpio; struct mdio_path mdio; + struct gicc_v3_path gicc_v3; }; }; |