blob: 55fef5af390c0cecb8ca589f771f90473016101c [file] [log] [blame]
Lijian Zhao81096042017-05-02 18:54:44 -07001config SOC_INTEL_CANNONLAKE
2 bool
3 help
4 Intel Cannonlake support
5
Subrata Banik6527b1a2019-01-29 11:04:25 +05306config SOC_INTEL_COMMON_CANNONLAKE_BASE
Lijian Zhao3638a522018-07-12 17:16:11 -07007 bool
8 default n
9 select SOC_INTEL_CANNONLAKE
10 help
Subrata Banik6527b1a2019-01-29 11:04:25 +053011 Single Kconfig option to select common base Cannonlake support.
12 This Kconfig will help to select majority of CNL SoC features.
13 Major difference that exist today between
14 SOC_INTEL_COMMON_CANNONLAKE_BASE and SOC_INTEL_CANNONLAKE Kconfig
15 are in FSP Header Files. Hence this Kconfig might help to select
16 required SoC support FSP headers. Any future Intel SoC would
17 like to make use of CNL support might just select this Kconfig.
18
19config SOC_INTEL_COFFEELAKE
20 bool
21 default n
22 select SOC_INTEL_COMMON_CANNONLAKE_BASE
23 help
Lijian Zhao3638a522018-07-12 17:16:11 -070024 Intel Coffeelake support
25
Subrata Banik6527b1a2019-01-29 11:04:25 +053026config SOC_INTEL_WHISKEYLAKE
27 bool
28 default n
29 select SOC_INTEL_COMMON_CANNONLAKE_BASE
30 help
31 Intel Whiskeylake support
32
Subrata Banikfa011db2019-02-02 13:25:14 +053033config SOC_INTEL_COMETLAKE
34 bool
35 default n
36 select SOC_INTEL_COMMON_CANNONLAKE_BASE
37 help
38 Intel Cometlake support
39
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +080040config SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhao3638a522018-07-12 17:16:11 -070041 bool
42 default n
43 help
44 Choose this option if you have a PCH-H chipset.
45
Lijian Zhao81096042017-05-02 18:54:44 -070046if SOC_INTEL_CANNONLAKE
47
48config CPU_SPECIFIC_OPTIONS
49 def_bool y
Lijian Zhaob3dfcb82017-08-16 22:18:52 -070050 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Lijian Zhao0e956f22017-10-22 18:30:39 -070051 select ACPI_NHLT
Lijian Zhao81096042017-05-02 18:54:44 -070052 select ARCH_BOOTBLOCK_X86_32
Lijian Zhao81096042017-05-02 18:54:44 -070053 select ARCH_RAMSTAGE_X86_32
54 select ARCH_ROMSTAGE_X86_32
Lijian Zhaodcf99b02017-07-30 15:40:10 -070055 select ARCH_VERSTAGE_X86_32
Lijian Zhao32111172017-08-16 11:40:03 -070056 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
57 select BOOT_DEVICE_SUPPORTS_WRITES
Lijian Zhao81096042017-05-02 18:54:44 -070058 select C_ENVIRONMENT_BOOTBLOCK
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070059 select CACHE_MRC_SETTINGS
Kyösti Mälkki730df3c2016-06-18 07:39:31 +030060 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
Lijian Zhao2b074d92017-08-17 14:25:24 -070061 select COMMON_FADT
Lijian Zhaoacfc1492017-07-06 15:27:27 -070062 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Nick Vaccaro69b5cdb2017-08-29 19:25:23 -070063 select GENERIC_GPIO_LIB
Abhay kumarfcf88202017-09-20 15:17:42 -070064 select HAVE_FSP_GOP
Stefan Tauneref8b9572018-09-06 00:34:28 +020065 select INTEL_DESCRIPTOR_MODE_CAPABLE
Lijian Zhaodcf99b02017-07-30 15:40:10 -070066 select HAVE_MONOTONIC_TIMER
Lijian Zhaof0eb9992017-09-14 14:51:12 -070067 select HAVE_SMI_HANDLER
Aamir Bohrae4625852018-05-29 10:52:33 +053068 select IDT_IN_EVERY_STAGE
Abhay Kumarb0c4cbb2017-10-12 11:33:01 -070069 select INTEL_GMA_ACPI
Nico Huber29cc3312018-06-06 17:40:02 +020070 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Lijian Zhaoa5158492017-08-29 14:37:17 -070071 select IOAPIC
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070072 select MRC_SETTINGS_PROTECT
Furquan Shaikh09b01de2019-04-09 16:26:29 -070073 select NO_FIXED_XIP_ROM_SIZE
Pratik Prajapati01eda282017-08-17 21:09:45 -070074 select PARALLEL_MP
75 select PARALLEL_MP_AP_WORK
Lijian Zhao81096042017-05-02 18:54:44 -070076 select PLATFORM_USES_FSP2_0
Lijian Zhao8465a812017-07-11 12:33:22 -070077 select POSTCAR_CONSOLE
78 select POSTCAR_STAGE
Lijian Zhaodcf99b02017-07-30 15:40:10 -070079 select REG_SCRIPT
Lijian Zhaof0eb9992017-09-14 14:51:12 -070080 select SMM_TSEG
Pratik Prajapati01eda282017-08-17 21:09:45 -070081 select SMP
Subrata Banikac1cd442018-02-06 15:25:27 +053082 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020083 select PMC_GLOBAL_RESET_ENABLE_LOCK
Lijian Zhao81096042017-05-02 18:54:44 -070084 select SOC_INTEL_COMMON
Lijian Zhao2b074d92017-08-17 14:25:24 -070085 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Lijian Zhao81096042017-05-02 18:54:44 -070086 select SOC_INTEL_COMMON_BLOCK
Lijian Zhao2b074d92017-08-17 14:25:24 -070087 select SOC_INTEL_COMMON_BLOCK_ACPI
Subrata Banikc4986eb2018-05-09 14:55:09 +053088 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Andrey Petrov3e2e0502017-06-05 13:22:24 -070089 select SOC_INTEL_COMMON_BLOCK_CPU
Pratik Prajapati01eda282017-08-17 21:09:45 -070090 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Furquan Shaikha5bb7162017-12-20 11:09:04 -080091 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
praveen hodagatta praneshdc4fceb2018-10-16 18:06:18 +080092 select SOC_INTEL_COMMON_BLOCK_HDA
Lijian Zhaodcf99b02017-07-30 15:40:10 -070093 select SOC_INTEL_COMMON_BLOCK_SA
Brandon Breitensteinae154862017-08-01 11:32:06 -070094 select SOC_INTEL_COMMON_BLOCK_SMM
95 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banikf513ceb2018-05-17 15:57:43 +053096 select SOC_INTEL_COMMON_PCH_BASE
Lijian Zhao0e956f22017-10-22 18:30:39 -070097 select SOC_INTEL_COMMON_NHLT
Lijian Zhaodcf99b02017-07-30 15:40:10 -070098 select SOC_INTEL_COMMON_RESET
Lijian Zhaof0eb9992017-09-14 14:51:12 -070099 select SSE2
Lijian Zhaoacfc1492017-07-06 15:27:27 -0700100 select SUPPORT_CPU_UCODE_IN_CBFS
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700101 select TSC_CONSTANT_RATE
102 select TSC_MONOTONIC_TIMER
103 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +0530104 select UDK_2017_BINDING
Subrata Banika8733e32018-01-23 16:40:56 +0530105 select DISPLAY_FSP_VERSION_INFO
Praveen hodagatta praneshb66757f2018-10-23 02:43:05 +0800106 select FSP_T_XIP if FSP_CAR
Lijian Zhao81096042017-05-02 18:54:44 -0700107
Lijian Zhao81096042017-05-02 18:54:44 -0700108config DCACHE_RAM_BASE
109 default 0xfef00000
110
111config DCACHE_RAM_SIZE
112 default 0x40000
113 help
114 The size of the cache-as-ram region required during bootblock
115 and/or romstage.
116
117config DCACHE_BSP_STACK_SIZE
118 hex
119 default 0x4000
120 help
121 The amount of anticipated stack usage in CAR by bootblock and
122 other stages.
123
Furquan Shaikhc0257dd2018-05-02 23:29:04 -0700124config IFD_CHIPSET
125 string
126 default "cnl"
127
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700128config IED_REGION_SIZE
129 hex
130 default 0x400000
131
John Zhao7492bcb2018-02-01 15:56:28 -0800132config HEAP_SIZE
133 hex
134 default 0x8000
135
Lijian Zhao0e956f22017-10-22 18:30:39 -0700136config NHLT_DMIC_1CH_16B
137 bool
138 depends on ACPI_NHLT
139 default n
140 help
141 Include DSP firmware settings for 1 channel 16B DMIC array.
142
143config NHLT_DMIC_2CH_16B
144 bool
145 depends on ACPI_NHLT
146 default n
147 help
148 Include DSP firmware settings for 2 channel 16B DMIC array.
149
150config NHLT_DMIC_4CH_16B
151 bool
152 depends on ACPI_NHLT
153 default n
154 help
155 Include DSP firmware settings for 4 channel 16B DMIC array.
156
157config NHLT_MAX98357
158 bool
159 depends on ACPI_NHLT
160 default n
161 help
162 Include DSP firmware settings for headset codec.
163
N, Harshapriya4a1ee4b2017-11-28 14:29:26 -0800164config NHLT_MAX98373
165 bool
166 depends on ACPI_NHLT
167 default n
168 help
169 Include DSP firmware settings for headset codec.
170
Lijian Zhao0e956f22017-10-22 18:30:39 -0700171config NHLT_DA7219
172 bool
173 depends on ACPI_NHLT
174 default n
175 help
176 Include DSP firmware settings for headset codec.
177
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700178config MAX_ROOT_PORTS
179 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800180 default 24 if SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhaoc85890d2017-10-20 09:19:07 -0700181 default 16
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700182
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700183config SMM_TSEG_SIZE
184 hex
185 default 0x800000
186
Subrata Banike66600e2018-05-10 17:23:56 +0530187config SMM_RESERVED_SIZE
188 hex
189 default 0x200000
190
Lijian Zhao81096042017-05-02 18:54:44 -0700191config PCR_BASE_ADDRESS
192 hex
193 default 0xfd000000
194 help
195 This option allows you to select MMIO Base Address of sideband bus.
196
Andrey Petrov3e2e0502017-06-05 13:22:24 -0700197config CPU_BCLK_MHZ
198 int
199 default 100
200
Aaron Durbin551e4be2018-04-10 09:24:54 -0600201config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Lijian Zhaof3885612017-11-09 15:01:33 -0800202 int
203 default 120
204
Chris Chingb8dc63b2017-12-06 14:26:15 -0700205config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
206 int
Duncan Laurie695f2fe2018-12-05 12:51:23 -0800207 default 216
Chris Chingb8dc63b2017-12-06 14:26:15 -0700208
Lijian Zhao32111172017-08-16 11:40:03 -0700209config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
210 int
211 default 3
212
Subrata Banikc4986eb2018-05-09 14:55:09 +0530213config SOC_INTEL_I2C_DEV_MAX
214 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800215 default 4 if SOC_INTEL_CANNONLAKE_PCH_H
Subrata Banikc4986eb2018-05-09 14:55:09 +0530216 default 6
217
Lijian Zhao8465a812017-07-11 12:33:22 -0700218# Clock divider parameters for 115200 baud rate
219config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
220 hex
221 default 0x30
222
223config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
224 hex
225 default 0xc35
226
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700227config CHROMEOS
228 select CHROMEOS_RAMOOPS_DYNAMIC
229
230config VBOOT
231 select VBOOT_SEPARATE_VERSTAGE
232 select VBOOT_OPROM_MATTERS
233 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
234 select VBOOT_STARTS_IN_BOOTBLOCK
235 select VBOOT_VBNV_CMOS
236 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
237
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600238config C_ENV_BOOTBLOCK_SIZE
239 hex
Duncan Laurie11340e52018-12-01 16:58:52 -0800240 default 0xC000
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600241
Patrick Georgi6539e102018-09-13 11:48:43 -0400242config CBFS_SIZE
243 hex
244 default 0x200000
245
Rizwan Qureshi8aadab72019-02-17 11:31:21 +0530246config MB_HAS_ACTIVE_HIGH_SD_PWR_ENABLE
247 bool
248 default n
249 help
250 Select this if the board has a SD_PWR_ENABLE pin connected to a
251 active high sensing load switch to turn on power to the card reader.
252 This will enable a workaround in ASL _PS3 and _PS0 methods to force
253 SD_PWR_ENABLE to stay low in D3.
254
Subrata Banik9e3ba212018-01-08 15:28:26 +0530255choice
256 prompt "Cache-as-ram implementation"
257 default USE_CANNONLAKE_CAR_NEM_ENHANCED if MAINBOARD_HAS_CHROMEOS
258 default USE_CANNONLAKE_FSP_CAR
259 help
260 This option allows you to select how cache-as-ram (CAR) is set up.
261
262config USE_CANNONLAKE_CAR_NEM_ENHANCED
263 bool "Enhanced Non-evict mode"
264 select SOC_INTEL_COMMON_BLOCK_CAR
265 select INTEL_CAR_NEM_ENHANCED
266 help
267 A current limitation of NEM (Non-Evict mode) is that code and data
268 sizes are derived from the requirement to not write out any modified
269 cache line. With NEM, if there is no physical memory behind the
270 cached area, the modified data will be lost and NEM results will be
271 inconsistent. ENHANCED NEM guarantees that modified data is always
272 kept in cache while clean data is replaced.
273
274config USE_CANNONLAKE_FSP_CAR
275 bool "Use FSP CAR"
276 select FSP_CAR
277 help
278 Use FSP APIs to initialize and tear down the Cache-As-Ram.
279
280endchoice
281
Patrick Georgi6539e102018-09-13 11:48:43 -0400282config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200283 string "Location of FSP headers"
Subrata Banik6527b1a2019-01-29 11:04:25 +0530284 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Include/" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Subrata Banikfa011db2019-02-02 13:25:14 +0530285 default "src/vendorcode/intel/fsp/fsp2_0/cometlake/" if SOC_INTEL_COMETLAKE
Subrata Banik6527b1a2019-01-29 11:04:25 +0530286 default "src/vendorcode/intel/fsp/fsp2_0/cannonlake/"
Patrick Georgi6539e102018-09-13 11:48:43 -0400287
288config FSP_FD_PATH
289 string
290 depends on FSP_USE_REPO
Subrata Banik6527b1a2019-01-29 11:04:25 +0530291 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Fsp.fd" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400292
Lijian Zhao81096042017-05-02 18:54:44 -0700293endif