blob: 86f1ff53e079ea6d26045b8a1a3b821923779085 [file] [log] [blame]
Aamir Bohra3ee54bb2018-10-17 11:55:01 +05301config SOC_INTEL_ICELAKE
2 bool
3 help
4 Intel Icelake support
5
6if SOC_INTEL_ICELAKE
7
8config CPU_SPECIFIC_OPTIONS
9 def_bool y
10 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
11 select ARCH_BOOTBLOCK_X86_32
12 select ARCH_RAMSTAGE_X86_32
13 select ARCH_ROMSTAGE_X86_32
14 select ARCH_VERSTAGE_X86_32
15 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
16 select BOOT_DEVICE_SUPPORTS_WRITES
17 select C_ENVIRONMENT_BOOTBLOCK
18 select CACHE_MRC_SETTINGS
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053019 select COMMON_FADT
20 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Subrata Banikffb83be2019-04-29 13:58:43 +053021 select FSP_M_XIP
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053022 select GENERIC_GPIO_LIB
23 select HAVE_FSP_GOP
24 select INTEL_DESCRIPTOR_MODE_CAPABLE
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053025 select HAVE_SMI_HANDLER
26 select IDT_IN_EVERY_STAGE
27 select INTEL_GMA_ACPI
28 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
29 select IOAPIC
30 select MRC_SETTINGS_PROTECT
31 select PARALLEL_MP
32 select PARALLEL_MP_AP_WORK
Nico Huberf5ca9222018-11-29 17:05:32 +010033 select MICROCODE_BLOB_UNDISCLOSED
Subrata Banik55fb6b42018-12-19 16:50:57 +053034 select PLATFORM_USES_FSP2_1
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053035 select REG_SCRIPT
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053036 select SMP
37 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
38 select PMC_GLOBAL_RESET_ENABLE_LOCK
39 select SOC_INTEL_COMMON
40 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
41 select SOC_INTEL_COMMON_BLOCK
42 select SOC_INTEL_COMMON_BLOCK_ACPI
43 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
44 select SOC_INTEL_COMMON_BLOCK_CPU
45 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Michael Niewöhner836994e2019-10-28 19:05:23 +010046 select SOC_INTEL_COMMON_BLOCK_EBDA
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053047 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
48 select SOC_INTEL_COMMON_BLOCK_HDA
49 select SOC_INTEL_COMMON_BLOCK_SA
50 select SOC_INTEL_COMMON_BLOCK_SMM
51 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
52 select SOC_INTEL_COMMON_PCH_BASE
53 select SOC_INTEL_COMMON_RESET
54 select SSE2
55 select SUPPORT_CPU_UCODE_IN_CBFS
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053056 select TSC_MONOTONIC_TIMER
57 select UDELAY_TSC
58 select UDK_2017_BINDING
59 select DISPLAY_FSP_VERSION_INFO
Subrata Banika0368a02019-06-04 14:16:02 +053060 select HECI_DISABLE_USING_SMM
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053061
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053062config DCACHE_RAM_BASE
63 default 0xfef00000
64
65config DCACHE_RAM_SIZE
66 default 0x40000
67 help
68 The size of the cache-as-ram region required during bootblock
69 and/or romstage.
70
71config DCACHE_BSP_STACK_SIZE
72 hex
V Sowmya1dcc1702019-10-14 14:42:34 +053073 default 0x20400 if FSP_USES_CB_STACK
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053074 default 0x4000
75 help
76 The amount of anticipated stack usage in CAR by bootblock and
V Sowmya1dcc1702019-10-14 14:42:34 +053077 other stages. In the case of FSP_USES_CB_STACK default value will be
78 sum of FSP-M stack requirement (128KiB) and CB romstage stack requirement (~1KiB).
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053079
Subrata Banik1d260e62019-09-09 13:55:42 +053080config FSP_TEMP_RAM_SIZE
81 hex
82 depends on FSP_USES_CB_STACK
83 default 0x10000
84 help
85 The amount of anticipated heap usage in CAR by FSP.
86 Refer to Platform FSP integration guide document to know
87 the exact FSP requirement for Heap setup.
88
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053089config IFD_CHIPSET
90 string
91 default "icl"
92
93config IED_REGION_SIZE
94 hex
95 default 0x400000
96
97config HEAP_SIZE
98 hex
99 default 0x8000
100
101config MAX_ROOT_PORTS
102 int
103 default 16
104
105config SMM_TSEG_SIZE
106 hex
107 default 0x800000
108
109config SMM_RESERVED_SIZE
110 hex
111 default 0x200000
112
113config PCR_BASE_ADDRESS
114 hex
115 default 0xfd000000
116 help
117 This option allows you to select MMIO Base Address of sideband bus.
118
Subrata Banik26d706b2018-11-20 13:20:31 +0530119config MMCONF_BASE_ADDRESS
120 hex
121 default 0xc0000000
122
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530123config CPU_BCLK_MHZ
124 int
125 default 100
126
127config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
128 int
129 default 120
130
131config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
132 int
133 default 133
134
135config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
136 int
137 default 3
138
139config SOC_INTEL_I2C_DEV_MAX
140 int
141 default 6
142
Subrata Banik26d706b2018-11-20 13:20:31 +0530143config SOC_INTEL_UART_DEV_MAX
144 int
145 default 3
146
Nico Huber99954182019-05-29 23:33:06 +0200147config CONSOLE_UART_BASE_ADDRESS
148 hex
149 default 0xfe032000
150 depends on INTEL_LPSS_UART_FOR_CONSOLE
151
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530152# Clock divider parameters for 115200 baud rate
153config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
154 hex
155 default 0x30
156
157config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
158 hex
159 default 0xc35
160
161config CHROMEOS
162 select CHROMEOS_RAMOOPS_DYNAMIC
163
164config VBOOT
165 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800166 select VBOOT_MUST_REQUEST_DISPLAY
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530167 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
168 select VBOOT_STARTS_IN_BOOTBLOCK
169 select VBOOT_VBNV_CMOS
170 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
171
172config C_ENV_BOOTBLOCK_SIZE
173 hex
Subrata Banik458297c2019-01-07 14:24:27 +0530174 default 0xC000
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530175
176config CBFS_SIZE
177 hex
178 default 0x200000
179
180choice
181 prompt "Cache-as-ram implementation"
Angel Pons7ed704d2019-07-12 15:46:43 +0200182 default USE_ICELAKE_CAR_NEM_ENHANCED
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530183 help
184 This option allows you to select how cache-as-ram (CAR) is set up.
185
186config USE_ICELAKE_CAR_NEM_ENHANCED
187 bool "Enhanced Non-evict mode"
188 select SOC_INTEL_COMMON_BLOCK_CAR
189 select INTEL_CAR_NEM_ENHANCED
190 help
191 A current limitation of NEM (Non-Evict mode) is that code and data
192 sizes are derived from the requirement to not write out any modified
193 cache line. With NEM, if there is no physical memory behind the
194 cached area, the modified data will be lost and NEM results will be
195 inconsistent. ENHANCED NEM guarantees that modified data is always
196 kept in cache while clean data is replaced.
197
198config USE_ICELAKE_FSP_CAR
199 bool "Use FSP CAR"
200 select FSP_CAR
201 help
202 Use FSP APIs to initialize and tear down the Cache-As-Ram.
203
204endchoice
205
206config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200207 string "Location of FSP headers"
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530208 default "src/vendorcode/intel/fsp/fsp2_0/icelake/"
209
210config FSP_FD_PATH
211 string
212 depends on FSP_USE_REPO
213 default "3rdparty/fsp/IceLakeFspBinPkg/Fsp.fd"
214
Subrata Banikb14b55d2019-07-12 18:28:56 +0530215config ENABLE_DISPLAY_OVER_EXT_PCIE_GFX
216 bool "Enable display over external PCIE GFX card"
217 select ALWAYS_LOAD_OPROM
218 help
219 It's possible to bring display through external graphics card over PCIE
220 in coreboot. This option enables graphics initialization with external
221 graphics card.
222
223 Selected by mainboard that runs OpRom to perform display
224 initialization over attached PCIe GFX card.
225
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530226endif