# Apollo Lake SoC configuration options

# Copyright (c) 2018-2019 Intel Corporation
# Copyright (c) 2014-2015 Wind River Systems, Inc.
# SPDX-License-Identifier: Apache-2.0

if SOC_APOLLO_LAKE

config PCIE_MMIO_CFG
	default y

if APIC_TIMER

config APIC_TIMER_IRQ
	default 24

config APIC_TIMER_TSC
	default y

endif # APIC_TIMER

config X86_DYNAMIC_IRQ_STUBS
	default 16
	depends on DYNAMIC_INTERRUPTS

endif # SOC_APOLLO_LAKE
