sb/intel: Use ACPI_COMMON_MADT_IOAPIC
i82801gx, i82801ix, i82801jx: Maintain IRQ #0 to GSI #2 override as positive edge trigger. ibexpeak, emulation/qemu-q35: Change IRQ #0 to GSI #2 override to positive edge trigger from the bus ISA default (positive edge). Change-Id: Ia8a04daf3a79d9f2f4801dc85e4975278e30dc8a Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74349 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
parent
10bdee1327
commit
7f8e2a6a4a
@ -14,7 +14,6 @@ config BOARD_SPECIFIC_OPTIONS
|
|||||||
select MAINBOARD_FORCE_NATIVE_VGA_INIT if !CHROMEOS
|
select MAINBOARD_FORCE_NATIVE_VGA_INIT if !CHROMEOS
|
||||||
select MEMORY_MAPPED_TPM
|
select MEMORY_MAPPED_TPM
|
||||||
select MAINBOARD_HAS_CHROMEOS
|
select MAINBOARD_HAS_CHROMEOS
|
||||||
select SOUTHBRIDGE_INTEL_COMMON_ACPI_MADT
|
|
||||||
select BOOT_DEVICE_NOT_SPI_FLASH
|
select BOOT_DEVICE_NOT_SPI_FLASH
|
||||||
select BOOT_DEVICE_MEMORY_MAPPED
|
select BOOT_DEVICE_MEMORY_MAPPED
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
config SOUTHBRIDGE_INTEL_I82801GX
|
config SOUTHBRIDGE_INTEL_I82801GX
|
||||||
bool
|
bool
|
||||||
|
select ACPI_COMMON_MADT_IOAPIC
|
||||||
select ACPI_COMMON_MADT_LAPIC
|
select ACPI_COMMON_MADT_LAPIC
|
||||||
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
|
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
|
||||||
select ACPI_SOC_NVS
|
select ACPI_SOC_NVS
|
||||||
|
@ -349,20 +349,6 @@ static void lpc_init(struct device *dev)
|
|||||||
i82801gx_fixups(dev);
|
i82801gx_fixups(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long acpi_fill_madt(unsigned long current)
|
|
||||||
{
|
|
||||||
/* IOAPIC */
|
|
||||||
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
|
|
||||||
|
|
||||||
/* INT_SRC_OVR */
|
|
||||||
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
|
||||||
current, 0, 0, 2, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_EDGE);
|
|
||||||
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
|
||||||
current, 0, 9, 9, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_LEVEL);
|
|
||||||
|
|
||||||
return current;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void i82801gx_lpc_read_resources(struct device *dev)
|
static void i82801gx_lpc_read_resources(struct device *dev)
|
||||||
{
|
{
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
config SOUTHBRIDGE_INTEL_I82801IX
|
config SOUTHBRIDGE_INTEL_I82801IX
|
||||||
bool
|
bool
|
||||||
|
select ACPI_COMMON_MADT_IOAPIC
|
||||||
select ACPI_COMMON_MADT_LAPIC
|
select ACPI_COMMON_MADT_LAPIC
|
||||||
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
|
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
|
||||||
select ACPI_SOC_NVS
|
select ACPI_SOC_NVS
|
||||||
|
@ -22,10 +22,6 @@ ramstage-y += ../common/pciehp.c
|
|||||||
|
|
||||||
smm-y += smihandler.c
|
smm-y += smihandler.c
|
||||||
|
|
||||||
ifneq ($(CONFIG_BOARD_EMULATION_QEMU_X86_Q35),y)
|
|
||||||
ramstage-y += madt.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
CPPFLAGS_common += -I$(src)/southbridge/intel/i82801ix/include
|
CPPFLAGS_common += -I$(src)/southbridge/intel/i82801ix/include
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
|
|
||||||
#include <acpi/acpi.h>
|
|
||||||
#include <arch/ioapic.h>
|
|
||||||
#include <arch/smp/mpspec.h>
|
|
||||||
|
|
||||||
unsigned long acpi_fill_madt(unsigned long current)
|
|
||||||
{
|
|
||||||
/* IOAPIC */
|
|
||||||
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
|
|
||||||
|
|
||||||
/* INT_SRC_OVR */
|
|
||||||
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
|
||||||
current, 0, 0, 2, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_EDGE);
|
|
||||||
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
|
||||||
current, 0, 9, 9, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_LEVEL);
|
|
||||||
|
|
||||||
return current;
|
|
||||||
}
|
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
config SOUTHBRIDGE_INTEL_I82801JX
|
config SOUTHBRIDGE_INTEL_I82801JX
|
||||||
bool
|
bool
|
||||||
|
select ACPI_COMMON_MADT_IOAPIC
|
||||||
select ACPI_COMMON_MADT_LAPIC
|
select ACPI_COMMON_MADT_LAPIC
|
||||||
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
|
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
|
||||||
select AZALIA_PLUGIN_SUPPORT
|
select AZALIA_PLUGIN_SUPPORT
|
||||||
|
@ -379,20 +379,6 @@ static void lpc_init(struct device *dev)
|
|||||||
i82801jx_set_acpi_mode(dev);
|
i82801jx_set_acpi_mode(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned long acpi_fill_madt(unsigned long current)
|
|
||||||
{
|
|
||||||
/* IOAPIC */
|
|
||||||
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
|
|
||||||
|
|
||||||
/* INT_SRC_OVR */
|
|
||||||
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
|
||||||
current, 0, 0, 2, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_EDGE);
|
|
||||||
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
|
||||||
current, 0, 9, 9, MP_IRQ_POLARITY_HIGH | MP_IRQ_TRIGGER_LEVEL);
|
|
||||||
|
|
||||||
return current;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void i82801jx_lpc_read_resources(struct device *dev)
|
static void i82801jx_lpc_read_resources(struct device *dev)
|
||||||
{
|
{
|
||||||
int i, io_index = 0;
|
int i, io_index = 0;
|
||||||
|
@ -7,6 +7,7 @@ if SOUTHBRIDGE_INTEL_IBEXPEAK
|
|||||||
|
|
||||||
config SOUTH_BRIDGE_OPTIONS
|
config SOUTH_BRIDGE_OPTIONS
|
||||||
def_bool y
|
def_bool y
|
||||||
|
select ACPI_COMMON_MADT_IOAPIC
|
||||||
select ACPI_COMMON_MADT_LAPIC
|
select ACPI_COMMON_MADT_LAPIC
|
||||||
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
|
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
|
||||||
select AZALIA_PLUGIN_SUPPORT
|
select AZALIA_PLUGIN_SUPPORT
|
||||||
|
@ -20,7 +20,6 @@ ramstage-y += ../common/pciehp.c
|
|||||||
ramstage-y += ../bd82x6x/me_status.c
|
ramstage-y += ../bd82x6x/me_status.c
|
||||||
|
|
||||||
ramstage-$(CONFIG_ELOG) += ../bd82x6x/elog.c
|
ramstage-$(CONFIG_ELOG) += ../bd82x6x/elog.c
|
||||||
ramstage-y += madt.c
|
|
||||||
|
|
||||||
smm-y += smihandler.c
|
smm-y += smihandler.c
|
||||||
|
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
|
|
||||||
#include <arch/ioapic.h>
|
|
||||||
#include <acpi/acpi.h>
|
|
||||||
#include <arch/smp/mpspec.h>
|
|
||||||
#include <device/device.h>
|
|
||||||
#include <device/pci.h>
|
|
||||||
|
|
||||||
unsigned long acpi_fill_madt(unsigned long current)
|
|
||||||
{
|
|
||||||
/* IOAPIC */
|
|
||||||
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
|
|
||||||
|
|
||||||
/* INT_SRC_OVR */
|
|
||||||
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
|
||||||
current, 0, 0, 2,
|
|
||||||
MP_IRQ_POLARITY_DEFAULT |
|
|
||||||
MP_IRQ_TRIGGER_DEFAULT);
|
|
||||||
current += acpi_create_madt_irqoverride((acpi_madt_irqoverride_t *)
|
|
||||||
current, 0, 9, 9,
|
|
||||||
MP_IRQ_POLARITY_HIGH |
|
|
||||||
MP_IRQ_TRIGGER_LEVEL);
|
|
||||||
|
|
||||||
return current;
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user