blob: 7a56d0d42d2425668994628fa462ae05c259524d [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
Arthur Heymans4821a0e2019-06-18 13:19:29 +02004config SOC_INTEL_CANNONLAKE_ALTERNATE_HEADERS
Lijian Zhao3638a522018-07-12 17:16:11 -07005 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +02006 default y if SOC_INTEL_CANNONLAKE_BASE && !SOC_INTEL_CANNONLAKE
Lijian Zhao3638a522018-07-12 17:16:11 -07007 help
Subrata Banik6527b1a2019-01-29 11:04:25 +05308 Single Kconfig option to select common base Cannonlake support.
9 This Kconfig will help to select majority of CNL SoC features.
10 Major difference that exist today between
Arthur Heymans4821a0e2019-06-18 13:19:29 +020011 SOC_INTEL_CANNONLAKE_ALTERNATE_HEADERS and SOC_INTEL_CANNONLAKE Kconfig
Subrata Banik6527b1a2019-01-29 11:04:25 +053012 are in FSP Header Files. Hence this Kconfig might help to select
13 required SoC support FSP headers. Any future Intel SoC would
14 like to make use of CNL support might just select this Kconfig.
15
Arthur Heymansc8db6332019-06-17 13:32:13 +020016config SOC_INTEL_CANNONLAKE
17 bool
18 select SOC_INTEL_CANNONLAKE_BASE
Arthur Heymansa4492902019-06-17 10:50:47 +020019 select MICROCODE_BLOB_NOT_IN_BLOB_REPO
Arthur Heymansc8db6332019-06-17 13:32:13 +020020 help
21 Intel Cannonlake support
22
Subrata Banik6527b1a2019-01-29 11:04:25 +053023config SOC_INTEL_COFFEELAKE
24 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020025 select SOC_INTEL_CANNONLAKE_BASE
Nico Huberbf15b2f2019-12-13 13:44:04 +010026 select FSP_USES_CB_STACK
Johanna Schander8a6e0362019-12-08 15:54:09 +010027 select HAVE_INTEL_FSP_REPO
Subrata Banik6527b1a2019-01-29 11:04:25 +053028 help
Lijian Zhao3638a522018-07-12 17:16:11 -070029 Intel Coffeelake support
30
Subrata Banik6527b1a2019-01-29 11:04:25 +053031config SOC_INTEL_WHISKEYLAKE
32 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020033 select SOC_INTEL_CANNONLAKE_BASE
Bora Guvendik349b6a12019-06-24 14:33:31 -070034 select FSP_USES_CB_STACK
Johanna Schander8a6e0362019-12-08 15:54:09 +010035 select HAVE_INTEL_FSP_REPO
Subrata Banik6527b1a2019-01-29 11:04:25 +053036 help
37 Intel Whiskeylake support
38
Subrata Banikfa011db2019-02-02 13:25:14 +053039config SOC_INTEL_COMETLAKE
40 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020041 select SOC_INTEL_CANNONLAKE_BASE
Aamir Bohraf2ad8b32019-07-08 12:22:28 +053042 select FSP_USES_CB_STACK
Johanna Schander8a6e0362019-12-08 15:54:09 +010043 select HAVE_INTEL_FSP_REPO
Subrata Banikfa011db2019-02-02 13:25:14 +053044 help
45 Intel Cometlake support
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
Lijian Zhao81096042017-05-02 18:54:44 -070058 select ARCH_BOOTBLOCK_X86_32
Lijian Zhao81096042017-05-02 18:54:44 -070059 select ARCH_RAMSTAGE_X86_32
60 select ARCH_ROMSTAGE_X86_32
Lijian Zhaodcf99b02017-07-30 15:40:10 -070061 select ARCH_VERSTAGE_X86_32
Lijian Zhao32111172017-08-16 11:40:03 -070062 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
63 select BOOT_DEVICE_SUPPORTS_WRITES
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070064 select CACHE_MRC_SETTINGS
Lijian Zhao2b074d92017-08-17 14:25:24 -070065 select COMMON_FADT
Ronak Kanabara432f382019-03-16 21:26:43 +053066 select CPU_INTEL_COMMON
Lijian Zhaoacfc1492017-07-06 15:27:27 -070067 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Furquan Shaikhcef98792019-04-10 16:31:55 -070068 select FSP_M_XIP
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
Stefan Tauneref8b9572018-09-06 00:34:28 +020072 select INTEL_DESCRIPTOR_MODE_CAPABLE
Lijian Zhaof0eb9992017-09-14 14:51:12 -070073 select HAVE_SMI_HANDLER
Aamir Bohrae4625852018-05-29 10:52:33 +053074 select IDT_IN_EVERY_STAGE
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
Lijian Zhaodcf99b02017-07-30 15:40:10 -070082 select REG_SCRIPT
Pratik Prajapati01eda282017-08-17 21:09:45 -070083 select SMP
Subrata Banikac1cd442018-02-06 15:25:27 +053084 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020085 select PMC_GLOBAL_RESET_ENABLE_LOCK
Lijian Zhao81096042017-05-02 18:54:44 -070086 select SOC_INTEL_COMMON
Lijian Zhao2b074d92017-08-17 14:25:24 -070087 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Lijian Zhao81096042017-05-02 18:54:44 -070088 select SOC_INTEL_COMMON_BLOCK
Lijian Zhao2b074d92017-08-17 14:25:24 -070089 select SOC_INTEL_COMMON_BLOCK_ACPI
Subrata Banikc4986eb2018-05-09 14:55:09 +053090 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Andrey Petrov3e2e0502017-06-05 13:22:24 -070091 select SOC_INTEL_COMMON_BLOCK_CPU
Pratik Prajapati01eda282017-08-17 21:09:45 -070092 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Tim Wawrzynczak939440c2019-04-26 15:03:33 -060093 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Furquan Shaikha5bb7162017-12-20 11:09:04 -080094 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
praveen hodagatta praneshdc4fceb2018-10-16 18:06:18 +080095 select SOC_INTEL_COMMON_BLOCK_HDA
Lijian Zhaodcf99b02017-07-30 15:40:10 -070096 select SOC_INTEL_COMMON_BLOCK_SA
Duncan Laurie1e066112020-04-08 11:35:52 -070097 select SOC_INTEL_COMMON_BLOCK_SCS
Paul Fagerburg7803e482019-06-27 10:44:51 -060098 select SOC_INTEL_COMMON_BLOCK_XHCI
99 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
Brandon Breitensteinae154862017-08-01 11:32:06 -0700100 select SOC_INTEL_COMMON_BLOCK_SMM
101 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banik2fff3912020-01-16 10:13:28 +0530102 select SOC_INTEL_COMMON_BLOCK_THERMAL
Subrata Banikf513ceb2018-05-17 15:57:43 +0530103 select SOC_INTEL_COMMON_PCH_BASE
Lijian Zhao0e956f22017-10-22 18:30:39 -0700104 select SOC_INTEL_COMMON_NHLT
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700105 select SOC_INTEL_COMMON_RESET
Sumeet R Pawnikar309ccf72020-05-09 16:37:30 +0530106 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Lijian Zhaof0eb9992017-09-14 14:51:12 -0700107 select SSE2
Lijian Zhaoacfc1492017-07-06 15:27:27 -0700108 select SUPPORT_CPU_UCODE_IN_CBFS
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700109 select TSC_MONOTONIC_TIMER
110 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +0530111 select UDK_2017_BINDING
Subrata Banika8733e32018-01-23 16:40:56 +0530112 select DISPLAY_FSP_VERSION_INFO
Praveen hodagatta praneshb66757f2018-10-23 02:43:05 +0800113 select FSP_T_XIP if FSP_CAR
Subrata Banika0368a02019-06-04 14:16:02 +0530114 select HECI_DISABLE_USING_SMM if !SOC_INTEL_COFFEELAKE && !SOC_INTEL_WHISKEYLAKE && !SOC_INTEL_COMETLAKE
Lijian Zhao81096042017-05-02 18:54:44 -0700115
Edward O'Callaghanb4a68a52019-12-15 13:30:38 +1100116config MAX_CPUS
117 int
118 default 12
119
Lijian Zhao81096042017-05-02 18:54:44 -0700120config DCACHE_RAM_BASE
121 default 0xfef00000
122
123config DCACHE_RAM_SIZE
124 default 0x40000
125 help
126 The size of the cache-as-ram region required during bootblock
127 and/or romstage.
128
129config DCACHE_BSP_STACK_SIZE
130 hex
V Sowmya1dcc1702019-10-14 14:42:34 +0530131 default 0x20400 if FSP_USES_CB_STACK
Lijian Zhao81096042017-05-02 18:54:44 -0700132 default 0x4000
133 help
134 The amount of anticipated stack usage in CAR by bootblock and
V Sowmya1dcc1702019-10-14 14:42:34 +0530135 other stages. In the case of FSP_USES_CB_STACK default value will be
136 sum of FSP-M stack requirement (128KiB) and CB romstage stack requirement (~1KiB).
Lijian Zhao81096042017-05-02 18:54:44 -0700137
Subrata Banik1d260e62019-09-09 13:55:42 +0530138config FSP_TEMP_RAM_SIZE
139 hex
140 depends on FSP_USES_CB_STACK
141 default 0x10000
142 help
143 The amount of anticipated heap usage in CAR by FSP.
144 Refer to Platform FSP integration guide document to know
145 the exact FSP requirement for Heap setup.
146
Furquan Shaikhc0257dd2018-05-02 23:29:04 -0700147config IFD_CHIPSET
148 string
149 default "cnl"
150
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700151config IED_REGION_SIZE
152 hex
153 default 0x400000
154
John Zhao7492bcb2018-02-01 15:56:28 -0800155config HEAP_SIZE
156 hex
157 default 0x8000
158
Lijian Zhao0e956f22017-10-22 18:30:39 -0700159config NHLT_DMIC_1CH_16B
160 bool
161 depends on ACPI_NHLT
162 default n
163 help
164 Include DSP firmware settings for 1 channel 16B DMIC array.
165
166config NHLT_DMIC_2CH_16B
167 bool
168 depends on ACPI_NHLT
169 default n
170 help
171 Include DSP firmware settings for 2 channel 16B DMIC array.
172
173config NHLT_DMIC_4CH_16B
174 bool
175 depends on ACPI_NHLT
176 default n
177 help
178 Include DSP firmware settings for 4 channel 16B DMIC array.
179
180config NHLT_MAX98357
181 bool
182 depends on ACPI_NHLT
183 default n
184 help
185 Include DSP firmware settings for headset codec.
186
N, Harshapriya4a1ee4b2017-11-28 14:29:26 -0800187config NHLT_MAX98373
188 bool
189 depends on ACPI_NHLT
190 default n
191 help
192 Include DSP firmware settings for headset codec.
193
Lijian Zhao0e956f22017-10-22 18:30:39 -0700194config NHLT_DA7219
195 bool
196 depends on ACPI_NHLT
197 default n
198 help
199 Include DSP firmware settings for headset codec.
200
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700201config MAX_ROOT_PORTS
202 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800203 default 24 if SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhaoc85890d2017-10-20 09:19:07 -0700204 default 16
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700205
Lijian Zhaod5d89c82019-05-07 14:05:33 -0700206config MAX_PCIE_CLOCKS
207 int
208 default 16 if SOC_INTEL_CANNONLAKE_PCH_H
209 default 6
210
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700211config SMM_TSEG_SIZE
212 hex
213 default 0x800000
214
Subrata Banike66600e2018-05-10 17:23:56 +0530215config SMM_RESERVED_SIZE
216 hex
217 default 0x200000
218
Lijian Zhao81096042017-05-02 18:54:44 -0700219config PCR_BASE_ADDRESS
220 hex
221 default 0xfd000000
222 help
223 This option allows you to select MMIO Base Address of sideband bus.
224
Andrey Petrov3e2e0502017-06-05 13:22:24 -0700225config CPU_BCLK_MHZ
226 int
227 default 100
228
Aaron Durbin551e4be2018-04-10 09:24:54 -0600229config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Lijian Zhaof3885612017-11-09 15:01:33 -0800230 int
231 default 120
232
Chris Chingb8dc63b2017-12-06 14:26:15 -0700233config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
234 int
Duncan Laurie695f2fe2018-12-05 12:51:23 -0800235 default 216
Chris Chingb8dc63b2017-12-06 14:26:15 -0700236
Lijian Zhao32111172017-08-16 11:40:03 -0700237config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
238 int
239 default 3
240
Subrata Banikc4986eb2018-05-09 14:55:09 +0530241config SOC_INTEL_I2C_DEV_MAX
242 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800243 default 4 if SOC_INTEL_CANNONLAKE_PCH_H
Subrata Banikc4986eb2018-05-09 14:55:09 +0530244 default 6
245
Nico Huber99954182019-05-29 23:33:06 +0200246config CONSOLE_UART_BASE_ADDRESS
247 hex
248 default 0xfe032000
249 depends on INTEL_LPSS_UART_FOR_CONSOLE
250
Lijian Zhao8465a812017-07-11 12:33:22 -0700251# Clock divider parameters for 115200 baud rate
252config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
253 hex
254 default 0x30
255
256config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
257 hex
258 default 0xc35
259
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700260config CHROMEOS
261 select CHROMEOS_RAMOOPS_DYNAMIC
262
263config VBOOT
264 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800265 select VBOOT_MUST_REQUEST_DISPLAY
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700266 select VBOOT_STARTS_IN_BOOTBLOCK
267 select VBOOT_VBNV_CMOS
268 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
269
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600270config C_ENV_BOOTBLOCK_SIZE
271 hex
Duncan Laurie11340e52018-12-01 16:58:52 -0800272 default 0xC000
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600273
Patrick Georgi6539e102018-09-13 11:48:43 -0400274config CBFS_SIZE
275 hex
276 default 0x200000
277
Rizwan Qureshi8aadab72019-02-17 11:31:21 +0530278config MB_HAS_ACTIVE_HIGH_SD_PWR_ENABLE
279 bool
280 default n
281 help
282 Select this if the board has a SD_PWR_ENABLE pin connected to a
283 active high sensing load switch to turn on power to the card reader.
284 This will enable a workaround in ASL _PS3 and _PS0 methods to force
285 SD_PWR_ENABLE to stay low in D3.
286
Subrata Banik9e3ba212018-01-08 15:28:26 +0530287choice
288 prompt "Cache-as-ram implementation"
Angel Pons7ed704d2019-07-12 15:46:43 +0200289 default USE_CANNONLAKE_CAR_NEM_ENHANCED
Subrata Banik9e3ba212018-01-08 15:28:26 +0530290 help
291 This option allows you to select how cache-as-ram (CAR) is set up.
292
293config USE_CANNONLAKE_CAR_NEM_ENHANCED
294 bool "Enhanced Non-evict mode"
295 select SOC_INTEL_COMMON_BLOCK_CAR
296 select INTEL_CAR_NEM_ENHANCED
297 help
298 A current limitation of NEM (Non-Evict mode) is that code and data
299 sizes are derived from the requirement to not write out any modified
300 cache line. With NEM, if there is no physical memory behind the
301 cached area, the modified data will be lost and NEM results will be
302 inconsistent. ENHANCED NEM guarantees that modified data is always
303 kept in cache while clean data is replaced.
304
305config USE_CANNONLAKE_FSP_CAR
306 bool "Use FSP CAR"
307 select FSP_CAR
308 help
309 Use FSP APIs to initialize and tear down the Cache-As-Ram.
310
311endchoice
312
Patrick Georgi6539e102018-09-13 11:48:43 -0400313config FSP_HEADER_PATH
Subrata Banik6527b1a2019-01-29 11:04:25 +0530314 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Include/" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Felix Singer26dc8f22020-03-07 12:31:17 +0100315 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake1/Include/" if SOC_INTEL_COMETLAKE
Arthur Heymansc8db6332019-06-17 13:32:13 +0200316 default "src/vendorcode/intel/fsp/fsp2_0/cannonlake/" if SOC_INTEL_CANNONLAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400317
318config FSP_FD_PATH
Johanna Schander0b82b3d2019-12-06 18:32:58 +0100319 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Fsp.fd" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Felix Singer26dc8f22020-03-07 12:31:17 +0100320 default "3rdparty/fsp/CometLakeFspBinPkg/CometLake1/FSP.fd" if SOC_INTEL_COMETLAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400321
Kane Chen37172562019-04-11 21:55:20 +0800322config SOC_INTEL_CANNONLAKE_DEBUG_CONSENT
323 int "Debug Consent for CNL"
324 # USB DBC is more common for developers so make this default to 3 if
325 # SOC_INTEL_DEBUG_CONSENT=y
326 default 3 if SOC_INTEL_DEBUG_CONSENT
327 default 0
328 help
329 This is to control debug interface on SOC.
330 Setting non-zero value will allow to use DBC or DCI to debug SOC.
331 PlatformDebugConsent in FspmUpd.h has the details.
332
Subrata Banik5ee4c122019-07-05 06:43:46 +0530333config PRERAM_CBMEM_CONSOLE_SIZE
334 hex
335 default 0xe00
336
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +0200337config INTEL_TXT_BIOSACM_ALIGNMENT
338 hex
339 default 0x40000 # 256KB
340
Lijian Zhao81096042017-05-02 18:54:44 -0700341endif