
18 Oct
2024
18 Oct
'24
1:18 a.m.
On Wed, 16 Oct 2024 at 00:16, Patrick Rudolph patrick.rudolph@9elements.com wrote:
Add a generic GICV2 driver that:
- parses the DT and generates the ACPI MADT subtables
- implement of_xlate() and allows irq_get_by_index() to return the correct interrupt mappings
Map DT interrupts to ARM GIC interrupts as follows:
- Interrupt numbers ID32-ID1019 are used for SPIs
- ID0-ID15 are used for SGIs
- ID16-ID31 are used for PPIs
TEST: Booted on QEMU raspb4 using GICV2 driver model generated MADT.
Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com
Changelog v6:
- Update header order
Changelog v9:
- Map SPI interrupts to ID32+
- Map PPI interrupts to ID16+
arch/arm/Kconfig | 7 ++++ arch/arm/lib/Makefile | 1 + arch/arm/lib/gic-v2.c | 89 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 arch/arm/lib/gic-v2.c
Reviewed-by: Simon Glass sjg@chromium.org