1 config SOC_INTEL_ALDERLAKE
4 Intel Alderlake support. Mainboards should specify the PCH
5 type using the `SOC_INTEL_ALDERLAKE_PCH_*` options instead
6 of selecting this option directly.
8 config SOC_INTEL_RAPTORLAKE
11 Intel Raptorlake support. Mainboards using RPL should select
12 SOC_INTEL_RAPTORLAKE and SOC_INTEL_ALDERLAKE_PCH_* together.
14 config SOC_INTEL_ALDERLAKE_PCH_M
16 select SOC_INTEL_ALDERLAKE
18 Choose this option if your mainboard has a PCH-M chipset.
20 config SOC_INTEL_ALDERLAKE_PCH_N
22 select SOC_INTEL_ALDERLAKE
23 select MICROCODE_BLOB_UNDISCLOSED
25 Choose this option if your mainboard has a PCH-N chipset.
27 config SOC_INTEL_ALDERLAKE_PCH_P
29 select SOC_INTEL_ALDERLAKE
30 select HAVE_INTEL_FSP_REPO
31 select PLATFORM_USES_FSP2_3
33 Choose this option if your mainboard has a PCH-P chipset.
35 config SOC_INTEL_ALDERLAKE_PCH_S
37 select SOC_INTEL_ALDERLAKE
38 select HAVE_INTEL_FSP_REPO
39 select PLATFORM_USES_FSP2_3
41 Choose this option if your mainboard has a PCH-S chipset.
43 if SOC_INTEL_ALDERLAKE
45 config CPU_SPECIFIC_OPTIONS
47 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
48 select ACPI_ADL_IPU_ES_SUPPORT
50 select BOOT_DEVICE_SUPPORTS_WRITES
51 select CACHE_MRC_SETTINGS
52 select CPU_INTEL_COMMON
53 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
54 select CPU_SUPPORTS_INTEL_TME
55 select CPU_SUPPORTS_PM_TIMER_EMULATION
56 select DISPLAY_FSP_VERSION_INFO
57 select DRIVERS_USB_ACPI
58 select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
59 select FSP_COMPRESS_FSP_S_LZ4
60 select FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW
62 select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
63 select FSP_USES_CB_DEBUG_EVENT_HANDLER
64 select FSPS_HAS_ARCH_UPD
65 select GENERIC_GPIO_LIB
66 select HAVE_DEBUG_RAM_SETUP
68 select HAVE_HYPERTHREADING
69 select INTEL_DESCRIPTOR_MODE_CAPABLE
70 select HAVE_SMI_HANDLER
71 select IDT_IN_EVERY_STAGE
73 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
74 select INTEL_GMA_OPREGION_2_1
75 select MRC_SETTINGS_PROTECT
76 select PARALLEL_MP_AP_WORK
77 select PLATFORM_USES_FSP2_2
78 select PMC_GLOBAL_RESET_ENABLE_LOCK
79 select SOC_INTEL_COMMON
80 select CPU_INTEL_COMMON_VOLTAGE
81 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
82 select SOC_INTEL_COMMON_BLOCK
83 select SOC_INTEL_COMMON_BLOCK_ACPI
84 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
85 select SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID
86 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
87 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
88 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
89 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP_LPM_REQ
90 select SOC_INTEL_COMMON_BLOCK_CAR
91 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
92 select SOC_INTEL_COMMON_BLOCK_CNVI
93 select SOC_INTEL_COMMON_BLOCK_CPU
94 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
95 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
96 select SOC_INTEL_COMMON_BLOCK_DTT
97 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
98 select SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_SBI
99 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
100 select SOC_INTEL_COMMON_BLOCK_SCS if SOC_INTEL_ALDERLAKE_PCH_N
101 select SOC_INTEL_COMMON_BLOCK_HDA
102 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC
103 select SOC_INTEL_COMMON_BLOCK_IPU if !SOC_INTEL_ALDERLAKE_PCH_S
104 select SOC_INTEL_COMMON_BLOCK_IRQ
105 select SOC_INTEL_COMMON_BLOCK_MEMINIT
106 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
107 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
108 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
109 select SOC_INTEL_COMMON_BLOCK_SA
110 select SOC_INTEL_COMMON_BLOCK_SMM
111 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
112 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
113 select SOC_INTEL_COMMON_BLOCK_XHCI
114 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
115 select SOC_INTEL_COMMON_BASECODE
116 select SOC_INTEL_COMMON_FSP_RESET
117 select SOC_INTEL_COMMON_PCH_CLIENT
118 select SOC_INTEL_COMMON_RESET
119 select SOC_INTEL_CSE_SEND_EOP_EARLY
120 select SOC_INTEL_CSE_SET_EOP
121 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
122 select HAVE_INTEL_COMPLIANCE_TEST_MODE
124 select SUPPORT_CPU_UCODE_IN_CBFS
125 select TSC_MONOTONIC_TIMER
127 select UDK_202005_BINDING
130 config SOC_INTEL_ALDERLAKE_TCSS_USB4_SUPPORT
132 default y if !SOC_INTEL_ALDERLAKE_PCH_S
133 default n if SOC_INTEL_ALDERLAKE_PCH_S
134 select SOC_INTEL_COMMON_BLOCK_TCSS
135 select SOC_INTEL_COMMON_BLOCK_USB4
136 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
137 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
139 config ALDERLAKE_CONFIGURE_DESCRIPTOR
142 Select this if the descriptor needs to be updated at runtime. This
143 can only be done if the descriptor region is writable, and should only
144 be used as a temporary workaround.
146 config ALDERLAKE_CAR_ENHANCED_NEM
148 default y if !INTEL_CAR_NEM
149 select INTEL_CAR_NEM_ENHANCED
150 select CAR_HAS_SF_MASKS
151 select COS_MAPPED_TO_MSB
152 select CAR_HAS_L3_PROTECTED_WAYS
158 config DCACHE_RAM_BASE
161 config DCACHE_RAM_SIZE
164 The size of the cache-as-ram region required during bootblock
167 config DCACHE_BSP_STACK_SIZE
171 The amount of anticipated stack usage in CAR by bootblock and
172 other stages. In the case of FSP_USES_CB_STACK default value will be
173 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
176 config FSP_TEMP_RAM_SIZE
180 The amount of anticipated heap usage in CAR by FSP.
181 Refer to Platform FSP integration guide document to know
182 the exact FSP requirement for Heap setup.
184 config CHIPSET_DEVICETREE
186 default "soc/intel/alderlake/chipset_pch_s.cb" if SOC_INTEL_ALDERLAKE_PCH_S
187 default "soc/intel/alderlake/chipset.cb"
189 config EXT_BIOS_WIN_BASE
192 config EXT_BIOS_WIN_SIZE
199 config IED_REGION_SIZE
207 # Intel recommends reserving the following resources per PCIe TBT root port,
208 # from ADL BIOS Spec (doc #627270) Revision 0.6.0 Section 7.2.5.1.5
210 # - 194 MiB Non-prefetchable memory
211 # - 448 MiB Prefetchable memory
212 if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
214 config PCIEXP_HOTPLUG_BUSES
218 config PCIEXP_HOTPLUG_MEM
222 config PCIEXP_HOTPLUG_PREFETCH_MEM
226 endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
228 config MAX_PCH_ROOT_PORTS
230 default 10 if SOC_INTEL_ALDERLAKE_PCH_M
231 default 12 if SOC_INTEL_ALDERLAKE_PCH_N
232 default 12 if SOC_INTEL_ALDERLAKE_PCH_P
233 default 28 if SOC_INTEL_ALDERLAKE_PCH_S
235 config MAX_CPU_ROOT_PORTS
237 default 1 if SOC_INTEL_ALDERLAKE_PCH_M
238 default 0 if SOC_INTEL_ALDERLAKE_PCH_N
239 default 3 if SOC_INTEL_ALDERLAKE_PCH_P || SOC_INTEL_ALDERLAKE_PCH_S
241 config MAX_TBT_ROOT_PORTS
243 default 0 if SOC_INTEL_ALDERLAKE_PCH_N || SOC_INTEL_ALDERLAKE_PCH_S
244 default 2 if SOC_INTEL_ALDERLAKE_PCH_M
245 default 4 if SOC_INTEL_ALDERLAKE_PCH_P
247 config MAX_ROOT_PORTS
249 default MAX_PCH_ROOT_PORTS
251 config MAX_PCIE_CLOCK_SRC
253 default 6 if SOC_INTEL_ALDERLAKE_PCH_M
254 default 5 if SOC_INTEL_ALDERLAKE_PCH_N
255 default 18 if SOC_INTEL_ALDERLAKE_PCH_S
256 default 10 if SOC_INTEL_ALDERLAKE_PCH_P
258 With external clock buffer, Alderlake-P can support up to three additional source clocks.
259 This is done by setting the corresponding GPIO pin(s) to native function to use as
260 SRCCLK_OE[6..9]. In addition, SRCCLK6 does not need to be set to free running clock.
261 If any of SRCCLKReq 6..9 is asserted, SRCCLK6 will be turned on.
263 config MAX_PCIE_CLOCK_REQ
265 default 6 if SOC_INTEL_ALDERLAKE_PCH_M
266 default 5 if SOC_INTEL_ALDERLAKE_PCH_N
267 default 10 if SOC_INTEL_ALDERLAKE_PCH_P
268 default 18 if SOC_INTEL_ALDERLAKE_PCH_S
274 config SMM_RESERVED_SIZE
278 config PCR_BASE_ADDRESS
280 default 0xe0000000 if SOC_INTEL_ALDERLAKE_PCH_S
283 This option allows you to select MMIO Base Address of sideband bus.
285 config ECAM_MMCONF_BASE_ADDRESS
292 config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
299 config SOC_INTEL_UFS_CLK_FREQ_HZ
303 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
307 config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
311 config SOC_INTEL_I2C_DEV_MAX
315 config SOC_INTEL_ALDERLAKE_S3
319 Select if using S3 instead of S0ix to disable D3Cold.
321 config ENABLE_SATA_TEST_MODE
322 bool "Enable test mode for SATA margining"
325 Enable SATA test mode in FSP-S.
327 config SOC_INTEL_UART_DEV_MAX
331 config CONSOLE_UART_BASE_ADDRESS
334 depends on INTEL_LPSS_UART_FOR_CONSOLE
336 config VBT_DATA_SIZE_KB
340 # Clock divider parameters for 115200 baud rate
341 # Baudrate = (UART source clock * M) /(N *16)
342 # ADL UART source clock: 100MHz
343 config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
347 config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
352 select VBOOT_MUST_REQUEST_DISPLAY
353 select VBOOT_STARTS_IN_BOOTBLOCK
354 select VBOOT_VBNV_CMOS
355 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
356 select VBOOT_X86_SHA256_ACCELERATION
358 # Default hash block size is 1KiB. Increasing it to 4KiB to improve
359 # hashing time as well as read time. This helps in improving
360 # boot time for Alder Lake.
361 config VBOOT_HASH_BLOCK_SIZE
368 config PRERAM_CBMEM_CONSOLE_SIZE
376 This option allows to select FSP IOT type from 3rdparty/fsp repo
378 config FSP_HEADER_PATH
379 string "Location of FSP headers"
380 default "src/vendorcode/intel/fsp/fsp2_0/alderlake_n/" if SOC_INTEL_ALDERLAKE_PCH_N
381 default "src/vendorcode/intel/fsp/fsp2_0/raptorlake/" if SOC_INTEL_RAPTORLAKE
382 default "3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeP/Include/" if SOC_INTEL_ALDERLAKE_PCH_P && FSP_TYPE_IOT
383 default "3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeS/Include/" if SOC_INTEL_ALDERLAKE_PCH_S && FSP_TYPE_IOT
384 default "3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Include/" if SOC_INTEL_ALDERLAKE_PCH_P
385 default "3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeS/Include/" if SOC_INTEL_ALDERLAKE_PCH_S
386 default "src/vendorcode/intel/fsp/fsp2_0/alderlake/"
390 depends on FSP_USE_REPO
391 default "3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeP/Fsp.fd" if SOC_INTEL_ALDERLAKE_PCH_P && FSP_TYPE_IOT
392 default "3rdparty/fsp/AlderLakeFspBinPkg/IoT/AlderLakeS/Fsp.fd" if SOC_INTEL_ALDERLAKE_PCH_S && FSP_TYPE_IOT
393 default "3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeP/Fsp.fd" if SOC_INTEL_ALDERLAKE_PCH_P
394 default "3rdparty/fsp/AlderLakeFspBinPkg/Client/AlderLakeS/Fsp.fd" if SOC_INTEL_ALDERLAKE_PCH_S
396 config SOC_INTEL_ALDERLAKE_DEBUG_CONSENT
397 int "Debug Consent for ADL"
398 # USB DBC is more common for developers so make this default to 2 if
399 # SOC_INTEL_DEBUG_CONSENT=y
400 default 2 if SOC_INTEL_DEBUG_CONSENT
403 This is to control debug interface on SOC.
404 Setting non-zero value will allow to use DBC or DCI to debug SOC.
405 PlatformDebugConsent in FspmUpd.h has the details.
407 Desired platform debug type are
408 0:Disabled, 2:Enabled (All Probes+TraceHub), 6:Enable (Low Power),
411 config DATA_BUS_WIDTH
415 config DIMMS_PER_CHANNEL
419 config MRC_CHANNEL_WIDTH
423 config ACPI_ADL_IPU_ES_SUPPORT
426 Enables ACPI entry to provide silicon type information to IPU kernel driver.
429 prompt "Multiprocessor (MP) Initialization configuration to use"
430 default USE_FSP_MP_INIT
432 config USE_FSP_MP_INIT
433 bool "Use FSP MP init"
434 select MP_SERVICES_PPI_V2
436 Upon selection, coreboot brings APs from reset and the FSP runs feature programming.
438 config USE_COREBOOT_MP_INIT
439 bool "Use coreboot MP init"
440 # FSP assumes ownership of the APs (Application Processors)
441 # upon passing `NULL` pointer to the CpuMpPpi FSP-S UPD.
442 # Hence, select `MP_SERVICES_PPI_V2_NOOP` config to pass a valid
443 # pointer to the CpuMpPpi UPD with FSP_UNSUPPORTED type APIs.
444 # This will protect APs from getting hijacked by FSP while coreboot
445 # decides to set SkipMpInit UPD.
446 select MP_SERVICES_PPI_V2_NOOP
447 select RELOAD_MICROCODE_PATCH
449 Upon selection, coreboot performs MP Init.
455 config CSE_BPDT_VERSION
460 config SI_DESC_REGION
461 string "Descriptor Region name"
464 Name of Descriptor Region in the FMAP
466 config SI_DESC_REGION_SZ
470 Size of Descriptor Region in the FMAP
472 config BUILDING_WITH_DEBUG_FSP
473 bool "Debug FSP is used for the build"
476 Set this option if debug build of FSP is used.