ec/google/chromeec: Define ACPI_NOTIFY_CROS_EC_MKBP constant
[coreboot.git] / src / soc / intel / pantherlake / Kconfig
blob26a498711919390a83e6fbf6401971a15439d5a1
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_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_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 SOC_INTEL_PERFORMANCE_CORE_SCALE_FACTOR
252         int
253         default 125 # TODO: Update with PTL data
255 config SOC_INTEL_EFFICIENT_CORE_SCALE_FACTOR
256         int
257         default 100 # TODO: Update with PTL data
259 config CPU_BCLK_MHZ
260         int
261         default 100
263 config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
264         int
265         default 120
267 config CPU_XTAL_HZ
268         default 38400000
270 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
271         int
272         default 133
274 config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
275         int
276         default 3
278 config SOC_INTEL_I2C_DEV_MAX
279         int
280         default 6
282 config SOC_INTEL_UART_DEV_MAX
283         int
284         default 3
286 config SOC_INTEL_USB2_DEV_MAX
287         int
288         default 8
290 config SOC_INTEL_USB3_DEV_MAX
291         int
292         default 2
294 config CONSOLE_UART_BASE_ADDRESS
295         hex
296         default 0xfe02c000
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
303         hex
304         default 0x25a
306 config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
307         hex
308         default 0x7fff
310 config VBOOT
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
322         hex
323         default 0x1000
325 config CBFS_SIZE
326         hex
327         default 0x200000
329 config PRERAM_CBMEM_CONSOLE_SIZE
330         hex
331         default 0x2000
333 config CONSOLE_CBMEM_BUFFER_SIZE
334         hex
335         default 0x100000 if BUILDING_WITH_DEBUG_FSP
336         default 0x40000
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:
343 #  0: Disabled,
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
347 #    low power state,
348 #  7: User needs to configure Advanced Debug Settings manually.
349 config SOC_INTEL_COMMON_DEBUG_CONSENT
350         int
351         default 4 if SOC_INTEL_DEBUG_CONSENT
353 config DATA_BUS_WIDTH
354         int
355         default 128
357 config DIMMS_PER_CHANNEL
358         int
359         default 2
361 config MRC_CHANNEL_WIDTH
362         int
363         default 16
365 config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
366         hex
367         default 0x800000
369 config DROP_CPU_FEATURE_PROGRAM_IN_FSP
370         bool
371         default y if MP_SERVICES_PPI_V2_NOOP || CHROMEOS
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 config SOC_INTEL_UFS_CLK_FREQ_HZ
425         int
426         default 38400000
428 endif