# SPDX-License-Identifier: GPL-2.0-only

config SOUTHBRIDGE_INTEL_I82801IX
	bool
	select ACPI_COMMON_MADT_IOAPIC
	select ACPI_COMMON_MADT_LAPIC
	select ACPI_INTEL_HARDWARE_SLEEP_VALUES
	select ACPI_SOC_NVS
	select AZALIA_HDA_CODEC_SUPPORT
	select HAVE_SMI_HANDLER if !NO_SMM
	select HAVE_USBDEBUG_OPTIONS
	select INTEL_DESCRIPTOR_MODE_CAPABLE
	select SOUTHBRIDGE_INTEL_COMMON_GPIO
	select SOUTHBRIDGE_INTEL_COMMON_PMBASE
	select SOUTHBRIDGE_INTEL_COMMON_PMCLIB
	select SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ
	select SOUTHBRIDGE_INTEL_COMMON_RESET
	select SOUTHBRIDGE_INTEL_COMMON_RTC
	select SOUTHBRIDGE_INTEL_COMMON_SMBUS
	select SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS
	select SOUTHBRIDGE_INTEL_COMMON_SMM if !NO_SMM
	select SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9 if !BOARD_EMULATION_QEMU_X86_Q35
	select SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG
	select SOUTHBRIDGE_INTEL_COMMON_WATCHDOG
	select TCO_SPACE_NOT_YET_SPLIT
	select USE_WATCHDOG_ON_BOOT

if SOUTHBRIDGE_INTEL_I82801IX

config EHCI_BAR
	hex
	default 0xfef00000

config HPET_MIN_TICKS
	default 0x80

## Some enterprise variants may require an IFD
config INTEL_DESCRIPTOR_MODE_REQUIRED
	bool
	default n

config PCIEXP_HOTPLUG
	default y

endif
