1 # SPDX-License-Identifier: GPL-2.0-only
3 config SOC_INTEL_DENVERTON_NS
6 Intel Denverton-NS SoC support
8 if SOC_INTEL_DENVERTON_NS
10 config CPU_INTEL_NUM_FIT_ENTRIES
14 config CPU_SPECIFIC_OPTIONS
17 select BOOT_DEVICE_SUPPORTS_WRITES
18 select CACHE_MRC_SETTINGS
19 select CPU_INTEL_COMMON
20 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
21 select CPU_SUPPORTS_PM_TIMER_EMULATION
24 select FSP_T_XIP if FSP_CAR
25 select HAVE_INTEL_FSP_REPO
26 select HAVE_SMI_HANDLER
27 select INTEL_DESCRIPTOR_MODE_CAPABLE
28 select PCR_COMMON_IOSF_1_0
29 select PLATFORM_USES_FSP2_0
30 select SOC_INTEL_COMMON
31 select SOC_INTEL_COMMON_RESET
32 select SOC_INTEL_COMMON_BLOCK
33 select SOC_INTEL_COMMON_BLOCK_CPU
34 select SOC_INTEL_COMMON_BLOCK_ACPI
35 select SOC_INTEL_COMMON_BLOCK_PMC
36 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
37 select SOC_INTEL_COMMON_BLOCK_FAST_SPI
38 select SOC_INTEL_COMMON_BLOCK_GPIO
39 select SOC_INTEL_COMMON_BLOCK_PCR
40 select SOC_INTEL_COMMON_BLOCK_SMBUS
41 select SUPPORT_CPU_UCODE_IN_CBFS
42 select SOUTHBRIDGE_INTEL_COMMON_SMBUS
43 select TSC_MONOTONIC_TIMER
44 select TSC_SYNC_MFENCE
46 select UDK_2015_BINDING
47 select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
48 select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT
49 select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
51 config ECAM_MMCONF_BASE_ADDRESS
54 config ECAM_MMCONF_BUS_NUMBER
58 config FSP_HEADER_PATH
59 default "3rdparty/fsp/DenvertonNSFspBinPkg/Include/"
62 default "3rdparty/fsp/DenvertonNSFspBinPkg/FspBin/DenvertonNSFsp.fd"
64 # CAR memory layout on DENVERTON_NS hardware:
65 ## CAR base address - 0xfef00000
66 ## CAR size 1MB - 0x100 (0xfff00)
68 ## DCACHE base - 0xfef00000
69 ## DCACHE size - 0xb0000
71 ## FSP base - 0xfefb0000
72 ## FSP size - 0x50000 - 0x100 (0x4ff00)
77 config PCR_BASE_ADDRESS
81 This option allows you to select MMIO Base Address of sideband bus.
83 config DCACHE_RAM_BASE
87 config DCACHE_RAM_SIZE
89 default 0xb0000 if FSP_CAR
90 default 0x100000 if !FSP_CAR
92 config DCACHE_BSP_STACK_SIZE
107 config SMM_RESERVED_SIZE
120 prompt "UART mode selection"
121 default NON_LEGACY_UART_MODE
123 config NON_LEGACY_UART_MODE
124 bool "Non Legacy Mode"
126 Disable legacy UART mode
128 config LEGACY_UART_MODE
131 Enable legacy UART mode
132 select CONSOLE_SERIAL
134 select DRIVERS_UART_8250IO
138 depends on NON_LEGACY_UART_MODE
139 bool "Enable High-speed UART debug port selected by UART_FOR_CONSOLE."
141 select CONSOLE_SERIAL
143 select DRIVERS_UART_8250MEM
145 config CONSOLE_UART_BASE_ADDRESS
146 depends on ENABLE_HSUART
147 hex "MMIO base address for UART"
151 prompt "Cache-as-ram implementation"
152 default USE_DENVERTON_NS_CAR_NEM_ENHANCED
154 This option allows you to select how cache-as-ram (CAR) is set up.
156 config USE_DENVERTON_NS_CAR_NEM_ENHANCED
157 bool "Enhanced Non-evict mode"
158 select SOC_INTEL_COMMON_BLOCK_CAR
159 select INTEL_CAR_NEM_ENHANCED
161 A current limitation of NEM (Non-Evict mode) is that code and data sizes
162 are derived from the requirement to not write out any modified cache line.
163 With NEM, if there is no physical memory behind the cached area,
164 the modified data will be lost and NEM results will be inconsistent.
165 ENHANCED NEM guarantees that modified data is always
166 kept in cache while clean data is replaced.
168 config USE_DENVERTON_NS_FSP_CAR
172 Use FSP APIs to initialize and tear down the Cache-As-Ram.
176 endif ## SOC_INTEL_DENVERTON_NS