commonlib: Add new "ESE completed AUnit loading" TS
[coreboot.git] / src / soc / intel / pantherlake / Kconfig
blobdde401bfb505ab8438f2b8e2af6cab4a141c17c1
1 ## SPDX-License-Identifier: GPL-2.0-only
3 config SOC_INTEL_PANTHERLAKE_BASE
4         bool
5         select ACPI_INTEL_HARDWARE_SLEEP_VALUES
6         select ARCH_X86
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
19         select FSP_M_XIP
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
25         select HAVE_FSP_GOP
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
33         select INTEL_GMA_ACPI
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
38         select IOAPIC
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
102         select SSE2
103         select SUPPORT_CPU_UCODE_IN_CBFS
104         select TSC_MONOTONIC_TIMER
105         select UDELAY_TSC
106         select UDK_202302_BINDING
107         select USE_X86_64_SUPPORT
108         select X86_INIT_NEED_1_SIPI
109         help
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
115         bool
116         select SOC_INTEL_PANTHERLAKE_BASE
117         help
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
122         bool
123         depends on !SOC_INTEL_PANTHERLAKE_U_H
124         select SOC_INTEL_PANTHERLAKE_BASE
125         help
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
131         bool
132         default y
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
139         bool
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
147 config MAX_CPUS
148         int
149         default 16
151 config DCACHE_RAM_BASE
152         default 0xfef00000
154 config DCACHE_RAM_SIZE
155         default 0xc0000
156         help
157           The size of the cache-as-ram region required during bootblock
158           and/or romstage.
160 config DCACHE_BSP_STACK_SIZE
161         hex
162         default 0x88000
163         help
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
167           (~32KiB).
169 config FSP_TEMP_RAM_SIZE
170         hex
171         default 0x20000
172         help
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
178         string
179         default "soc/intel/pantherlake/chipset.cb"
181 config EXT_BIOS_WIN_BASE
182         default 0xf8000000
184 config EXT_BIOS_WIN_SIZE
185         default 0x2000000
187 config IFD_CHIPSET
188         string
189         default "ptl"
191 config IED_REGION_SIZE
192         hex
193         default 0x400000
195 # Intel recommends reserving the PCIe TBT root port resources as below:
196 # - 42 buses
197 # - 194 MiB Non-prefetchable memory
198 # - 448 MiB Prefetchable memory
199 if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
201 config PCIEXP_HOTPLUG_BUSES
202         int
203         default 42
205 config PCIEXP_HOTPLUG_MEM
206         hex
207         default 0xc200000
209 config PCIEXP_HOTPLUG_PREFETCH_MEM
210         hex
211         default 0x1c000000
213 endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
215 config MAX_TBT_ROOT_PORTS
216         int
217         default 4
219 config MAX_ROOT_PORTS
220         int
221         default 10 if SOC_INTEL_PANTHERLAKE_H
222         default 12
224 config MAX_PCIE_CLOCK_SRC
225         int
226         default 9
228 config SMM_TSEG_SIZE
229         hex
230         default 0x2000000
232 config SMM_RESERVED_SIZE
233         hex
234         default 0x200000
236 config PCR_BASE_ADDRESS
237         hex
238         default 0x4000000000
239         help
240           This option allows you to select MMIO Base Address of P2SB#1 aka SoC P2SB.
242 config P2SB_2_PCR_BASE_ADDRESS
243         hex
244         default 0x4010000000
245         help
246           This option allows you to select MMIO Base Address of P2SB#2 aka SoC P2SB2.
248 config ECAM_MMCONF_BASE_ADDRESS
249         default 0xe0000000
251 config CPU_BCLK_MHZ
252         int
253         default 100
255 config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
256         int
257         default 120
259 config CPU_XTAL_HZ
260         default 38400000
262 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
263         int
264         default 133
266 config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
267         int
268         default 3
270 config SOC_INTEL_I2C_DEV_MAX
271         int
272         default 6
274 config SOC_INTEL_UART_DEV_MAX
275         int
276         default 3
278 config SOC_INTEL_USB2_DEV_MAX
279         int
280         default 8
282 config SOC_INTEL_USB3_DEV_MAX
283         int
284         default 2
286 config CONSOLE_UART_BASE_ADDRESS
287         hex
288         default 0xfe02c000
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
295         hex
296         default 0x25a
298 config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
299         hex
300         default 0x7fff
302 config VBOOT
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
314         hex
315         default 0x1000
317 config CBFS_SIZE
318         hex
319         default 0x200000
321 config PRERAM_CBMEM_CONSOLE_SIZE
322         hex
323         default 0x2000
325 config CONSOLE_CBMEM_BUFFER_SIZE
326         hex
327         default 0x100000 if BUILDING_WITH_DEBUG_FSP
328         default 0x40000
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:
335 #  0: Disabled,
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
339 #    low power state,
340 #  7: User needs to configure Advanced Debug Settings manually.
341 config SOC_INTEL_COMMON_DEBUG_CONSENT
342         int
343         default 4 if SOC_INTEL_DEBUG_CONSENT
345 config DATA_BUS_WIDTH
346         int
347         default 128
349 config DIMMS_PER_CHANNEL
350         int
351         default 2
353 config MRC_CHANNEL_WIDTH
354         int
355         default 16
357 config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
358         hex
359         default 0x800000
361 config DROP_CPU_FEATURE_PROGRAM_IN_FSP
362         bool
363         default y if MP_SERVICES_PPI_V2_NOOP || CHROMEOS
364         default n
365         help
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
383         hex
384         default 0x100f
385         help
386           Latency tolerance reporting, max snoop latency value defaults to 15.73 ms.
388 config PCIE_LTR_MAX_NO_SNOOP_LATENCY
389         hex
390         default 0x100f
391         help
392           Latency tolerance reporting, max non-snoop latency value defaults to 15.73 ms.
394 config HAVE_BMP_LOGO_COMPRESS_LZMA
395         default n
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
404         int
405         default 161
407 config SOC_INTEL_COMMON_BLOCK_ACPI_SLP_S0_FREQ_HZ
408         default 0x2005
409         help
410           slp_s0_residency granularity in 122us ticks (i.e. ~8.2KHz) in Panther Lake.
412 config SOC_PHYSICAL_ADDRESS_WIDTH
413         int
414         default 42
416 config SOC_INTEL_UFS_CLK_FREQ_HZ
417         int
418         default 38400000
420 # Override DEBUG Kconfig to avoid false alarm about stack overflow.
421 config DEBUG_STACK_OVERFLOW_BREAKPOINTS
422         bool
423         default n
425 config DEBUG_STACK_OVERFLOW_BREAKPOINTS_IN_ALL_STAGES
426         bool
427         default n
429 endif