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>
This commit is contained in:
committed by
Lean Sheng Tan
parent
fca612497d
commit
3df6cc9de6
@@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user