# 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