arm: acpi: Add generic ACPI methods
Add generic ACPI code to generate - MADT GICC - MADT GICD - MADT GICR - MADT GIC ITS - PPTT processor - PPTT cache as commonly used on arm platforms. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-by: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Cc: Simon Glass <sjg@chromium.org>
This commit is contained in:
committed by
Tom Rini
parent
04001adce1
commit
f36e29e8da
@@ -342,7 +342,10 @@ enum acpi_apic_types {
|
||||
ACPI_APIC_LX2APIC, /* Processor local x2APIC */
|
||||
ACPI_APIC_LX2APIC_NMI, /* Local x2APIC NMI */
|
||||
ACPI_APIC_GICC, /* Generic Interrupt Ctlr CPU i/f */
|
||||
ACPI_APIC_GICD /* Generic Interrupt Ctlr Distributor */
|
||||
ACPI_APIC_GICD, /* Generic Interrupt Ctlr Distributor */
|
||||
ACPI_APIC_MSI_FRAME, /* Generic Interrupt MSI Frame */
|
||||
ACPI_APIC_GICR, /* Generic Interrupt Ctlr Redistributor */
|
||||
ACPI_APIC_ITS, /* Interrupt Translation Service */
|
||||
};
|
||||
|
||||
/* MADT: Processor Local APIC Structure */
|
||||
@@ -437,6 +440,35 @@ struct acpi_madt_gicd {
|
||||
u8 reserved3[3];
|
||||
} __packed;
|
||||
|
||||
/**
|
||||
* struct __packed acpi_madt_gicr - GIC Redistributor (type 0xe)
|
||||
*
|
||||
* This holds information about the Generic Interrupt Controller (GIC)
|
||||
* Redistributor interface. See ACPI Spec v6.3 section 5.2.12.17
|
||||
*/
|
||||
struct acpi_madt_gicr {
|
||||
u8 type;
|
||||
u8 length;
|
||||
u16 reserved;
|
||||
u64 discovery_range_base_address;
|
||||
u32 discovery_range_length;
|
||||
} __packed;
|
||||
|
||||
/**
|
||||
* struct __packed acpi_madt_its - GIC Interrupt Translation Service (type 0xf)
|
||||
*
|
||||
* This holds information about the Interrupt Translation Service (ITS)
|
||||
* Structure. See ACPI Spec v6.3 section 5.2.12.18
|
||||
*/
|
||||
struct acpi_madt_its {
|
||||
u8 type;
|
||||
u8 length;
|
||||
u16 reserved;
|
||||
u32 gic_its_id;
|
||||
u64 physical_base_address;
|
||||
u32 reserved2;
|
||||
} __packed;
|
||||
|
||||
/* MCFG (PCI Express MMIO config space BAR description table) */
|
||||
struct acpi_mcfg {
|
||||
struct acpi_table_header header;
|
||||
|
||||
Reference in New Issue
Block a user