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_SA
83 select SOC_INTEL_COMMON_BLOCK_SMM
84 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
85 select SOC_INTEL_COMMON_BLOCK_SMM_TCO_ENABLE
86 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
87 select SOC_INTEL_COMMON_BLOCK_TRACEHUB
88 select SOC_INTEL_COMMON_BLOCK_XHCI
89 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
90 select SOC_INTEL_COMMON_FSP_RESET
91 select SOC_INTEL_COMMON_PCH_CLIENT
92 select SOC_INTEL_COMMON_RESET
93 select SOC_INTEL_CRASHLOG
94 select SOC_INTEL_CSE_LITE_PSR if MAINBOARD_HAS_CHROMEOS && SOC_INTEL_CSE_LITE_SKU
95 select SOC_INTEL_CSE_SEND_EOP_LATE if !MAINBOARD_HAS_CHROMEOS
96 select SOC_INTEL_CSE_SET_EOP
97 select SOC_INTEL_DEBUG_CONSENT # TODO: Remove the safe setting for ES SoC
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
251 config SOC_INTEL_PERFORMANCE_CORE_SCALE_FACTOR
253 default 125 # TODO: Update with PTL data
255 config SOC_INTEL_EFFICIENT_CORE_SCALE_FACTOR
257 default 100 # TODO: Update with PTL data
263 config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
270 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
274 config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
278 config SOC_INTEL_I2C_DEV_MAX
282 config SOC_INTEL_UART_DEV_MAX
286 config SOC_INTEL_USB2_DEV_MAX
290 config SOC_INTEL_USB3_DEV_MAX
294 config CONSOLE_UART_BASE_ADDRESS
297 depends on INTEL_LPSS_UART_FOR_CONSOLE
299 # Clock divider parameters for 115200 baud rate
300 # Baudrate = (UART source clock * M) /(N *16)
301 # PTL UART source clock: 100MHz
302 config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
306 config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
311 select VBOOT_MUST_REQUEST_DISPLAY
312 select VBOOT_SEPARATE_VERSTAGE
313 select VBOOT_STARTS_IN_BOOTBLOCK
314 select VBOOT_VBNV_CMOS
315 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
316 select VBOOT_X86_SHA256_ACCELERATION
317 select VBOOT_X86_RSA_ACCELERATION
319 # Default hash block size is 1KiB. Increasing it to 4KiB to improve
320 # hashing time as well as read time.
321 config VBOOT_HASH_BLOCK_SIZE
329 config PRERAM_CBMEM_CONSOLE_SIZE
333 config CONSOLE_CBMEM_BUFFER_SIZE
335 default 0x100000 if BUILDING_WITH_DEBUG_FSP
338 config FSP_HEADER_PATH
339 string "Location of FSP headers"
340 default "src/vendorcode/intel/fsp/fsp2_0/pantherlake/"
342 # Override platform debug consent value:
344 # 2: Enabled Trace active: TraceHub is enabled and trace is active, blocks s0ix,
345 # 4: Enabled Trace ready: TraceHub is enabled and allowed S0ix,
346 # 6: Enabled Trace power off: TraceHub is powergated, provide setting close to functional
348 # 7: User needs to configure Advanced Debug Settings manually.
349 config SOC_INTEL_COMMON_DEBUG_CONSENT
351 default 4 if SOC_INTEL_DEBUG_CONSENT
353 config DATA_BUS_WIDTH
357 config DIMMS_PER_CHANNEL
361 config MRC_CHANNEL_WIDTH
365 config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
369 config DROP_CPU_FEATURE_PROGRAM_IN_FSP
371 default y if MP_SERVICES_PPI_V2_NOOP || CHROMEOS
374 This is to avoid FSP running basic CPU feature programming on BSP
375 and on APs using the "CpuFeaturesPei.efi" module. The feature programming
376 includes enabling x2APIC, MCA, MCE and Turbo etc.
378 Most of these feature programming are getting performed today in scope
379 of coreboot doing MP Init. Running these redundant programming in scope
380 of FSP (when `USE_FSP_FEATURE_PROGRAM_ON_APS` config is enabled) would
381 results in CPU exception.
383 SoC users to select this config after dropping "CpuFeaturesPei.ffs" module
384 from FSP-S Firmware Volume (FV). Upon selection, coreboot runs those additional
385 feature programming on BSP and APs.
387 This feature is default enabled, in case of "coreboot running MP init"
388 aka MP_SERVICES_PPI_V2_NOOP config is selected.
390 config PCIE_LTR_MAX_SNOOP_LATENCY
394 Latency tolerance reporting, max snoop latency value defaults to 15.73 ms.
396 config PCIE_LTR_MAX_NO_SNOOP_LATENCY
400 Latency tolerance reporting, max non-snoop latency value defaults to 15.73 ms.
402 config HAVE_BMP_LOGO_COMPRESS_LZMA
405 # The default offset to store CSE RW FW version information is at 68.
406 # However, in Intel Panther Lake based systems that use PSR, the additional
407 # size required to keep CSE RW FW version information and PSR back-up status
408 # in adjacent CMOS memory at offset 68 is not available. Therefore, we
409 # override the default offset to 161, which has enough space to keep both
410 # the CSE related information together.
411 config SOC_INTEL_CSE_FW_PARTITION_CMOS_OFFSET
415 config SOC_INTEL_COMMON_BLOCK_ACPI_SLP_S0_FREQ_HZ
418 slp_s0_residency granularity in 122us ticks (i.e. ~8.2KHz) in Panther Lake.
420 config SOC_PHYSICAL_ADDRESS_WIDTH
424 config SOC_INTEL_UFS_CLK_FREQ_HZ