1 ## SPDX-License-Identifier: GPL-2.0-only
3 config SOC_INTEL_PANTHERLAKE_BASE
5 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
7 select BOOT_DEVICE_SUPPORTS_WRITES
8 select CACHE_MRC_SETTINGS
9 select CPU_INTEL_COMMON
10 select CPU_INTEL_COMMON_VOLTAGE
11 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
12 select CPU_SUPPORTS_PM_TIMER_EMULATION
13 select DEFAULT_SOFTWARE_CONNECTION_MANAGER if MAINBOARD_HAS_CHROMEOS
14 select DEFAULT_X2APIC_LATE_WORKAROUND
15 select DISPLAY_FSP_VERSION_INFO_2
16 select DRIVERS_USB_ACPI
17 select FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW
18 select FSP_COMPRESS_FSP_S_LZ4
20 select FSP_UGOP_EARLY_SIGN_OF_LIFE
21 select FSP_USES_CB_DEBUG_EVENT_HANDLER
22 select FSPS_HAS_ARCH_UPD
23 select GENERIC_GPIO_LIB
24 select HAVE_DEBUG_RAM_SETUP
26 select HAVE_FSP_LOGO_SUPPORT if RUN_FSP_GOP
27 select HAVE_HYPERTHREADING
28 select HAVE_INTEL_COMPLIANCE_TEST_MODE
29 select HAVE_SMI_HANDLER
30 select HAVE_X86_64_SUPPORT
31 select IDT_IN_EVERY_STAGE
32 select INTEL_DESCRIPTOR_MODE_CAPABLE
34 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
35 select INTEL_GMA_OPREGION_2_1
36 select INTEL_GMA_VERSION_2
37 select INTEL_KEYLOCKER
39 select MICROCODE_BLOB_UNDISCLOSED
40 select MP_SERVICES_PPI_V2
41 select MRC_CACHE_USING_MRC_VERSION
42 select MRC_SETTINGS_PROTECT
43 select PARALLEL_MP_AP_WORK
44 select PCIE_CLOCK_CONTROL_THROUGH_P2SB
45 select PLATFORM_USES_FSP2_4
46 select PMC_GLOBAL_RESET_ENABLE_LOCK
47 select SOC_INTEL_COMMON
48 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
49 select SOC_INTEL_COMMON_BASECODE
50 select SOC_INTEL_COMMON_BASECODE_RAMTOP
51 select SOC_INTEL_COMMON_BLOCK
52 select SOC_INTEL_COMMON_BLOCK_ACPI
53 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
54 select SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID
55 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
56 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
57 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
58 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP_LPM_REQ
59 select SOC_INTEL_COMMON_BLOCK_CAR
60 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
61 select SOC_INTEL_COMMON_BLOCK_CNVI
62 select SOC_INTEL_COMMON_BLOCK_CPU
63 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
64 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
65 select SOC_INTEL_COMMON_BLOCK_DTT
66 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
67 select SOC_INTEL_COMMON_BLOCK_GPIO_IOSTANDBY
68 select SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_PCR
69 select SOC_INTEL_COMMON_BLOCK_GPIO_PMODE_4BITS
70 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
71 select SOC_INTEL_COMMON_BLOCK_HDA
72 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC
73 select SOC_INTEL_COMMON_BLOCK_IOC
74 select SOC_INTEL_COMMON_BLOCK_IOE_P2SB
75 select SOC_INTEL_COMMON_BLOCK_IPU
76 select SOC_INTEL_COMMON_BLOCK_IRQ
77 select SOC_INTEL_COMMON_BLOCK_ME_SPEC_21
78 select SOC_INTEL_COMMON_BLOCK_MEMINIT
79 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
80 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
81 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
82 select SOC_INTEL_COMMON_BLOCK_RUNTIME_CORE_SCALING_FACTORS
83 select SOC_INTEL_COMMON_BLOCK_SA
84 select SOC_INTEL_COMMON_BLOCK_SMM
85 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
86 select SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE
87 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
88 select SOC_INTEL_COMMON_BLOCK_TRACEHUB
89 select SOC_INTEL_COMMON_BLOCK_XHCI
90 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
91 select SOC_INTEL_COMMON_FSP_RESET
92 select SOC_INTEL_COMMON_PCH_CLIENT
93 select SOC_INTEL_COMMON_RESET
94 select SOC_INTEL_CRASHLOG
95 select SOC_INTEL_CSE_LITE_PSR if MAINBOARD_HAS_CHROMEOS && SOC_INTEL_CSE_LITE_SKU
96 select SOC_INTEL_CSE_SEND_EOP_LATE if !MAINBOARD_HAS_CHROMEOS
97 select SOC_INTEL_CSE_SET_EOP
98 select SOC_INTEL_GFX_NON_PREFETCHABLE_MMIO
99 select SOC_INTEL_IOE_DIE_SUPPORT
100 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
101 select SOC_QDF_DYNAMIC_READ_PMC
103 select SUPPORT_CPU_UCODE_IN_CBFS
104 select TSC_MONOTONIC_TIMER
106 select UDK_202302_BINDING
107 select USE_X86_64_SUPPORT
108 select X86_INIT_NEED_1_SIPI
110 Intel Pantherlake support. Mainboards should specify the SoC
111 type using the `SOC_INTEL_PANTHERLAKE_*` options instead
112 of selecting this option directly.
114 config SOC_INTEL_PANTHERLAKE_U_H
116 select SOC_INTEL_PANTHERLAKE_BASE
118 Choose this option if the mainboard is built using either a PTL-U (15W) or
119 PTL-H 12Xe (25W) system-on-a-chip SoC.
121 config SOC_INTEL_PANTHERLAKE_H
123 depends on !SOC_INTEL_PANTHERLAKE_U_H
124 select SOC_INTEL_PANTHERLAKE_BASE
126 Choose this option if the mainboard is built using PTL-H 4Xe system-on-a-chip (SoC).
128 if SOC_INTEL_PANTHERLAKE_BASE
130 config SOC_INTEL_PANTHERLAKE_TCSS_USB4_SUPPORT
133 select SOC_INTEL_COMMON_BLOCK_TCSS
134 select SOC_INTEL_COMMON_BLOCK_USB4
135 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
136 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
138 config CAR_ENHANCED_NEM
140 default y if !INTEL_CAR_NEM
141 select INTEL_CAR_NEM_ENHANCED
142 select CAR_HAS_SF_MASKS
143 select COS_MAPPED_TO_MSB
144 select CAR_HAS_L3_PROTECTED_WAYS
145 select INTEL_CAR_ENEM_USE_EFFECTIVE_WAY_SIZE
151 config DCACHE_RAM_BASE
154 config DCACHE_RAM_SIZE
157 The size of the cache-as-ram region required during bootblock
160 config DCACHE_BSP_STACK_SIZE
164 The amount of anticipated stack usage in CAR by bootblock and
165 other stages. In the case of FSP_USES_CB_STACK default value will be
166 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
169 config FSP_TEMP_RAM_SIZE
173 The amount of anticipated heap usage in CAR by FSP.
174 Refer to Platform FSP integration guide document to know
175 the exact FSP requirement for Heap setup.
177 config CHIPSET_DEVICETREE
179 default "soc/intel/pantherlake/chipset.cb"
181 config EXT_BIOS_WIN_BASE
184 config EXT_BIOS_WIN_SIZE
191 config IED_REGION_SIZE
195 # Intel recommends reserving the PCIe TBT root port resources as below:
197 # - 194 MiB Non-prefetchable memory
198 # - 448 MiB Prefetchable memory
199 if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
201 config PCIEXP_HOTPLUG_BUSES
205 config PCIEXP_HOTPLUG_MEM
209 config PCIEXP_HOTPLUG_PREFETCH_MEM
213 endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
215 config MAX_TBT_ROOT_PORTS
219 config MAX_ROOT_PORTS
221 default 10 if SOC_INTEL_PANTHERLAKE_H
224 config MAX_PCIE_CLOCK_SRC
232 config SMM_RESERVED_SIZE
236 config PCR_BASE_ADDRESS
240 This option allows you to select MMIO Base Address of P2SB#1 aka SoC P2SB.
242 config P2SB_2_PCR_BASE_ADDRESS
246 This option allows you to select MMIO Base Address of P2SB#2 aka SoC P2SB2.
248 config ECAM_MMCONF_BASE_ADDRESS
255 config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
262 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
266 config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
270 config SOC_INTEL_I2C_DEV_MAX
274 config SOC_INTEL_UART_DEV_MAX
278 config SOC_INTEL_USB2_DEV_MAX
282 config SOC_INTEL_USB3_DEV_MAX
286 config CONSOLE_UART_BASE_ADDRESS
289 depends on INTEL_LPSS_UART_FOR_CONSOLE
291 # Clock divider parameters for 115200 baud rate
292 # Baudrate = (UART source clock * M) /(N *16)
293 # PTL UART source clock: 100MHz
294 config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
298 config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
303 select VBOOT_MUST_REQUEST_DISPLAY
304 select VBOOT_SEPARATE_VERSTAGE
305 select VBOOT_STARTS_IN_BOOTBLOCK
306 select VBOOT_VBNV_CMOS
307 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
308 select VBOOT_X86_SHA256_ACCELERATION
309 select VBOOT_X86_RSA_ACCELERATION
311 # Default hash block size is 1KiB. Increasing it to 4KiB to improve
312 # hashing time as well as read time.
313 config VBOOT_HASH_BLOCK_SIZE
321 config PRERAM_CBMEM_CONSOLE_SIZE
325 config CONSOLE_CBMEM_BUFFER_SIZE
327 default 0x100000 if BUILDING_WITH_DEBUG_FSP
330 config FSP_HEADER_PATH
331 string "Location of FSP headers"
332 default "src/vendorcode/intel/fsp/fsp2_0/pantherlake/"
334 # Override platform debug consent value:
336 # 2: Enabled Trace active: TraceHub is enabled and trace is active, blocks s0ix,
337 # 4: Enabled Trace ready: TraceHub is enabled and allowed S0ix,
338 # 6: Enabled Trace power off: TraceHub is powergated, provide setting close to functional
340 # 7: User needs to configure Advanced Debug Settings manually.
341 config SOC_INTEL_COMMON_DEBUG_CONSENT
343 default 4 if SOC_INTEL_DEBUG_CONSENT
345 config DATA_BUS_WIDTH
349 config DIMMS_PER_CHANNEL
353 config MRC_CHANNEL_WIDTH
357 config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
361 config DROP_CPU_FEATURE_PROGRAM_IN_FSP
363 default y if MP_SERVICES_PPI_V2_NOOP || CHROMEOS
366 This is to avoid FSP running basic CPU feature programming on BSP
367 and on APs using the "CpuFeaturesPei.efi" module. The feature programming
368 includes enabling x2APIC, MCA, MCE and Turbo etc.
370 Most of these feature programming are getting performed today in scope
371 of coreboot doing MP Init. Running these redundant programming in scope
372 of FSP (when `USE_FSP_FEATURE_PROGRAM_ON_APS` config is enabled) would
373 results in CPU exception.
375 SoC users to select this config after dropping "CpuFeaturesPei.ffs" module
376 from FSP-S Firmware Volume (FV). Upon selection, coreboot runs those additional
377 feature programming on BSP and APs.
379 This feature is default enabled, in case of "coreboot running MP init"
380 aka MP_SERVICES_PPI_V2_NOOP config is selected.
382 config PCIE_LTR_MAX_SNOOP_LATENCY
386 Latency tolerance reporting, max snoop latency value defaults to 15.73 ms.
388 config PCIE_LTR_MAX_NO_SNOOP_LATENCY
392 Latency tolerance reporting, max non-snoop latency value defaults to 15.73 ms.
394 config HAVE_BMP_LOGO_COMPRESS_LZMA
397 # The default offset to store CSE RW FW version information is at 68.
398 # However, in Intel Panther Lake based systems that use PSR, the additional
399 # size required to keep CSE RW FW version information and PSR back-up status
400 # in adjacent CMOS memory at offset 68 is not available. Therefore, we
401 # override the default offset to 161, which has enough space to keep both
402 # the CSE related information together.
403 config SOC_INTEL_CSE_FW_PARTITION_CMOS_OFFSET
407 config SOC_INTEL_COMMON_BLOCK_ACPI_SLP_S0_FREQ_HZ
410 slp_s0_residency granularity in 122us ticks (i.e. ~8.2KHz) in Panther Lake.
412 config SOC_PHYSICAL_ADDRESS_WIDTH
416 config SOC_INTEL_UFS_CLK_FREQ_HZ
420 # Override DEBUG Kconfig to avoid false alarm about stack overflow.
421 config DEBUG_STACK_OVERFLOW_BREAKPOINTS
425 config DEBUG_STACK_OVERFLOW_BREAKPOINTS_IN_ALL_STAGES