blob: aa5e5e9cca57bd4020b03ce5e999d4fa7cf16d77 [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
Lijian Zhao3638a522018-07-12 17:16:11 -070010
Subrata Banik6527b1a2019-01-29 11:04:25 +053011config SOC_INTEL_WHISKEYLAKE
12 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020013 select SOC_INTEL_CANNONLAKE_BASE
Bora Guvendik349b6a12019-06-24 14:33:31 -070014 select FSP_USES_CB_STACK
Johanna Schander8a6e0362019-12-08 15:54:09 +010015 select HAVE_INTEL_FSP_REPO
Nico Huberdd274e22020-04-26 20:37:32 +020016 select SOC_INTEL_CONFIGURE_DDI_A_4_LANES
Subrata Banik6527b1a2019-01-29 11:04:25 +053017
Subrata Banikfa011db2019-02-02 13:25:14 +053018config SOC_INTEL_COMETLAKE
19 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020020 select SOC_INTEL_CANNONLAKE_BASE
Aamir Bohraf2ad8b32019-07-08 12:22:28 +053021 select FSP_USES_CB_STACK
Johanna Schander8a6e0362019-12-08 15:54:09 +010022 select HAVE_INTEL_FSP_REPO
Nico Huberdd274e22020-04-26 20:37:32 +020023 select SOC_INTEL_CONFIGURE_DDI_A_4_LANES
Subrata Banikfa011db2019-02-02 13:25:14 +053024
Felix Singere1af5b82020-08-31 19:51:52 +000025config SOC_INTEL_COMETLAKE_1
26 bool
27 select SOC_INTEL_COMETLAKE
28
Felix Singer923b1752020-08-31 19:56:53 +000029config SOC_INTEL_COMETLAKE_2
30 bool
31 select SOC_INTEL_COMETLAKE
32
33config SOC_INTEL_COMETLAKE_S
34 bool
35 select SOC_INTEL_COMETLAKE
36
37config SOC_INTEL_COMETLAKE_V
38 bool
39 select SOC_INTEL_COMETLAKE
40
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +080041config SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhao3638a522018-07-12 17:16:11 -070042 bool
Lijian Zhao3638a522018-07-12 17:16:11 -070043
Arthur Heymansc8db6332019-06-17 13:32:13 +020044if SOC_INTEL_CANNONLAKE_BASE
Lijian Zhao81096042017-05-02 18:54:44 -070045
46config CPU_SPECIFIC_OPTIONS
47 def_bool y
Lijian Zhaob3dfcb82017-08-16 22:18:52 -070048 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Lijian Zhao0e956f22017-10-22 18:30:39 -070049 select ACPI_NHLT
Angel Ponsa32df262020-09-25 10:20:11 +020050 select ARCH_ALL_STAGES_X86_32
Lijian Zhao32111172017-08-16 11:40:03 -070051 select BOOT_DEVICE_SUPPORTS_WRITES
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070052 select CACHE_MRC_SETTINGS
Ronak Kanabara432f382019-03-16 21:26:43 +053053 select CPU_INTEL_COMMON
Lijian Zhaoacfc1492017-07-06 15:27:27 -070054 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Michael Niewöhnerfe6070f2020-10-04 15:16:04 +020055 select CPU_SUPPORTS_PM_TIMER_EMULATION
Felix Singer30fd5bf2020-12-07 10:37:10 +010056 select DISPLAY_FSP_VERSION_INFO
Karthikeyan Ramasubramanian203af602020-06-17 00:12:31 -060057 select FSP_COMPRESS_FSP_S_LZMA
Furquan Shaikhcef98792019-04-10 16:31:55 -070058 select FSP_M_XIP
Subrata Banik4ed9f9a2020-10-31 22:01:55 +053059 select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
Felix Singer30fd5bf2020-12-07 10:37:10 +010060 select FSP_T_XIP if FSP_CAR
Nick Vaccaro69b5cdb2017-08-29 19:25:23 -070061 select GENERIC_GPIO_LIB
Abhay kumarfcf88202017-09-20 15:17:42 -070062 select HAVE_FSP_GOP
Wim Vervoornd1371502019-12-17 14:10:16 +010063 select HAVE_FSP_LOGO_SUPPORT
Lijian Zhaof0eb9992017-09-14 14:51:12 -070064 select HAVE_SMI_HANDLER
Aamir Bohrae4625852018-05-29 10:52:33 +053065 select IDT_IN_EVERY_STAGE
Felix Singer30fd5bf2020-12-07 10:37:10 +010066 select INTEL_DESCRIPTOR_MODE_CAPABLE
Abhay Kumarb0c4cbb2017-10-12 11:33:01 -070067 select INTEL_GMA_ACPI
Nico Huber29cc3312018-06-06 17:40:02 +020068 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Lijian Zhaoa5158492017-08-29 14:37:17 -070069 select IOAPIC
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070070 select MRC_SETTINGS_PROTECT
Pratik Prajapati01eda282017-08-17 21:09:45 -070071 select PARALLEL_MP_AP_WORK
Lijian Zhao81096042017-05-02 18:54:44 -070072 select PLATFORM_USES_FSP2_0
Michael Niewöhnera1843d82020-10-02 18:28:22 +020073 select PM_ACPI_TIMER_OPTIONAL
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020074 select PMC_GLOBAL_RESET_ENABLE_LOCK
Felix Singer30fd5bf2020-12-07 10:37:10 +010075 select REG_SCRIPT
Lijian Zhao81096042017-05-02 18:54:44 -070076 select SOC_INTEL_COMMON
Lijian Zhao2b074d92017-08-17 14:25:24 -070077 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Lijian Zhao81096042017-05-02 18:54:44 -070078 select SOC_INTEL_COMMON_BLOCK
Lijian Zhao2b074d92017-08-17 14:25:24 -070079 select SOC_INTEL_COMMON_BLOCK_ACPI
Michael Niewöhnerc66e1c22020-11-12 23:50:37 +010080 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
Angel Pons98f672a2021-02-19 19:42:10 +010081 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
Michael Niewöhner320a3ab2021-01-01 21:14:16 +010082 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
Subrata Banikc4986eb2018-05-09 14:55:09 +053083 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Furquan Shaikh23e88132020-10-08 23:44:20 -070084 select SOC_INTEL_COMMON_BLOCK_CNVI
Andrey Petrov3e2e0502017-06-05 13:22:24 -070085 select SOC_INTEL_COMMON_BLOCK_CPU
Pratik Prajapati01eda282017-08-17 21:09:45 -070086 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Angel Ponsa4cd9112021-02-19 19:23:38 +010087 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
Tim Wawrzynczak939440c2019-04-26 15:03:33 -060088 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Furquan Shaikha5bb7162017-12-20 11:09:04 -080089 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
praveen hodagatta praneshdc4fceb2018-10-16 18:06:18 +080090 select SOC_INTEL_COMMON_BLOCK_HDA
Felix Singer30fd5bf2020-12-07 10:37:10 +010091 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Lijian Zhaodcf99b02017-07-30 15:40:10 -070092 select SOC_INTEL_COMMON_BLOCK_SA
Duncan Laurie1e066112020-04-08 11:35:52 -070093 select SOC_INTEL_COMMON_BLOCK_SCS
Brandon Breitensteinae154862017-08-01 11:32:06 -070094 select SOC_INTEL_COMMON_BLOCK_SMM
95 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banik2fff3912020-01-16 10:13:28 +053096 select SOC_INTEL_COMMON_BLOCK_THERMAL
Felix Singer30fd5bf2020-12-07 10:37:10 +010097 select SOC_INTEL_COMMON_BLOCK_XHCI
98 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
Subrata Banik4ed9f9a2020-10-31 22:01:55 +053099 select SOC_INTEL_COMMON_FSP_RESET
Felix Singer30fd5bf2020-12-07 10:37:10 +0100100 select SOC_INTEL_COMMON_NHLT
101 select SOC_INTEL_COMMON_PCH_BASE
102 select SOC_INTEL_COMMON_RESET
Lijian Zhaof0eb9992017-09-14 14:51:12 -0700103 select SSE2
Lijian Zhaoacfc1492017-07-06 15:27:27 -0700104 select SUPPORT_CPU_UCODE_IN_CBFS
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700105 select TSC_MONOTONIC_TIMER
106 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +0530107 select UDK_2017_BINDING
Lijian Zhao81096042017-05-02 18:54:44 -0700108
Edward O'Callaghanb4a68a52019-12-15 13:30:38 +1100109config MAX_CPUS
110 int
111 default 12
112
Felix Singerefa5a462021-04-19 16:51:22 +0200113config DIMM_SPD_SIZE
114 default 512
115
Lijian Zhao81096042017-05-02 18:54:44 -0700116config DCACHE_RAM_BASE
117 default 0xfef00000
118
119config DCACHE_RAM_SIZE
120 default 0x40000
121 help
122 The size of the cache-as-ram region required during bootblock
123 and/or romstage.
124
125config DCACHE_BSP_STACK_SIZE
126 hex
V Sowmya1dcc1702019-10-14 14:42:34 +0530127 default 0x20400 if FSP_USES_CB_STACK
Lijian Zhao81096042017-05-02 18:54:44 -0700128 default 0x4000
129 help
130 The amount of anticipated stack usage in CAR by bootblock and
V Sowmya1dcc1702019-10-14 14:42:34 +0530131 other stages. In the case of FSP_USES_CB_STACK default value will be
132 sum of FSP-M stack requirement (128KiB) and CB romstage stack requirement (~1KiB).
Lijian Zhao81096042017-05-02 18:54:44 -0700133
Subrata Banik1d260e62019-09-09 13:55:42 +0530134config FSP_TEMP_RAM_SIZE
135 hex
136 depends on FSP_USES_CB_STACK
137 default 0x10000
138 help
139 The amount of anticipated heap usage in CAR by FSP.
140 Refer to Platform FSP integration guide document to know
141 the exact FSP requirement for Heap setup.
142
Furquan Shaikhc0257dd2018-05-02 23:29:04 -0700143config IFD_CHIPSET
144 string
145 default "cnl"
146
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700147config IED_REGION_SIZE
148 hex
149 default 0x400000
150
John Zhao7492bcb2018-02-01 15:56:28 -0800151config HEAP_SIZE
152 hex
153 default 0x8000
154
Lijian Zhao0e956f22017-10-22 18:30:39 -0700155config NHLT_DMIC_1CH_16B
156 bool
157 depends on ACPI_NHLT
158 default n
159 help
160 Include DSP firmware settings for 1 channel 16B DMIC array.
161
162config NHLT_DMIC_2CH_16B
163 bool
164 depends on ACPI_NHLT
165 default n
166 help
167 Include DSP firmware settings for 2 channel 16B DMIC array.
168
169config NHLT_DMIC_4CH_16B
170 bool
171 depends on ACPI_NHLT
172 default n
173 help
174 Include DSP firmware settings for 4 channel 16B DMIC array.
175
176config NHLT_MAX98357
177 bool
178 depends on ACPI_NHLT
179 default n
180 help
181 Include DSP firmware settings for headset codec.
182
N, Harshapriya4a1ee4b2017-11-28 14:29:26 -0800183config NHLT_MAX98373
184 bool
185 depends on ACPI_NHLT
186 default n
187 help
188 Include DSP firmware settings for headset codec.
189
Lijian Zhao0e956f22017-10-22 18:30:39 -0700190config NHLT_DA7219
191 bool
192 depends on ACPI_NHLT
193 default n
194 help
195 Include DSP firmware settings for headset codec.
196
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700197config MAX_ROOT_PORTS
198 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800199 default 24 if SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhaoc85890d2017-10-20 09:19:07 -0700200 default 16
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700201
Rizwan Qureshia9794602021-04-08 20:31:47 +0530202config MAX_PCIE_CLOCK_SRC
Lijian Zhaod5d89c82019-05-07 14:05:33 -0700203 int
204 default 16 if SOC_INTEL_CANNONLAKE_PCH_H
205 default 6
206
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700207config SMM_TSEG_SIZE
208 hex
209 default 0x800000
210
Subrata Banike66600e2018-05-10 17:23:56 +0530211config SMM_RESERVED_SIZE
212 hex
213 default 0x200000
214
Lijian Zhao81096042017-05-02 18:54:44 -0700215config PCR_BASE_ADDRESS
216 hex
217 default 0xfd000000
218 help
219 This option allows you to select MMIO Base Address of sideband bus.
220
Andrey Petrov3e2e0502017-06-05 13:22:24 -0700221config CPU_BCLK_MHZ
222 int
223 default 100
224
Aaron Durbin551e4be2018-04-10 09:24:54 -0600225config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Lijian Zhaof3885612017-11-09 15:01:33 -0800226 int
227 default 120
228
Michael Niewöhnerdadcbfb2020-10-04 14:48:05 +0200229config CPU_XTAL_HZ
230 default 24000000
231
Chris Chingb8dc63b2017-12-06 14:26:15 -0700232config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
233 int
Duncan Laurie695f2fe2018-12-05 12:51:23 -0800234 default 216
Chris Chingb8dc63b2017-12-06 14:26:15 -0700235
Lijian Zhao32111172017-08-16 11:40:03 -0700236config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
237 int
238 default 3
239
Subrata Banikc4986eb2018-05-09 14:55:09 +0530240config SOC_INTEL_I2C_DEV_MAX
241 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800242 default 4 if SOC_INTEL_CANNONLAKE_PCH_H
Subrata Banikc4986eb2018-05-09 14:55:09 +0530243 default 6
244
Nico Huber99954182019-05-29 23:33:06 +0200245config CONSOLE_UART_BASE_ADDRESS
246 hex
247 default 0xfe032000
248 depends on INTEL_LPSS_UART_FOR_CONSOLE
249
Lijian Zhao8465a812017-07-11 12:33:22 -0700250# Clock divider parameters for 115200 baud rate
251config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
252 hex
253 default 0x30
254
255config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
256 hex
257 default 0xc35
258
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700259config VBOOT
260 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800261 select VBOOT_MUST_REQUEST_DISPLAY
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700262 select VBOOT_STARTS_IN_BOOTBLOCK
263 select VBOOT_VBNV_CMOS
264 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
265
Patrick Georgi6539e102018-09-13 11:48:43 -0400266config CBFS_SIZE
267 hex
268 default 0x200000
269
Rizwan Qureshi8aadab72019-02-17 11:31:21 +0530270config MB_HAS_ACTIVE_HIGH_SD_PWR_ENABLE
271 bool
272 default n
273 help
274 Select this if the board has a SD_PWR_ENABLE pin connected to a
275 active high sensing load switch to turn on power to the card reader.
276 This will enable a workaround in ASL _PS3 and _PS0 methods to force
277 SD_PWR_ENABLE to stay low in D3.
278
Subrata Banik9e3ba212018-01-08 15:28:26 +0530279choice
280 prompt "Cache-as-ram implementation"
Angel Pons7ed704d2019-07-12 15:46:43 +0200281 default USE_CANNONLAKE_CAR_NEM_ENHANCED
Subrata Banik9e3ba212018-01-08 15:28:26 +0530282 help
283 This option allows you to select how cache-as-ram (CAR) is set up.
284
285config USE_CANNONLAKE_CAR_NEM_ENHANCED
286 bool "Enhanced Non-evict mode"
287 select SOC_INTEL_COMMON_BLOCK_CAR
Shreesh Chhabbi87c7ec72020-12-03 14:07:15 -0800288 select INTEL_CAR_NEM_ENHANCED
Subrata Banik9e3ba212018-01-08 15:28:26 +0530289 help
290 A current limitation of NEM (Non-Evict mode) is that code and data
291 sizes are derived from the requirement to not write out any modified
292 cache line. With NEM, if there is no physical memory behind the
293 cached area, the modified data will be lost and NEM results will be
294 inconsistent. ENHANCED NEM guarantees that modified data is always
295 kept in cache while clean data is replaced.
296
297config USE_CANNONLAKE_FSP_CAR
298 bool "Use FSP CAR"
299 select FSP_CAR
300 help
301 Use FSP APIs to initialize and tear down the Cache-As-Ram.
302
303endchoice
304
Patrick Georgi6539e102018-09-13 11:48:43 -0400305config FSP_HEADER_PATH
Subrata Banik6527b1a2019-01-29 11:04:25 +0530306 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Include/" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Felix Singere1af5b82020-08-31 19:51:52 +0000307 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake1/Include/" if SOC_INTEL_COMETLAKE_1
Felix Singer923b1752020-08-31 19:56:53 +0000308 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake2/Include/" if SOC_INTEL_COMETLAKE_2
309 default "3rdparty/fsp/CometLakeFspBinPkg/CometLakeS/Include/" if SOC_INTEL_COMETLAKE_S
310 default "3rdparty/fsp/CometLakeFspBinPkg/CometLakeV/Include/" if SOC_INTEL_COMETLAKE_V
Patrick Georgi6539e102018-09-13 11:48:43 -0400311
312config FSP_FD_PATH
Johanna Schander0b82b3d2019-12-06 18:32:58 +0100313 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Fsp.fd" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Felix Singerdd9f6352020-08-31 20:00:55 +0000314 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake1/Fsp.fd" if SOC_INTEL_COMETLAKE_1
Felix Singer923b1752020-08-31 19:56:53 +0000315 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake2/Fsp.fd" if SOC_INTEL_COMETLAKE_2
316 default "3rdparty/fsp/CometLakeFspBinPkg/CometLakeS/Fsp.fd" if SOC_INTEL_COMETLAKE_S
317 default "3rdparty/fsp/CometLakeFspBinPkg/CometLakeV/Fsp.fd" if SOC_INTEL_COMETLAKE_V
Patrick Georgi6539e102018-09-13 11:48:43 -0400318
Kane Chen37172562019-04-11 21:55:20 +0800319config SOC_INTEL_CANNONLAKE_DEBUG_CONSENT
320 int "Debug Consent for CNL"
321 # USB DBC is more common for developers so make this default to 3 if
322 # SOC_INTEL_DEBUG_CONSENT=y
323 default 3 if SOC_INTEL_DEBUG_CONSENT
324 default 0
325 help
326 This is to control debug interface on SOC.
327 Setting non-zero value will allow to use DBC or DCI to debug SOC.
328 PlatformDebugConsent in FspmUpd.h has the details.
329
Subrata Banik5ee4c122019-07-05 06:43:46 +0530330config PRERAM_CBMEM_CONSOLE_SIZE
331 hex
332 default 0xe00
333
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +0200334config INTEL_TXT_BIOSACM_ALIGNMENT
335 hex
336 default 0x40000 # 256KB
337
Michael Niewöhnerfca152c2020-12-20 18:01:26 +0100338config INTEL_GMA_BCLV_OFFSET
339 default 0xc8258
340
341config INTEL_GMA_BCLV_WIDTH
342 default 32
343
344config INTEL_GMA_BCLM_OFFSET
345 default 0xc8254
346
347config INTEL_GMA_BCLM_WIDTH
348 default 32
349
Lijian Zhao81096042017-05-02 18:54:44 -0700350endif