blob: dcf9a5f0d410b625e655a7c5e9bdba3b8a7b779e [file] [log] [blame]
# SPDX-License-Identifier: GPL-2.0-only
config SOC_INTEL_DENVERTON_NS
bool
help
Intel Denverton-NS SoC support
if SOC_INTEL_DENVERTON_NS
config CPU_INTEL_NUM_FIT_ENTRIES
int
default 1
config CPU_SPECIFIC_OPTIONS
def_bool y
select ARCH_X86
select BOOT_DEVICE_SUPPORTS_WRITES
select CACHE_MRC_SETTINGS
select CPU_INTEL_COMMON
select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
select CPU_SUPPORTS_PM_TIMER_EMULATION
select DEBUG_GPIO
select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
select FSP_M_XIP
select FSP_T_XIP if FSP_CAR
select HAVE_INTEL_FSP_REPO
select HAVE_SMI_HANDLER
select INTEL_DESCRIPTOR_MODE_CAPABLE
select PCR_COMMON_IOSF_1_0
select PLATFORM_USES_FSP2_0
select SOC_INTEL_COMMON
select SOC_INTEL_COMMON_RESET
select SOC_INTEL_COMMON_BLOCK
select SOC_INTEL_COMMON_BLOCK_CPU
select SOC_INTEL_COMMON_BLOCK_ACPI
select SOC_INTEL_COMMON_BLOCK_PMC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select SOC_INTEL_COMMON_BLOCK_SPI
select SOC_INTEL_COMMON_BLOCK_FAST_SPI
select SOC_INTEL_COMMON_BLOCK_GPIO
select SOC_INTEL_COMMON_BLOCK_PCR
select SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE
select SOC_INTEL_COMMON_BLOCK_SMBUS
select SUPPORT_CPU_UCODE_IN_CBFS
select SOUTHBRIDGE_INTEL_COMMON_SMBUS
select TSC_MONOTONIC_TIMER
select TSC_SYNC_MFENCE
select UDELAY_TSC
select UDK_2017_BINDING
select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT
select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
config ECAM_MMCONF_BASE_ADDRESS
default 0xe0000000
config ECAM_MMCONF_BUS_NUMBER
int
default 256
config FSP_HEADER_PATH
default "3rdparty/fsp/DenvertonNSFspBinPkg/Include/"
config FSP_FD_PATH
default "3rdparty/fsp/DenvertonNSFspBinPkg/FspBin/DenvertonNSFsp.fd"
# CAR memory layout on DENVERTON_NS hardware:
## CAR base address - 0xfef00000
## CAR size 1MB - 0x100 (0xfff00)
## coreboot usage:
## DCACHE base - 0xfef00000
## DCACHE size - 0xb0000
## FSP usage:
## FSP base - 0xfefb0000
## FSP size - 0x50000 - 0x100 (0x4ff00)
config MAX_CPUS
int
default 16
config PCR_BASE_ADDRESS
hex
default 0xfd000000
help
This option allows you to select MMIO Base Address of sideband bus.
config DCACHE_RAM_BASE
hex
default 0xfef00000
config DCACHE_RAM_SIZE
hex
default 0xb0000 if FSP_CAR
default 0x100000 if !FSP_CAR
config DCACHE_BSP_STACK_SIZE
hex
default 0x10000
config CPU_BCLK_MHZ
int
default 100
config CPU_XTAL_HZ
default 24000000
config SMM_TSEG_SIZE
hex
default 0x200000
config SMM_RESERVED_SIZE
hex
default 0x000000
config IQAT_ENABLE
bool "Enable IQAT"
default y
config HSUART_DEV
hex
default 0x1a
choice
prompt "UART mode selection"
default NON_LEGACY_UART_MODE
config NON_LEGACY_UART_MODE
bool "Non Legacy Mode"
help
Disable legacy UART mode
config LEGACY_UART_MODE
bool "Legacy Mode"
help
Enable legacy UART mode
select CONSOLE_SERIAL
select DRIVERS_UART
select DRIVERS_UART_8250IO
endchoice
config ENABLE_HSUART
depends on NON_LEGACY_UART_MODE
bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
default n
select CONSOLE_SERIAL
select DRIVERS_UART
select DRIVERS_UART_8250MEM
config CONSOLE_UART_BASE_ADDRESS
depends on ENABLE_HSUART
hex "MMIO base address for UART"
default 0xd4000000
choice
prompt "Cache-as-ram implementation"
default USE_DENVERTON_NS_CAR_NEM_ENHANCED
help
This option allows you to select how cache-as-ram (CAR) is set up.
config USE_DENVERTON_NS_CAR_NEM_ENHANCED
bool "Enhanced Non-evict mode"
select SOC_INTEL_COMMON_BLOCK_CAR
select INTEL_CAR_NEM_ENHANCED
help
A current limitation of NEM (Non-Evict mode) is that code and data sizes
are derived from the requirement to not write out any modified cache line.
With NEM, if there is no physical memory behind the cached area,
the modified data will be lost and NEM results will be inconsistent.
ENHANCED NEM guarantees that modified data is always
kept in cache while clean data is replaced.
config USE_DENVERTON_NS_FSP_CAR
bool "Use FSP CAR"
select FSP_CAR
help
Use FSP APIs to initialize and tear down the Cache-As-Ram.
endchoice
config IFD_CHIPSET
string
default "dnv"
endif ## SOC_INTEL_DENVERTON_NS