summaryrefslogtreecommitdiff
path: root/src/soc/intel/alderlake/Kconfig
blob: 3570f27578930deb550ffdc8ebfd45d5b78cda89 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
config SOC_INTEL_ALDERLAKE
	bool
	help
	  Intel Alderlake support. Mainboards should specify the PCH
	  type using the `SOC_INTEL_ALDERLAKE_PCH_*` options instead
	  of selecting this option directly.

config SOC_INTEL_ALDERLAKE_PCH_M
	bool
	select SOC_INTEL_ALDERLAKE
	help
	  Choose this option if your mainboard has a PCH-M chipset.

config SOC_INTEL_ALDERLAKE_PCH_N
	bool
	select SOC_INTEL_ALDERLAKE
	help
	  Choose this option if your mainboard has a PCH-N chipset.

config SOC_INTEL_ALDERLAKE_PCH_P
	bool
	select SOC_INTEL_ALDERLAKE
	help
	  Choose this option if your mainboard has a PCH-P chipset.

if SOC_INTEL_ALDERLAKE

config CPU_SPECIFIC_OPTIONS
	def_bool y
	select ACPI_INTEL_HARDWARE_SLEEP_VALUES
	select ACPI_ADL_IPU_ES_SUPPORT
	select ARCH_X86
	select BOOT_DEVICE_SUPPORTS_WRITES
	select CACHE_MRC_SETTINGS
	select CPU_INTEL_COMMON
	select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
	select CPU_SUPPORTS_INTEL_TME
	select CPU_SUPPORTS_PM_TIMER_EMULATION
	select DISPLAY_FSP_VERSION_INFO
	select DRIVERS_USB_ACPI
	select FSP_COMPRESS_FSP_S_LZ4
	select FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW
	select FSP_M_XIP
	select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
	select FSP_USES_CB_DEBUG_EVENT_HANDLER
	select FSPS_HAS_ARCH_UPD
	select GENERIC_GPIO_LIB
	select HAVE_DEBUG_RAM_SETUP
	select HAVE_FSP_GOP
	select INTEL_DESCRIPTOR_MODE_CAPABLE
	select HAVE_SMI_HANDLER
	select IDT_IN_EVERY_STAGE
	select INTEL_GMA_ACPI
	select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
	select INTEL_GMA_OPREGION_2_1
	select INTEL_TME
	select MP_SERVICES_PPI_V2
	select MRC_SETTINGS_PROTECT
	select PARALLEL_MP_AP_WORK
	select MICROCODE_BLOB_UNDISCLOSED
	select PLATFORM_USES_FSP2_2
	select PMC_GLOBAL_RESET_ENABLE_LOCK
	select SOC_INTEL_COMMON
	select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
	select SOC_INTEL_COMMON_BLOCK
	select SOC_INTEL_COMMON_BLOCK_ACPI
	select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
	select SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID
	select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
	select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
	select SOC_INTEL_COMMON_BLOCK_ACPI_PEP_LPM_REQ
	select SOC_INTEL_COMMON_BLOCK_CAR
	select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
	select SOC_INTEL_COMMON_BLOCK_CNVI
	select SOC_INTEL_COMMON_BLOCK_CPU
	select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
	select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
	select SOC_INTEL_COMMON_BLOCK_DTT
	select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
	select SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_SBI
	select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
	select SOC_INTEL_COMMON_BLOCK_SCS if SOC_INTEL_ALDERLAKE_PCH_N
	select SOC_INTEL_COMMON_BLOCK_HDA
	select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC if DISABLE_HECI1_AT_PRE_BOOT
	select SOC_INTEL_COMMON_BLOCK_IPU
	select SOC_INTEL_COMMON_BLOCK_IRQ
	select SOC_INTEL_COMMON_BLOCK_MEMINIT
	select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
	select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
	select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
	select SOC_INTEL_COMMON_BLOCK_SA
	select SOC_INTEL_COMMON_BLOCK_SMM
	select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
	select SOC_INTEL_COMMON_BLOCK_TCSS
	select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
	select SOC_INTEL_COMMON_BLOCK_USB4
	select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
	select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
	select SOC_INTEL_COMMON_BLOCK_XHCI
	select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
	select SOC_INTEL_COMMON_FSP_RESET
	select SOC_INTEL_COMMON_PCH_BASE
	select SOC_INTEL_COMMON_RESET
	select SOC_INTEL_CSE_SEND_EOP_EARLY
	select SOC_INTEL_CSE_SET_EOP
	select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
	select SSE2
	select SUPPORT_CPU_UCODE_IN_CBFS
	select TSC_MONOTONIC_TIMER
	select UDELAY_TSC
	select UDK_202005_BINDING
	select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM

config ALDERLAKE_A0_CONFIGURE_PMC_DESCRIPTOR
	bool
	help
	  Alder Lake stepping A0 needs a different value for a PMC setting in
	  the IFD. When this option is selected, coreboot will update the IFD
	  value at runtime, which allows using an IFD with the new value with
	  any CPU stepping. To apply this workaround, the IFD region needs to
	  be writable by the host.

config ALDERLAKE_CAR_ENHANCED_NEM
	bool
	default y if !INTEL_CAR_NEM
	select INTEL_CAR_NEM_ENHANCED
	select CAR_HAS_SF_MASKS
	select COS_MAPPED_TO_MSB
	select CAR_HAS_L3_PROTECTED_WAYS

config MAX_CPUS
	int
	default 24

config DCACHE_RAM_BASE
	default 0xfef00000

config DCACHE_RAM_SIZE
	default 0xc0000
	help
	  The size of the cache-as-ram region required during bootblock
	  and/or romstage.

config DCACHE_BSP_STACK_SIZE
	hex
	default 0x80400
	help
	  The amount of anticipated stack usage in CAR by bootblock and
	  other stages. In the case of FSP_USES_CB_STACK default value will be
	  sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
	  (~1KiB).

config FSP_TEMP_RAM_SIZE
	hex
	default 0x20000
	help
	  The amount of anticipated heap usage in CAR by FSP.
	  Refer to Platform FSP integration guide document to know
	  the exact FSP requirement for Heap setup.

config CHIPSET_DEVICETREE
	string
	default "soc/intel/alderlake/chipset.cb"

config EXT_BIOS_WIN_BASE
	default 0xf8000000

config EXT_BIOS_WIN_SIZE
	default 0x2000000

config IFD_CHIPSET
	string
	default "adl"

config IED_REGION_SIZE
	hex
	default 0x400000

config HEAP_SIZE
	hex
	default 0x10000

# Intel recommends reserving the following resources per PCIe TBT root port,
# from ADL BIOS Spec (doc #627270) Revision 0.6.0 Section 7.2.5.1.5
# - 42 buses
# - 194 MiB Non-prefetchable memory
# - 448 MiB Prefetchable memory
if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES

config PCIEXP_HOTPLUG_BUSES
	int
	default 42

config PCIEXP_HOTPLUG_MEM
	hex
	default 0xc200000

config PCIEXP_HOTPLUG_PREFETCH_MEM
	hex
	default 0x1c000000

endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES

config MAX_PCH_ROOT_PORTS
	int
	default 10 if SOC_INTEL_ALDERLAKE_PCH_M
	default 12 if SOC_INTEL_ALDERLAKE_PCH_N
	default 12 if SOC_INTEL_ALDERLAKE_PCH_P

config MAX_CPU_ROOT_PORTS
	int
	default 1 if SOC_INTEL_ALDERLAKE_PCH_M
	default 0 if SOC_INTEL_ALDERLAKE_PCH_N
	default 3 if SOC_INTEL_ALDERLAKE_PCH_P

config MAX_TBT_ROOT_PORTS
	int
	default 0 if SOC_INTEL_ALDERLAKE_PCH_N
	default 2 if SOC_INTEL_ALDERLAKE_PCH_M
	default 4 if SOC_INTEL_ALDERLAKE_PCH_P

config MAX_ROOT_PORTS
	int
	default MAX_PCH_ROOT_PORTS

config MAX_PCIE_CLOCK_SRC
	int
	default 6 if SOC_INTEL_ALDERLAKE_PCH_M
	default 5 if SOC_INTEL_ALDERLAKE_PCH_N
	default 7 if SOC_INTEL_ALDERLAKE_PCH_P

config MAX_PCIE_CLOCK_REQ
	int
	default 6  if SOC_INTEL_ALDERLAKE_PCH_M
	default 5  if SOC_INTEL_ALDERLAKE_PCH_N
	default 10 if SOC_INTEL_ALDERLAKE_PCH_P

config SMM_TSEG_SIZE
	hex
	default 0x800000

config SMM_RESERVED_SIZE
	hex
	default 0x200000

config PCR_BASE_ADDRESS
	hex
	default 0xfd000000
	help
	  This option allows you to select MMIO Base Address of sideband bus.

config ECAM_MMCONF_BASE_ADDRESS
	default 0xc0000000

config CPU_BCLK_MHZ
	int
	default 100

config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
	int
	default 120

config CPU_XTAL_HZ
	default 38400000

config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
	int
	default 133

config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
	int
	default 7

config SOC_INTEL_I2C_DEV_MAX
	int
	default 8

config SOC_INTEL_UART_DEV_MAX
	int
	default 7

config CONSOLE_UART_BASE_ADDRESS
	hex
	default 0xfe03e000
	depends on INTEL_LPSS_UART_FOR_CONSOLE

config VBT_DATA_SIZE_KB
	int
	default 9

# Clock divider parameters for 115200 baud rate
# Baudrate = (UART source clcok * M) /(N *16)
# ADL UART source clock: 120MHz
config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
	hex
	default 0x25a

config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
	hex
	default 0x7fff

config VBOOT
	select VBOOT_SEPARATE_VERSTAGE
	select VBOOT_MUST_REQUEST_DISPLAY
	select VBOOT_STARTS_IN_BOOTBLOCK
	select VBOOT_VBNV_CMOS
	select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
	select VBOOT_X86_SHA256_ACCELERATION

# Default hash block size is 1KiB. Increasing it to 4KiB to improve
# hashing time as well as read time. This helps in improving
# boot time for Alder Lake.
config VBOOT_HASH_BLOCK_SIZE
	hex
	default 0x1000

config CBFS_SIZE
	default 0x200000

config PRERAM_CBMEM_CONSOLE_SIZE
	hex
	default 0x2000

config FSP_HEADER_PATH
	string "Location of FSP headers"
	default "src/vendorcode/intel/fsp/fsp2_0/alderlake_n/" if SOC_INTEL_ALDERLAKE_PCH_N
	default "src/vendorcode/intel/fsp/fsp2_0/alderlake/"

config FSP_FD_PATH
	string
	depends on FSP_USE_REPO
	default "3rdparty/fsp/AlderLakeFspBinPkg/Fsp.fd"

config SOC_INTEL_ALDERLAKE_DEBUG_CONSENT
	int "Debug Consent for ADL"
	# USB DBC is more common for developers so make this default to 2 if
	# SOC_INTEL_DEBUG_CONSENT=y
	default 2 if SOC_INTEL_DEBUG_CONSENT
	default 0
	help
	  This is to control debug interface on SOC.
	  Setting non-zero value will allow to use DBC or DCI to debug SOC.
	  PlatformDebugConsent in FspmUpd.h has the details.

	  Desired platform debug type are
	  0:Disabled, 2:Enabled (All Probes+TraceHub), 6:Enable (Low Power),
	  7:Manual

config DATA_BUS_WIDTH
	int
	default 128

config DIMMS_PER_CHANNEL
	int
	default 2

config MRC_CHANNEL_WIDTH
	int
	default 16

config ACPI_ADL_IPU_ES_SUPPORT
	def_bool n
	help
	  Enables ACPI entry to provide silicon type information to IPU kernel driver.

if STITCH_ME_BIN

config CSE_BPDT_VERSION
	default "1.7"

endif

config SI_DESC_REGION
	string "Descriptor Region name"
	default "SI_DESC"
	help
	  Name of Descriptor Region in the FMAP

config SI_DESC_REGION_SZ
	int
	default 4096
	help
	  Size of Descriptor Region in the FMAP

endif