soc/intel/broadwell: Use common MADT code
Save for some cosmetic differences, the code is equivalent. Change-Id: I48d4b522009eee9053d247217ca03d8bfea80cdf Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/46889 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
parent
f21e5c06cd
commit
a2a9e607b1
|
@ -18,6 +18,7 @@ config SOC_SPECIFIC_OPTIONS
|
||||||
select CPU_INTEL_HASWELL
|
select CPU_INTEL_HASWELL
|
||||||
select MRC_SETTINGS_PROTECT
|
select MRC_SETTINGS_PROTECT
|
||||||
select HAVE_SMI_HANDLER
|
select HAVE_SMI_HANDLER
|
||||||
|
select SOUTHBRIDGE_INTEL_COMMON_ACPI_MADT
|
||||||
select SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS
|
select SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS
|
||||||
select SOUTHBRIDGE_INTEL_COMMON_RESET
|
select SOUTHBRIDGE_INTEL_COMMON_RESET
|
||||||
select SOUTHBRIDGE_INTEL_COMMON_RTC
|
select SOUTHBRIDGE_INTEL_COMMON_RTC
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
bootblock-y += bootblock.c
|
bootblock-y += bootblock.c
|
||||||
|
|
||||||
ramstage-y += acpi.c
|
|
||||||
ramstage-y += adsp.c
|
ramstage-y += adsp.c
|
||||||
romstage-y += early_pch.c
|
romstage-y += early_pch.c
|
||||||
ramstage-$(CONFIG_ELOG) += elog.c
|
ramstage-$(CONFIG_ELOG) += elog.c
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
|
|
||||||
#include <acpi/acpi.h>
|
|
||||||
#include <acpi/acpigen.h>
|
|
||||||
#include <arch/ioapic.h>
|
|
||||||
#include <arch/smp/mpspec.h>
|
|
||||||
#include <device/pci_ops.h>
|
|
||||||
#include <console/console.h>
|
|
||||||
#include <types.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <arch/cpu.h>
|
|
||||||
#include <cpu/x86/msr.h>
|
|
||||||
#include <cpu/intel/turbo.h>
|
|
||||||
#include <soc/acpi.h>
|
|
||||||
#include <soc/iomap.h>
|
|
||||||
#include <soc/lpc.h>
|
|
||||||
#include <soc/pci_devs.h>
|
|
||||||
#include <soc/pm.h>
|
|
||||||
#include <soc/systemagent.h>
|
|
||||||
#include <soc/intel/broadwell/chip.h>
|
|
||||||
|
|
||||||
unsigned long acpi_fill_madt(unsigned long current)
|
|
||||||
{
|
|
||||||
int sci = 9;
|
|
||||||
acpi_madt_irqoverride_t *irqovr;
|
|
||||||
uint16_t flags = MP_IRQ_TRIGGER_LEVEL;
|
|
||||||
|
|
||||||
/* Local APICs */
|
|
||||||
current = acpi_create_madt_lapics(current);
|
|
||||||
|
|
||||||
/* IOAPIC */
|
|
||||||
current += acpi_create_madt_ioapic((acpi_madt_ioapic_t *)current, 2, IO_APIC_ADDR, 0);
|
|
||||||
|
|
||||||
/* INT_SRC_OVR */
|
|
||||||
irqovr = (void *)current;
|
|
||||||
current += acpi_create_madt_irqoverride(irqovr, 0, 0, 2, 0);
|
|
||||||
|
|
||||||
if (sci >= 20)
|
|
||||||
flags |= MP_IRQ_POLARITY_LOW;
|
|
||||||
else
|
|
||||||
flags |= MP_IRQ_POLARITY_HIGH;
|
|
||||||
|
|
||||||
/* SCI */
|
|
||||||
irqovr = (void *)current;
|
|
||||||
current += acpi_create_madt_irqoverride(irqovr, 0, sci, sci, flags);
|
|
||||||
|
|
||||||
return current;
|
|
||||||
}
|
|
Loading…
Reference in New Issue