soc/intel/pantherlake: Update PlatformDebugOption to Trace Ready
[coreboot2.git] / src / soc / intel / pantherlake / Kconfig
blob76a84cdeb895a8916aa8fca8f996239c61763583
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_18 # TODO: Update with ME21 Spec
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
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_CLFLUSH_CAR
109         select X86_INIT_NEED_1_SIPI
110         help
111           Intel Pantherlake support. Mainboards should specify the SoC
112           type using the `SOC_INTEL_PANTHERLAKE_*` options instead
113           of selecting this option directly.
115 config SOC_INTEL_PANTHERLAKE_U_H
116         bool
117         select SOC_INTEL_PANTHERLAKE_BASE
118         help
119           Choose this option if the mainboard is built using either a PTL-U (15W) or
120           PTL-H 12Xe (25W) system-on-a-chip SoC.
122 config SOC_INTEL_PANTHERLAKE_H
123         bool
124         depends on !SOC_INTEL_PANTHERLAKE_U_H
125         select SOC_INTEL_PANTHERLAKE_BASE
126         help
127           Choose this option if the mainboard is built using PTL-H 4Xe system-on-a-chip (SoC).
129 if SOC_INTEL_PANTHERLAKE_BASE
131 config SOC_INTEL_PANTHERLAKE_TCSS_USB4_SUPPORT
132         bool
133         default y
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 CAR_ENHANCED_NEM
140         bool
141         default y if !INTEL_CAR_NEM
142         select INTEL_CAR_NEM_ENHANCED
143         select CAR_HAS_SF_MASKS
144         select COS_MAPPED_TO_MSB
145         select CAR_HAS_L3_PROTECTED_WAYS
146         select INTEL_CAR_ENEM_USE_EFFECTIVE_WAY_SIZE
148 config MAX_CPUS
149         int
150         default 16
152 config DCACHE_RAM_BASE
153         default 0xfef00000
155 config DCACHE_RAM_SIZE
156         default 0xc0000
157         help
158           The size of the cache-as-ram region required during bootblock
159           and/or romstage.
161 config DCACHE_BSP_STACK_SIZE
162         hex
163         default 0x88000
164         help
165           The amount of anticipated stack usage in CAR by bootblock and
166           other stages. In the case of FSP_USES_CB_STACK default value will be
167           sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
168           (~32KiB).
170 config FSP_TEMP_RAM_SIZE
171         hex
172         default 0x20000
173         help
174           The amount of anticipated heap usage in CAR by FSP.
175           Refer to Platform FSP integration guide document to know
176           the exact FSP requirement for Heap setup.
178 config CHIPSET_DEVICETREE
179         string
180         default "soc/intel/pantherlake/chipset.cb"
182 config EXT_BIOS_WIN_BASE
183         default 0xf8000000
185 config EXT_BIOS_WIN_SIZE
186         default 0x2000000
188 config IFD_CHIPSET
189         string
190         default "ptl"
192 config IED_REGION_SIZE
193         hex
194         default 0x400000
196 # Intel recommends reserving the PCIe TBT root port resources as below:
197 # - 42 buses
198 # - 194 MiB Non-prefetchable memory
199 # - 448 MiB Prefetchable memory
200 if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
202 config PCIEXP_HOTPLUG_BUSES
203         int
204         default 42
206 config PCIEXP_HOTPLUG_MEM
207         hex
208         default 0xc200000
210 config PCIEXP_HOTPLUG_PREFETCH_MEM
211         hex
212         default 0x1c000000
214 endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
216 config MAX_TBT_ROOT_PORTS
217         int
218         default 4
220 config MAX_ROOT_PORTS
221         int
222         default 10 if SOC_INTEL_PANTHERLAKE_H
223         default 12
225 config MAX_PCIE_CLOCK_SRC
226         int
227         default 9
229 config SMM_TSEG_SIZE
230         hex
231         default 0x2000000
233 config SMM_RESERVED_SIZE
234         hex
235         default 0x200000
237 config PCR_BASE_ADDRESS
238         hex
239         default 0x4000000000
240         help
241           This option allows you to select MMIO Base Address of P2SB#1 aka SoC P2SB.
243 config P2SB_2_PCR_BASE_ADDRESS
244         hex
245         default 0x4010000000
246         help
247           This option allows you to select MMIO Base Address of P2SB#2 aka SoC P2SB2.
249 config ECAM_MMCONF_BASE_ADDRESS
250         default 0xe0000000
252 config SOC_INTEL_PERFORMANCE_CORE_SCALE_FACTOR
253         int
254         default 125 # TODO: Update with PTL data
256 config SOC_INTEL_EFFICIENT_CORE_SCALE_FACTOR
257         int
258         default 100 # TODO: Update with PTL data
260 config CPU_BCLK_MHZ
261         int
262         default 100
264 config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
265         int
266         default 120
268 config CPU_XTAL_HZ
269         default 38400000
271 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
272         int
273         default 133
275 config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
276         int
277         default 3
279 config SOC_INTEL_I2C_DEV_MAX
280         int
281         default 6
283 config SOC_INTEL_UART_DEV_MAX
284         int
285         default 3
287 config SOC_INTEL_USB2_DEV_MAX
288         int
289         default 8
291 config SOC_INTEL_USB3_DEV_MAX
292         int
293         default 2
295 config CONSOLE_UART_BASE_ADDRESS
296         hex
297         default 0xfe02c000
298         depends on INTEL_LPSS_UART_FOR_CONSOLE
300 # Clock divider parameters for 115200 baud rate
301 # Baudrate = (UART source clock * M) /(N *16)
302 # PTL UART source clock: 100MHz
303 config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
304         hex
305         default 0x25a
307 config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
308         hex
309         default 0x7fff
311 config VBOOT
312         select VBOOT_MUST_REQUEST_DISPLAY
313         select VBOOT_SEPARATE_VERSTAGE
314         select VBOOT_STARTS_IN_BOOTBLOCK
315         select VBOOT_VBNV_CMOS
316         select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
317         select VBOOT_X86_SHA256_ACCELERATION
318         select VBOOT_X86_RSA_ACCELERATION
320 # Default hash block size is 1KiB. Increasing it to 4KiB to improve
321 # hashing time as well as read time.
322 config VBOOT_HASH_BLOCK_SIZE
323         hex
324         default 0x1000
326 config CBFS_SIZE
327         hex
328         default 0x200000
330 config PRERAM_CBMEM_CONSOLE_SIZE
331         hex
332         default 0x2000
334 config CONSOLE_CBMEM_BUFFER_SIZE
335         hex
336         default 0x100000 if BUILDING_WITH_DEBUG_FSP
337         default 0x40000
339 config FSP_HEADER_PATH
340         string "Location of FSP headers"
341         default "src/vendorcode/intel/fsp/fsp2_0/pantherlake/"
343 # Override platform debug consent value:
344 #  0: Disabled,
345 #  2: Enabled Trace active: TraceHub is enabled and trace is active, blocks s0ix,
346 #  4: Enabled Trace ready: TraceHub is enabled and allowed S0ix,
347 #  6: Enabled Trace power off: TraceHub is powergated, provide setting close to functional
348 #    low power state,
349 #  7: User needs to configure Advanced Debug Settings manually.
350 config SOC_INTEL_COMMON_DEBUG_CONSENT
351         int
352         default 4 if SOC_INTEL_DEBUG_CONSENT
354 config DATA_BUS_WIDTH
355         int
356         default 128
358 config DIMMS_PER_CHANNEL
359         int
360         default 2
362 config MRC_CHANNEL_WIDTH
363         int
364         default 16
366 config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
367         hex
368         default 0x800000
370 config DROP_CPU_FEATURE_PROGRAM_IN_FSP
371         bool
372         default n
373         help
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
391         hex
392         default 0x100f
393         help
394           Latency tolerance reporting, max snoop latency value defaults to 15.73 ms.
396 config PCIE_LTR_MAX_NO_SNOOP_LATENCY
397         hex
398         default 0x100f
399         help
400           Latency tolerance reporting, max non-snoop latency value defaults to 15.73 ms.
402 config HAVE_BMP_LOGO_COMPRESS_LZMA
403         default n
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
412         int
413         default 161
415 config SOC_INTEL_COMMON_BLOCK_ACPI_SLP_S0_FREQ_HZ
416         default 0x2005
417         help
418           slp_s0_residency granularity in 122us ticks (i.e. ~8.2KHz) in Panther Lake.
420 config SOC_PHYSICAL_ADDRESS_WIDTH
421         int
422         default 42
424 endif