blob: 78ec2987ce4e2cc0622c023ade3bdc07c5c1438e [file] [log] [blame]
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -07001config SOC_INTEL_APOLLOLAKE
2 bool
Arthur Heymans5e8c9062021-06-15 11:19:52 +02003 select INTEL_CAR_CQOS
Aaron Durbined35b7c2016-07-13 23:17:38 -05004 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Nico Huber44c6cf62018-11-24 17:53:17 +01005 select ACPI_NO_PCAT_8259
Angel Pons8e035e32021-06-22 12:58:20 +02006 select ARCH_X86
Aaron Durbine8e118d2016-08-12 15:00:10 -05007 select BOOT_DEVICE_SUPPORTS_WRITES
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -07008 # CPU specific options
Angel Ponsae0d8d62020-09-02 15:00:40 +02009 select CPU_INTEL_COMMON
Michael Niewöhnerfe6070f2020-10-04 15:16:04 +020010 select CPU_SUPPORTS_PM_TIMER_EMULATION
Subrata Banikccd87002017-03-08 17:55:26 +053011 select PCR_COMMON_IOSF_1_0
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070012 select SSE2
13 select SUPPORT_CPU_UCODE_IN_CBFS
Saurabh Satija734aa872016-06-21 14:22:16 -070014 # Audio options
15 select ACPI_NHLT
16 select SOC_INTEL_COMMON_NHLT
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070017 # Misc options
Aaron Durbin934f4332017-12-15 12:59:18 -070018 select CACHE_MRC_SETTINGS
Sean Rhodes7bbc9a52022-07-18 11:31:00 +010019 select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
Werner Zehb60e69b2022-05-17 10:19:19 +020020 select FAST_SPI_GENERATE_SSDT
Ravi Sarawadia3d13fbd62017-04-25 19:30:58 -070021 select FSP_PLATFORM_MEMORY_SETTINGS_VERSIONS
Subrata Banik4ed9f9a2020-10-31 22:01:55 +053022 select FSP_STATUS_GLOBAL_RESET_REQUIRED_5
Duncan Lauried25dd992016-06-29 10:47:48 -070023 select GENERIC_GPIO_LIB
Subrata Banik34f26b22022-02-10 12:38:02 +053024 select HAVE_ASAN_IN_ROMSTAGE
25 select HAVE_CF9_RESET_PREPARE
Subrata Banik4225a792022-12-19 18:24:13 +053026 select HAVE_DPTF_EISA_HID
Subrata Banik34f26b22022-02-10 12:38:02 +053027 select HAVE_FSP_GOP
28 select HAVE_FSP_LOGO_SUPPORT
Angel Ponsb36100f2020-09-07 13:18:10 +020029 select HAVE_INTEL_FSP_REPO if !SOC_INTEL_GEMINILAKE
Subrata Banik34f26b22022-02-10 12:38:02 +053030 select HAVE_SMI_HANDLER
31 select INTEL_DESCRIPTOR_MODE_CAPABLE
32 select INTEL_GMA_ACPI
33 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
34 select INTEL_GMA_SWSMISCI
Furquan Shaikhffb3a2d2016-10-24 15:28:23 -070035 select MRC_SETTINGS_PROTECT
Aaron Durbin934f4332017-12-15 12:59:18 -070036 select MRC_SETTINGS_VARIABLE_DATA
Michael Niewöhnerc9a12f22021-09-24 23:22:51 +020037 select NO_PM_ACPI_TIMER
Subrata Banik34f26b22022-02-10 12:38:02 +053038 select NO_UART_ON_SUPERIO
39 select NO_XIP_EARLY_STAGES
Arthur Heymanse2474352020-11-30 15:42:49 +010040 select FSP_COMPRESS_FSP_M_LZ4
Andrey Petrova697c192016-12-07 10:47:46 -080041 select PARALLEL_MP_AP_WORK
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070042 select PCIEXP_ASPM
43 select PCIEXP_COMMON_CLOCK
44 select PCIEXP_CLK_PM
45 select PCIEXP_L1_SUB_STATE
Michał Żygowskic68456e2023-01-18 13:37:28 +010046 select PERIODIC_SMI_RATE_SELECTION_IN_GEN_PMCON_B
Subrata Banik34f26b22022-02-10 12:38:02 +053047 select PLATFORM_USES_FSP2_0
Hannah Williams1177bf52017-12-13 12:44:26 -080048 select PMC_INVALID_READ_AFTER_WRITE
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020049 select PMC_GLOBAL_RESET_ENABLE_LOCK
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070050 select REG_SCRIPT
Subrata Banik208587e2017-05-19 18:38:24 +053051 select SA_ENABLE_IMR
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -070052 select SOC_INTEL_COMMON
Shaunak Saha60b46182016-08-02 17:25:13 -070053 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Subrata Banikfc4c7d82017-03-03 18:23:59 +053054 select SOC_INTEL_COMMON_BLOCK
Sumeet R Pawnikar2adb50d2020-05-09 15:37:09 +053055 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Shaunak Sahabd427802017-07-18 00:19:33 -070056 select SOC_INTEL_COMMON_BLOCK_ACPI
Arthur Heymans5e8c9062021-06-15 11:19:52 +020057 select SOC_INTEL_COMMON_BLOCK_CAR
Barnali Sarkar66fe0c42017-05-23 18:17:14 +053058 select SOC_INTEL_COMMON_BLOCK_CPU
Furquan Shaikh2c368892018-10-18 16:22:37 -070059 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Aaron Durbinaa2504a2017-07-14 16:53:49 -060060 select SOC_INTEL_COMMON_BLOCK_GPIO_MULTI_ACPI_DEVICES
Hannah Williams12bed182017-05-26 20:31:15 -070061 select SOC_INTEL_COMMON_BLOCK_GPIO_IOSTANDBY
Subrata Banikc176fc22022-04-25 16:59:35 +053062 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR
Sean Rhodes026f00472022-06-20 08:09:29 +010063 select SOC_INTEL_COMMON_PCH_CLIENT
Arthur Heymans1ae8cd12020-11-19 13:59:53 +010064 select SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE
V Sowmya45a21382017-11-27 12:39:10 +053065 select SOC_INTEL_COMMON_BLOCK_SRAM
Aamir Bohrabf6dfae2017-04-07 21:10:27 +053066 select SOC_INTEL_COMMON_BLOCK_SA
Bora Guvendik65623b72017-05-08 16:29:17 -070067 select SOC_INTEL_COMMON_BLOCK_SCS
Karthikeyan Ramasubramanianf84c1032019-03-20 13:15:00 -060068 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
Brandon Breitensteina86d1b82017-06-08 17:32:02 -070069 select SOC_INTEL_COMMON_BLOCK_SMM
Subrata Banik4ed9f9a2020-10-31 22:01:55 +053070 select SOC_INTEL_COMMON_FSP_RESET
Subrata Banik34f26b22022-02-10 12:38:02 +053071 select SOC_INTEL_COMMON_RESET
Sean Rhodes026f00472022-06-20 08:09:29 +010072 select SOC_INTEL_INTEGRATED_SOUTHCLUSTER
Subrata Banikaf27ac22022-02-18 00:44:15 +053073 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
Arthur Heymans6da7fa22021-06-23 10:52:01 +020074 select SOC_INTEL_NO_BOOTGUARD_MSR
Hannah Williamsb13d4542016-03-14 17:38:51 -070075 select TSC_MONOTONIC_TIMER
Subrata Banik34f26b22022-02-10 12:38:02 +053076 select UDELAY_TSC
Patrick Rudolph05ca0542022-03-22 08:33:40 +010077 select UDK_2017_BINDING
Subrata Banik34f26b22022-02-10 12:38:02 +053078 select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
79 select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT
80 select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
Raul E Rangele92a9822021-06-24 16:54:27 -060081 # This SoC does not map SPI flash like many previous SoC. Therefore we
82 # provide a custom media driver that facilitates mapping
83 select X86_CUSTOM_BOOTMEDIA
Elyes Haouas75750912023-08-21 20:39:25 +020084 help
85 Intel Apollolake support
86
87config SOC_INTEL_GEMINILAKE
88 bool
89 default n
90 select SOC_INTEL_APOLLOLAKE
91 select SOC_INTEL_COMMON_BLOCK_CNVI
92 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
93 select SOC_INTEL_COMMON_BLOCK_SGX
94 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
95 select IDT_IN_EVERY_STAGE
96 select PAGING_IN_CACHE_AS_RAM
97 select INTEL_CAR_NEM
98 help
99 Intel Geminilake support
100
101if SOC_INTEL_APOLLOLAKE
Zhao, Lijiand8d42c22016-03-14 14:19:22 -0700102
Sean Rhodesfafcb742022-01-20 21:28:31 +0000103config SKIP_CSE_RBP
104 bool
105 default y if BOOT_DEVICE_MEMORY_MAPPED
106 help
107 Tell CSE we do not need to use Ring Buffer Protocol (RBP) to fetch
108 firmware for us if we are using memory-mapped SPI. This lets CSE
109 state machine transition to next boot state, so that it can function
110 as designed.
111
Subrata Banik206b0bc2022-01-06 09:34:43 +0000112config DISABLE_HECI1_AT_PRE_BOOT
113 default y
114
Subrata Banik526cc3e2022-01-31 21:55:51 +0530115config MAX_HECI_DEVICES
116 int
Sean Rhodes843f34e2022-06-01 11:30:31 +0100117 default 3
Subrata Banik526cc3e2022-01-31 21:55:51 +0530118
Angel Ponsf4779e82020-09-07 13:40:47 +0200119config MAX_CPUS
120 int
Angel Ponsc6c9b9c2020-09-07 13:45:53 +0200121 default 4
Angel Ponsf4779e82020-09-07 13:40:47 +0200122
Julius Werner58c39382017-02-13 17:53:29 -0800123config VBOOT
124 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800125 select VBOOT_MUST_REQUEST_DISPLAY
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -0700126 select VBOOT_STARTS_IN_BOOTBLOCK
Sean Rhodesd86860b2022-07-18 10:45:06 +0100127 select VBOOT_VBNV_CMOS if !VBOOT_VBNV_FLASH
128 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH if !VBOOT_VBNV_FLASH
Furquan Shaikh87b1bcc2016-07-22 12:57:51 -0700129
Aaron Durbin80a3df22016-04-27 23:05:52 -0500130config TPM_ON_FAST_SPI
131 bool
132 default n
Jes B. Klinkec6b041a12022-04-19 14:00:33 -0700133 depends on MEMORY_MAPPED_TPM
Aaron Durbin80a3df22016-04-27 23:05:52 -0500134 help
Jes B. Klinkec6b041a12022-04-19 14:00:33 -0700135 TPM part is conntected on Fast SPI interface and is mapped to the
136 linear address space.
Aaron Durbin80a3df22016-04-27 23:05:52 -0500137
Subrata Banikccd87002017-03-08 17:55:26 +0530138config PCR_BASE_ADDRESS
139 hex
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -0700140 default 0xd0000000
Subrata Banikccd87002017-03-08 17:55:26 +0530141 help
142 This option allows you to select MMIO Base Address of sideband bus.
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -0700143
144config DCACHE_RAM_BASE
Arthur Heymans3038b482017-06-13 14:05:09 +0200145 hex
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -0700146 default 0xfef00000
147
148config DCACHE_RAM_SIZE
Arthur Heymans3038b482017-06-13 14:05:09 +0200149 hex
Angel Ponsb36100f2020-09-07 13:18:10 +0200150 default 0x100000 if SOC_INTEL_GEMINILAKE
Andrey Petrov0dde2912016-06-27 15:21:26 -0700151 default 0xc0000
Alexandru Gagniucdfc2b312015-10-06 17:16:41 -0700152 help
153 The size of the cache-as-ram region required during bootblock
154 and/or romstage.
155
156config DCACHE_BSP_STACK_SIZE
157 hex
158 default 0x4000
159 help
160 The amount of anticipated stack usage in CAR by bootblock and
161 other stages.
162
Aaron Durbin551e4be2018-04-10 09:24:54 -0600163config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Duncan Laurieff8bce02016-06-27 10:57:13 -0700164 int
Aaron Durbin24de5972018-04-10 09:28:42 -0600165 default 100
Duncan Laurieff8bce02016-06-27 10:57:13 -0700166
Michael Niewöhnerdadcbfb2020-10-04 14:48:05 +0200167config CPU_XTAL_HZ
168 default 19200000
169
Chris Chingb8dc63b2017-12-06 14:26:15 -0700170config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
171 int
Aaron Durbin24de5972018-04-10 09:28:42 -0600172 default 133
Chris Chingb8dc63b2017-12-06 14:26:15 -0700173
Aaron Durbinada13ed2016-02-11 14:47:33 -0600174# 32KiB bootblock is all that is mapped in by the CSE at top of 4GiB.
175config C_ENV_BOOTBLOCK_SIZE
176 hex
177 default 0x8000
178
Andrey Petrovb4831462016-02-25 17:42:25 -0800179config ROMSTAGE_ADDR
180 hex
Andrey Petrov7f72c9b2016-06-24 18:15:09 -0700181 default 0xfef20000
Andrey Petrovb4831462016-02-25 17:42:25 -0800182 help
183 The base address (in CAR) where romstage should be linked
184
Aaron Durbinbef75e72016-05-26 11:00:44 -0500185config VERSTAGE_ADDR
186 hex
Andrey Petrov7f72c9b2016-06-24 18:15:09 -0700187 default 0xfef40000
Aaron Durbinbef75e72016-05-26 11:00:44 -0500188 help
189 The base address (in CAR) where verstage should be linked
190
Patrick Georgi6539e102018-09-13 11:48:43 -0400191config FSP_HEADER_PATH
Sean Rhodes9a04ec62023-08-09 13:17:34 +0100192 default "src/vendorcode/intel/fsp/fsp2_0/geminilake/2.2.0.0" if VENDOR_GOOGLE && SOC_INTEL_GEMINILAKE
193 default "src/vendorcode/intel/fsp/fsp2_0/geminilake/2.2.3.1" if SOC_INTEL_GEMINILAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400194 default "3rdparty/fsp/ApolloLakeFspBinPkg/Include/"
195
196config FSP_FD_PATH
Patrick Georgi6539e102018-09-13 11:48:43 -0400197 default "3rdparty/fsp/ApolloLakeFspBinPkg/FspBin/Fsp.fd"
198
Andrey Petrov79091db72016-05-17 00:03:27 -0700199config FSP_M_ADDR
200 hex
Andrey Petrov7f72c9b2016-06-24 18:15:09 -0700201 default 0xfef40000
Andrey Petrov79091db72016-05-17 00:03:27 -0700202 help
203 The address FSP-M will be relocated to during build time
204
Aaron Durbin9f444c32016-05-20 10:48:44 -0500205config NEED_LBP2
206 bool "Write contents for logical boot partition 2."
207 default n
208 help
209 Write the contents from a file into the logical boot partition 2
210 region defined by LBP2_FMAP_NAME.
211
212config LBP2_FMAP_NAME
213 string "Name of FMAP region to put logical boot partition 2"
214 depends on NEED_LBP2
215 default "SIGN_CSE"
216 help
217 Name of FMAP region to write logical boot partition 2 data.
218
Jeremy Compostella0f9858f2019-12-12 14:39:11 -0700219config LBP2_FROM_IFWI
220 bool "Extract the LBP2 from the IFWI binary"
221 depends on NEED_LBP2
222 default n
223 help
224 The Logical Boot Partition will be automatically extracted
225 from the supplied IFWI binary
226
Aaron Durbin9f444c32016-05-20 10:48:44 -0500227config LBP2_FILE_NAME
228 string "Path of file to write to logical boot partition 2 region"
Jeremy Compostella0f9858f2019-12-12 14:39:11 -0700229 depends on NEED_LBP2 && !LBP2_FROM_IFWI
Patrick Georgib8fba862020-06-17 21:06:53 +0200230 default "3rdparty/blobs/mainboard/\$(CONFIG_MAINBOARD_DIR)/lbp2.bin"
Aaron Durbin9f444c32016-05-20 10:48:44 -0500231 help
232 Name of file to store in the logical boot partition 2 region.
233
Furquan Shaikh7043bf32016-05-28 12:57:05 -0700234config NEED_IFWI
235 bool "Write content into IFWI region"
236 default n
237 help
238 Write the content from a file into IFWI region defined by
239 IFWI_FMAP_NAME.
240
241config IFWI_FMAP_NAME
242 string "Name of FMAP region to pull IFWI into"
243 depends on NEED_IFWI
244 default "IFWI"
245 help
246 Name of FMAP region to write IFWI.
247
248config IFWI_FILE_NAME
249 string "Path of file to write to IFWI region"
250 depends on NEED_IFWI
Patrick Georgib8fba862020-06-17 21:06:53 +0200251 default "3rdparty/blobs/mainboard/\$(CONFIG_MAINBOARD_DIR)/ifwi.bin"
Furquan Shaikh7043bf32016-05-28 12:57:05 -0700252 help
253 Name of file to store in the IFWI region.
254
Sean Rhodes026f00472022-06-20 08:09:29 +0100255config MAX_ROOT_PORTS
256 int
257 default 6
258
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700259config NHLT_DMIC_1CH_16B
260 bool
261 depends on ACPI_NHLT
262 default n
263 help
264 Include DSP firmware settings for 1 channel 16B DMIC array.
265
Saurabh Satija734aa872016-06-21 14:22:16 -0700266config NHLT_DMIC_2CH_16B
267 bool
268 depends on ACPI_NHLT
269 default n
270 help
271 Include DSP firmware settings for 2 channel 16B DMIC array.
272
Sathyanarayana Nujella3e0a3fb2016-10-26 17:31:36 -0700273config NHLT_DMIC_4CH_16B
274 bool
275 depends on ACPI_NHLT
276 default n
277 help
278 Include DSP firmware settings for 4 channel 16B DMIC array.
279
Saurabh Satija734aa872016-06-21 14:22:16 -0700280config NHLT_MAX98357
281 bool
282 depends on ACPI_NHLT
283 default n
284 help
285 Include DSP firmware settings for headset codec.
286
287config NHLT_DA7219
288 bool
289 depends on ACPI_NHLT
290 default n
291 help
292 Include DSP firmware settings for headset codec.
Subrata Banikfc4c7d82017-03-03 18:23:59 +0530293
Naveen Manohar532b8d52018-04-27 15:24:45 +0530294config NHLT_RT5682
295 bool
296 depends on ACPI_NHLT
297 default n
298 help
299 Include DSP firmware settings for headset codec.
Subrata Banik8e1c12f12017-03-10 13:51:11 +0530300#
301# Each bit in QOS mask controls this many bytes. This is calculated as:
302# (CACHE_WAYS / CACHE_BITS_PER_MASK) * CACHE_LINE_SIZE * CACHE_SETS
303#
304
305config CACHE_QOS_SIZE_PER_BIT
306 hex
307 default 0x20000 # 128 KB
308
309config L2_CACHE_SIZE
310 hex
Angel Ponsb36100f2020-09-07 13:18:10 +0200311 default 0x400000 if SOC_INTEL_GEMINILAKE
Subrata Banik8e1c12f12017-03-10 13:51:11 +0530312 default 0x100000
313
Brandon Breitenstein135eae92016-09-30 13:57:12 -0700314config SMM_RESERVED_SIZE
315 hex
316 default 0x100000
317
Sean Rhodesdd582b02022-06-27 08:47:10 +0100318config CHIPSET_DEVICETREE
319 string
320 default "soc/intel/apollolake/chipset_glk.cb" if SOC_INTEL_GEMINILAKE
321 default "soc/intel/apollolake/chipset_apl.cb"
322
Andrey Petrov4c5b31e2016-11-06 23:43:57 -0800323config IFD_CHIPSET
324 string
Angel Ponsb36100f2020-09-07 13:18:10 +0200325 default "glk" if SOC_INTEL_GEMINILAKE
Andrey Petrov4c5b31e2016-11-06 23:43:57 -0800326 default "aplk"
327
Aamir Bohra22b2c792017-06-02 19:07:56 +0530328config CPU_BCLK_MHZ
329 int
330 default 100
331
Nico Huber99954182019-05-29 23:33:06 +0200332config CONSOLE_UART_BASE_ADDRESS
333 hex
334 default 0xddffc000
335 depends on INTEL_LPSS_UART_FOR_CONSOLE
336
Furquan Shaikh3406dd62017-08-04 15:58:26 -0700337# M and N divisor values for clock frequency configuration.
338# These values get us a 1.836 MHz clock (ideally we want 1.843 MHz)
339config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
340 hex
341 default 0x25a
342
343config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
344 hex
345 default 0x7fff
346
Bora Guvendik94aed8d2017-11-03 12:40:25 -0700347config SOC_ESPI
348 bool
349 default n
350 help
351 Use eSPI bus instead of LPC
352
Ravi Sarawadi3669a062018-02-27 13:23:42 -0800353config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
354 int
355 default 3
356
Subrata Banikc4986eb2018-05-09 14:55:09 +0530357config SOC_INTEL_I2C_DEV_MAX
358 int
359 default 8
360
Aaron Durbin5c9df702018-04-18 01:05:25 -0600361# Don't include the early page tables in RW_A or RW_B cbfs regions
362config RO_REGION_ONLY
363 string
364 default "pdpt pt"
365
Matt DeVillierd7ef4502020-04-21 01:23:10 -0500366config INTEL_GMA_PANEL_2
367 bool
368 default n
369
370config INTEL_GMA_BCLV_OFFSET
371 default 0xc8358 if INTEL_GMA_PANEL_2
372 default 0xc8258
373
374config INTEL_GMA_BCLV_WIDTH
375 default 32
376
377config INTEL_GMA_BCLM_OFFSET
378 default 0xc8354 if INTEL_GMA_PANEL_2
379 default 0xc8254
380
381config INTEL_GMA_BCLM_WIDTH
382 default 32
383
Arthur Heymans7e0af332022-03-30 23:04:35 +0200384config BOOTBLOCK_IN_CBFS
385 bool
386 default n
387
Sean Rhodes026f00472022-06-20 08:09:29 +0100388config HAVE_PAM0_REGISTER
389 bool
390 default n
391
Alexandru Gagniuc7e86cd42015-10-06 10:33:49 -0700392endif