blob: 65277f2f0778e3db1212f0f5df383789ec2ddca7 [file] [log] [blame]
Arthur Heymansc8db6332019-06-17 13:32:13 +02001config SOC_INTEL_CANNONLAKE_BASE
Lijian Zhao81096042017-05-02 18:54:44 -07002 bool
Lijian Zhao81096042017-05-02 18:54:44 -07003
Subrata Banik6527b1a2019-01-29 11:04:25 +05304config SOC_INTEL_COFFEELAKE
5 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +02006 select SOC_INTEL_CANNONLAKE_BASE
Nico Huberbf15b2f2019-12-13 13:44:04 +01007 select FSP_USES_CB_STACK
Johanna Schander8a6e0362019-12-08 15:54:09 +01008 select HAVE_INTEL_FSP_REPO
Nico Huberdd274e22020-04-26 20:37:32 +02009 select SOC_INTEL_CONFIGURE_DDI_A_4_LANES
Subrata Banik6527b1a2019-01-29 11:04:25 +053010 help
Lijian Zhao3638a522018-07-12 17:16:11 -070011 Intel Coffeelake support
12
Subrata Banik6527b1a2019-01-29 11:04:25 +053013config SOC_INTEL_WHISKEYLAKE
14 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020015 select SOC_INTEL_CANNONLAKE_BASE
Bora Guvendik349b6a12019-06-24 14:33:31 -070016 select FSP_USES_CB_STACK
Johanna Schander8a6e0362019-12-08 15:54:09 +010017 select HAVE_INTEL_FSP_REPO
Nico Huberdd274e22020-04-26 20:37:32 +020018 select SOC_INTEL_CONFIGURE_DDI_A_4_LANES
Subrata Banik6527b1a2019-01-29 11:04:25 +053019 help
20 Intel Whiskeylake support
21
Subrata Banikfa011db2019-02-02 13:25:14 +053022config SOC_INTEL_COMETLAKE
23 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020024 select SOC_INTEL_CANNONLAKE_BASE
Aamir Bohraf2ad8b32019-07-08 12:22:28 +053025 select FSP_USES_CB_STACK
Johanna Schander8a6e0362019-12-08 15:54:09 +010026 select HAVE_INTEL_FSP_REPO
Nico Huberdd274e22020-04-26 20:37:32 +020027 select SOC_INTEL_CONFIGURE_DDI_A_4_LANES
Subrata Banikfa011db2019-02-02 13:25:14 +053028 help
29 Intel Cometlake support
30
Felix Singere1af5b82020-08-31 19:51:52 +000031config SOC_INTEL_COMETLAKE_1
32 bool
33 select SOC_INTEL_COMETLAKE
34
Felix Singer923b1752020-08-31 19:56:53 +000035config SOC_INTEL_COMETLAKE_2
36 bool
37 select SOC_INTEL_COMETLAKE
38
39config SOC_INTEL_COMETLAKE_S
40 bool
41 select SOC_INTEL_COMETLAKE
42
43config SOC_INTEL_COMETLAKE_V
44 bool
45 select SOC_INTEL_COMETLAKE
46
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +080047config SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhao3638a522018-07-12 17:16:11 -070048 bool
Lijian Zhao3638a522018-07-12 17:16:11 -070049 help
50 Choose this option if you have a PCH-H chipset.
51
Arthur Heymansc8db6332019-06-17 13:32:13 +020052if SOC_INTEL_CANNONLAKE_BASE
Lijian Zhao81096042017-05-02 18:54:44 -070053
54config CPU_SPECIFIC_OPTIONS
55 def_bool y
Lijian Zhaob3dfcb82017-08-16 22:18:52 -070056 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Lijian Zhao0e956f22017-10-22 18:30:39 -070057 select ACPI_NHLT
Angel Ponsa32df262020-09-25 10:20:11 +020058 select ARCH_ALL_STAGES_X86_32
Lijian Zhao32111172017-08-16 11:40:03 -070059 select BOOT_DEVICE_SUPPORTS_WRITES
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070060 select CACHE_MRC_SETTINGS
Ronak Kanabara432f382019-03-16 21:26:43 +053061 select CPU_INTEL_COMMON
Lijian Zhaoacfc1492017-07-06 15:27:27 -070062 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Michael Niewöhnerfe6070f2020-10-04 15:16:04 +020063 select CPU_SUPPORTS_PM_TIMER_EMULATION
Felix Singer30fd5bf2020-12-07 10:37:10 +010064 select DISPLAY_FSP_VERSION_INFO
Karthikeyan Ramasubramanian203af602020-06-17 00:12:31 -060065 select FSP_COMPRESS_FSP_S_LZMA
Furquan Shaikhcef98792019-04-10 16:31:55 -070066 select FSP_M_XIP
Subrata Banik4ed9f9a2020-10-31 22:01:55 +053067 select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
Felix Singer30fd5bf2020-12-07 10:37:10 +010068 select FSP_T_XIP if FSP_CAR
Nick Vaccaro69b5cdb2017-08-29 19:25:23 -070069 select GENERIC_GPIO_LIB
Abhay kumarfcf88202017-09-20 15:17:42 -070070 select HAVE_FSP_GOP
Wim Vervoornd1371502019-12-17 14:10:16 +010071 select HAVE_FSP_LOGO_SUPPORT
Lijian Zhaof0eb9992017-09-14 14:51:12 -070072 select HAVE_SMI_HANDLER
Aamir Bohrae4625852018-05-29 10:52:33 +053073 select IDT_IN_EVERY_STAGE
Felix Singer30fd5bf2020-12-07 10:37:10 +010074 select INTEL_DESCRIPTOR_MODE_CAPABLE
Abhay Kumarb0c4cbb2017-10-12 11:33:01 -070075 select INTEL_GMA_ACPI
Nico Huber29cc3312018-06-06 17:40:02 +020076 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Lijian Zhaoa5158492017-08-29 14:37:17 -070077 select IOAPIC
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070078 select MRC_SETTINGS_PROTECT
Pratik Prajapati01eda282017-08-17 21:09:45 -070079 select PARALLEL_MP
80 select PARALLEL_MP_AP_WORK
Lijian Zhao81096042017-05-02 18:54:44 -070081 select PLATFORM_USES_FSP2_0
Michael Niewöhnera1843d82020-10-02 18:28:22 +020082 select PM_ACPI_TIMER_OPTIONAL
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020083 select PMC_GLOBAL_RESET_ENABLE_LOCK
Felix Singer30fd5bf2020-12-07 10:37:10 +010084 select REG_SCRIPT
Lijian Zhao81096042017-05-02 18:54:44 -070085 select SOC_INTEL_COMMON
Lijian Zhao2b074d92017-08-17 14:25:24 -070086 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Lijian Zhao81096042017-05-02 18:54:44 -070087 select SOC_INTEL_COMMON_BLOCK
Lijian Zhao2b074d92017-08-17 14:25:24 -070088 select SOC_INTEL_COMMON_BLOCK_ACPI
Michael Niewöhnerc66e1c22020-11-12 23:50:37 +010089 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
Angel Pons98f672a2021-02-19 19:42:10 +010090 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
Michael Niewöhner320a3ab2021-01-01 21:14:16 +010091 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
Subrata Banikc4986eb2018-05-09 14:55:09 +053092 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Furquan Shaikh23e88132020-10-08 23:44:20 -070093 select SOC_INTEL_COMMON_BLOCK_CNVI
Andrey Petrov3e2e0502017-06-05 13:22:24 -070094 select SOC_INTEL_COMMON_BLOCK_CPU
Pratik Prajapati01eda282017-08-17 21:09:45 -070095 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Angel Ponsa4cd9112021-02-19 19:23:38 +010096 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
Tim Wawrzynczak939440c2019-04-26 15:03:33 -060097 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Furquan Shaikha5bb7162017-12-20 11:09:04 -080098 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
praveen hodagatta praneshdc4fceb2018-10-16 18:06:18 +080099 select SOC_INTEL_COMMON_BLOCK_HDA
Felix Singer30fd5bf2020-12-07 10:37:10 +0100100 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700101 select SOC_INTEL_COMMON_BLOCK_SA
Duncan Laurie1e066112020-04-08 11:35:52 -0700102 select SOC_INTEL_COMMON_BLOCK_SCS
Brandon Breitensteinae154862017-08-01 11:32:06 -0700103 select SOC_INTEL_COMMON_BLOCK_SMM
104 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banik2fff3912020-01-16 10:13:28 +0530105 select SOC_INTEL_COMMON_BLOCK_THERMAL
Felix Singer30fd5bf2020-12-07 10:37:10 +0100106 select SOC_INTEL_COMMON_BLOCK_XHCI
107 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
Subrata Banik4ed9f9a2020-10-31 22:01:55 +0530108 select SOC_INTEL_COMMON_FSP_RESET
Felix Singer30fd5bf2020-12-07 10:37:10 +0100109 select SOC_INTEL_COMMON_NHLT
110 select SOC_INTEL_COMMON_PCH_BASE
111 select SOC_INTEL_COMMON_RESET
Lijian Zhaof0eb9992017-09-14 14:51:12 -0700112 select SSE2
Lijian Zhaoacfc1492017-07-06 15:27:27 -0700113 select SUPPORT_CPU_UCODE_IN_CBFS
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700114 select TSC_MONOTONIC_TIMER
115 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +0530116 select UDK_2017_BINDING
Lijian Zhao81096042017-05-02 18:54:44 -0700117
Edward O'Callaghanb4a68a52019-12-15 13:30:38 +1100118config MAX_CPUS
119 int
120 default 12
121
Felix Singerefa5a462021-04-19 16:51:22 +0200122config DIMM_SPD_SIZE
123 default 512
124
Lijian Zhao81096042017-05-02 18:54:44 -0700125config DCACHE_RAM_BASE
126 default 0xfef00000
127
128config DCACHE_RAM_SIZE
129 default 0x40000
130 help
131 The size of the cache-as-ram region required during bootblock
132 and/or romstage.
133
134config DCACHE_BSP_STACK_SIZE
135 hex
V Sowmya1dcc1702019-10-14 14:42:34 +0530136 default 0x20400 if FSP_USES_CB_STACK
Lijian Zhao81096042017-05-02 18:54:44 -0700137 default 0x4000
138 help
139 The amount of anticipated stack usage in CAR by bootblock and
V Sowmya1dcc1702019-10-14 14:42:34 +0530140 other stages. In the case of FSP_USES_CB_STACK default value will be
141 sum of FSP-M stack requirement (128KiB) and CB romstage stack requirement (~1KiB).
Lijian Zhao81096042017-05-02 18:54:44 -0700142
Subrata Banik1d260e62019-09-09 13:55:42 +0530143config FSP_TEMP_RAM_SIZE
144 hex
145 depends on FSP_USES_CB_STACK
146 default 0x10000
147 help
148 The amount of anticipated heap usage in CAR by FSP.
149 Refer to Platform FSP integration guide document to know
150 the exact FSP requirement for Heap setup.
151
Furquan Shaikhc0257dd2018-05-02 23:29:04 -0700152config IFD_CHIPSET
153 string
154 default "cnl"
155
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700156config IED_REGION_SIZE
157 hex
158 default 0x400000
159
John Zhao7492bcb2018-02-01 15:56:28 -0800160config HEAP_SIZE
161 hex
162 default 0x8000
163
Lijian Zhao0e956f22017-10-22 18:30:39 -0700164config NHLT_DMIC_1CH_16B
165 bool
166 depends on ACPI_NHLT
167 default n
168 help
169 Include DSP firmware settings for 1 channel 16B DMIC array.
170
171config NHLT_DMIC_2CH_16B
172 bool
173 depends on ACPI_NHLT
174 default n
175 help
176 Include DSP firmware settings for 2 channel 16B DMIC array.
177
178config NHLT_DMIC_4CH_16B
179 bool
180 depends on ACPI_NHLT
181 default n
182 help
183 Include DSP firmware settings for 4 channel 16B DMIC array.
184
185config NHLT_MAX98357
186 bool
187 depends on ACPI_NHLT
188 default n
189 help
190 Include DSP firmware settings for headset codec.
191
N, Harshapriya4a1ee4b2017-11-28 14:29:26 -0800192config NHLT_MAX98373
193 bool
194 depends on ACPI_NHLT
195 default n
196 help
197 Include DSP firmware settings for headset codec.
198
Lijian Zhao0e956f22017-10-22 18:30:39 -0700199config NHLT_DA7219
200 bool
201 depends on ACPI_NHLT
202 default n
203 help
204 Include DSP firmware settings for headset codec.
205
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700206config MAX_ROOT_PORTS
207 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800208 default 24 if SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhaoc85890d2017-10-20 09:19:07 -0700209 default 16
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700210
Rizwan Qureshia9794602021-04-08 20:31:47 +0530211config MAX_PCIE_CLOCK_SRC
Lijian Zhaod5d89c82019-05-07 14:05:33 -0700212 int
213 default 16 if SOC_INTEL_CANNONLAKE_PCH_H
214 default 6
215
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700216config SMM_TSEG_SIZE
217 hex
218 default 0x800000
219
Subrata Banike66600e2018-05-10 17:23:56 +0530220config SMM_RESERVED_SIZE
221 hex
222 default 0x200000
223
Lijian Zhao81096042017-05-02 18:54:44 -0700224config PCR_BASE_ADDRESS
225 hex
226 default 0xfd000000
227 help
228 This option allows you to select MMIO Base Address of sideband bus.
229
Andrey Petrov3e2e0502017-06-05 13:22:24 -0700230config CPU_BCLK_MHZ
231 int
232 default 100
233
Aaron Durbin551e4be2018-04-10 09:24:54 -0600234config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Lijian Zhaof3885612017-11-09 15:01:33 -0800235 int
236 default 120
237
Michael Niewöhnerdadcbfb2020-10-04 14:48:05 +0200238config CPU_XTAL_HZ
239 default 24000000
240
Chris Chingb8dc63b2017-12-06 14:26:15 -0700241config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
242 int
Duncan Laurie695f2fe2018-12-05 12:51:23 -0800243 default 216
Chris Chingb8dc63b2017-12-06 14:26:15 -0700244
Lijian Zhao32111172017-08-16 11:40:03 -0700245config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
246 int
247 default 3
248
Subrata Banikc4986eb2018-05-09 14:55:09 +0530249config SOC_INTEL_I2C_DEV_MAX
250 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800251 default 4 if SOC_INTEL_CANNONLAKE_PCH_H
Subrata Banikc4986eb2018-05-09 14:55:09 +0530252 default 6
253
Nico Huber99954182019-05-29 23:33:06 +0200254config CONSOLE_UART_BASE_ADDRESS
255 hex
256 default 0xfe032000
257 depends on INTEL_LPSS_UART_FOR_CONSOLE
258
Lijian Zhao8465a812017-07-11 12:33:22 -0700259# Clock divider parameters for 115200 baud rate
260config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
261 hex
262 default 0x30
263
264config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
265 hex
266 default 0xc35
267
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700268config VBOOT
269 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800270 select VBOOT_MUST_REQUEST_DISPLAY
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700271 select VBOOT_STARTS_IN_BOOTBLOCK
272 select VBOOT_VBNV_CMOS
273 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
274
Patrick Georgi6539e102018-09-13 11:48:43 -0400275config CBFS_SIZE
276 hex
277 default 0x200000
278
Rizwan Qureshi8aadab72019-02-17 11:31:21 +0530279config MB_HAS_ACTIVE_HIGH_SD_PWR_ENABLE
280 bool
281 default n
282 help
283 Select this if the board has a SD_PWR_ENABLE pin connected to a
284 active high sensing load switch to turn on power to the card reader.
285 This will enable a workaround in ASL _PS3 and _PS0 methods to force
286 SD_PWR_ENABLE to stay low in D3.
287
Subrata Banik9e3ba212018-01-08 15:28:26 +0530288choice
289 prompt "Cache-as-ram implementation"
Angel Pons7ed704d2019-07-12 15:46:43 +0200290 default USE_CANNONLAKE_CAR_NEM_ENHANCED
Subrata Banik9e3ba212018-01-08 15:28:26 +0530291 help
292 This option allows you to select how cache-as-ram (CAR) is set up.
293
294config USE_CANNONLAKE_CAR_NEM_ENHANCED
295 bool "Enhanced Non-evict mode"
296 select SOC_INTEL_COMMON_BLOCK_CAR
Shreesh Chhabbi87c7ec72020-12-03 14:07:15 -0800297 select INTEL_CAR_NEM_ENHANCED
Subrata Banik9e3ba212018-01-08 15:28:26 +0530298 help
299 A current limitation of NEM (Non-Evict mode) is that code and data
300 sizes are derived from the requirement to not write out any modified
301 cache line. With NEM, if there is no physical memory behind the
302 cached area, the modified data will be lost and NEM results will be
303 inconsistent. ENHANCED NEM guarantees that modified data is always
304 kept in cache while clean data is replaced.
305
306config USE_CANNONLAKE_FSP_CAR
307 bool "Use FSP CAR"
308 select FSP_CAR
309 help
310 Use FSP APIs to initialize and tear down the Cache-As-Ram.
311
312endchoice
313
Patrick Georgi6539e102018-09-13 11:48:43 -0400314config FSP_HEADER_PATH
Subrata Banik6527b1a2019-01-29 11:04:25 +0530315 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Include/" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Felix Singere1af5b82020-08-31 19:51:52 +0000316 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake1/Include/" if SOC_INTEL_COMETLAKE_1
Felix Singer923b1752020-08-31 19:56:53 +0000317 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake2/Include/" if SOC_INTEL_COMETLAKE_2
318 default "3rdparty/fsp/CometLakeFspBinPkg/CometLakeS/Include/" if SOC_INTEL_COMETLAKE_S
319 default "3rdparty/fsp/CometLakeFspBinPkg/CometLakeV/Include/" if SOC_INTEL_COMETLAKE_V
Patrick Georgi6539e102018-09-13 11:48:43 -0400320
321config FSP_FD_PATH
Johanna Schander0b82b3d2019-12-06 18:32:58 +0100322 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Fsp.fd" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Felix Singerdd9f6352020-08-31 20:00:55 +0000323 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake1/Fsp.fd" if SOC_INTEL_COMETLAKE_1
Felix Singer923b1752020-08-31 19:56:53 +0000324 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake2/Fsp.fd" if SOC_INTEL_COMETLAKE_2
325 default "3rdparty/fsp/CometLakeFspBinPkg/CometLakeS/Fsp.fd" if SOC_INTEL_COMETLAKE_S
326 default "3rdparty/fsp/CometLakeFspBinPkg/CometLakeV/Fsp.fd" if SOC_INTEL_COMETLAKE_V
Patrick Georgi6539e102018-09-13 11:48:43 -0400327
Kane Chen37172562019-04-11 21:55:20 +0800328config SOC_INTEL_CANNONLAKE_DEBUG_CONSENT
329 int "Debug Consent for CNL"
330 # USB DBC is more common for developers so make this default to 3 if
331 # SOC_INTEL_DEBUG_CONSENT=y
332 default 3 if SOC_INTEL_DEBUG_CONSENT
333 default 0
334 help
335 This is to control debug interface on SOC.
336 Setting non-zero value will allow to use DBC or DCI to debug SOC.
337 PlatformDebugConsent in FspmUpd.h has the details.
338
Subrata Banik5ee4c122019-07-05 06:43:46 +0530339config PRERAM_CBMEM_CONSOLE_SIZE
340 hex
341 default 0xe00
342
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +0200343config INTEL_TXT_BIOSACM_ALIGNMENT
344 hex
345 default 0x40000 # 256KB
346
Michael Niewöhnerfca152c2020-12-20 18:01:26 +0100347config INTEL_GMA_BCLV_OFFSET
348 default 0xc8258
349
350config INTEL_GMA_BCLV_WIDTH
351 default 32
352
353config INTEL_GMA_BCLM_OFFSET
354 default 0xc8254
355
356config INTEL_GMA_BCLM_WIDTH
357 default 32
358
Lijian Zhao81096042017-05-02 18:54:44 -0700359endif