blob: 99000bb82baac1e3305b6f1e5a0535553515e135 [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
19 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
20 select COMMON_FADT
21 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Subrata Banikffb83be2019-04-29 13:58:43 +053022 select FSP_M_XIP
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053023 select GENERIC_GPIO_LIB
24 select HAVE_FSP_GOP
25 select INTEL_DESCRIPTOR_MODE_CAPABLE
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053026 select HAVE_SMI_HANDLER
27 select IDT_IN_EVERY_STAGE
28 select INTEL_GMA_ACPI
29 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
30 select IOAPIC
31 select MRC_SETTINGS_PROTECT
32 select PARALLEL_MP
33 select PARALLEL_MP_AP_WORK
Nico Huberf5ca9222018-11-29 17:05:32 +010034 select MICROCODE_BLOB_UNDISCLOSED
Subrata Banik55fb6b42018-12-19 16:50:57 +053035 select PLATFORM_USES_FSP2_1
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053036 select POSTCAR_CONSOLE
37 select POSTCAR_STAGE
38 select REG_SCRIPT
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053039 select SMP
40 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
41 select PMC_GLOBAL_RESET_ENABLE_LOCK
42 select SOC_INTEL_COMMON
43 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
44 select SOC_INTEL_COMMON_BLOCK
45 select SOC_INTEL_COMMON_BLOCK_ACPI
46 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
47 select SOC_INTEL_COMMON_BLOCK_CPU
48 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
49 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
50 select SOC_INTEL_COMMON_BLOCK_HDA
51 select SOC_INTEL_COMMON_BLOCK_SA
52 select SOC_INTEL_COMMON_BLOCK_SMM
53 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
54 select SOC_INTEL_COMMON_PCH_BASE
55 select SOC_INTEL_COMMON_RESET
56 select SSE2
57 select SUPPORT_CPU_UCODE_IN_CBFS
58 select TSC_CONSTANT_RATE
59 select TSC_MONOTONIC_TIMER
60 select UDELAY_TSC
61 select UDK_2017_BINDING
62 select DISPLAY_FSP_VERSION_INFO
Subrata Banika0368a02019-06-04 14:16:02 +053063 select HECI_DISABLE_USING_SMM
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053064
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053065config DCACHE_RAM_BASE
66 default 0xfef00000
67
68config DCACHE_RAM_SIZE
69 default 0x40000
70 help
71 The size of the cache-as-ram region required during bootblock
72 and/or romstage.
73
74config DCACHE_BSP_STACK_SIZE
75 hex
Aamir Bohra23012a02018-10-09 20:33:16 +053076 default 0x20000 if FSP_USES_CB_STACK
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053077 default 0x4000
78 help
79 The amount of anticipated stack usage in CAR by bootblock and
80 other stages.
81
82config IFD_CHIPSET
83 string
84 default "icl"
85
86config IED_REGION_SIZE
87 hex
88 default 0x400000
89
90config HEAP_SIZE
91 hex
92 default 0x8000
93
94config MAX_ROOT_PORTS
95 int
96 default 16
97
98config SMM_TSEG_SIZE
99 hex
100 default 0x800000
101
102config SMM_RESERVED_SIZE
103 hex
104 default 0x200000
105
106config PCR_BASE_ADDRESS
107 hex
108 default 0xfd000000
109 help
110 This option allows you to select MMIO Base Address of sideband bus.
111
Subrata Banik26d706b2018-11-20 13:20:31 +0530112config MMCONF_BASE_ADDRESS
113 hex
114 default 0xc0000000
115
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530116config CPU_BCLK_MHZ
117 int
118 default 100
119
120config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
121 int
122 default 120
123
124config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
125 int
126 default 133
127
128config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
129 int
130 default 3
131
132config SOC_INTEL_I2C_DEV_MAX
133 int
134 default 6
135
Subrata Banik26d706b2018-11-20 13:20:31 +0530136config SOC_INTEL_UART_DEV_MAX
137 int
138 default 3
139
Nico Huber99954182019-05-29 23:33:06 +0200140config CONSOLE_UART_BASE_ADDRESS
141 hex
142 default 0xfe032000
143 depends on INTEL_LPSS_UART_FOR_CONSOLE
144
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530145# Clock divider parameters for 115200 baud rate
146config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
147 hex
148 default 0x30
149
150config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
151 hex
152 default 0xc35
153
154config CHROMEOS
155 select CHROMEOS_RAMOOPS_DYNAMIC
156
157config VBOOT
158 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800159 select VBOOT_MUST_REQUEST_DISPLAY
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530160 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
161 select VBOOT_STARTS_IN_BOOTBLOCK
162 select VBOOT_VBNV_CMOS
163 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
164
165config C_ENV_BOOTBLOCK_SIZE
166 hex
Subrata Banik458297c2019-01-07 14:24:27 +0530167 default 0xC000
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530168
169config CBFS_SIZE
170 hex
171 default 0x200000
172
173choice
174 prompt "Cache-as-ram implementation"
Angel Pons7ed704d2019-07-12 15:46:43 +0200175 default USE_ICELAKE_CAR_NEM_ENHANCED
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530176 help
177 This option allows you to select how cache-as-ram (CAR) is set up.
178
179config USE_ICELAKE_CAR_NEM_ENHANCED
180 bool "Enhanced Non-evict mode"
181 select SOC_INTEL_COMMON_BLOCK_CAR
182 select INTEL_CAR_NEM_ENHANCED
183 help
184 A current limitation of NEM (Non-Evict mode) is that code and data
185 sizes are derived from the requirement to not write out any modified
186 cache line. With NEM, if there is no physical memory behind the
187 cached area, the modified data will be lost and NEM results will be
188 inconsistent. ENHANCED NEM guarantees that modified data is always
189 kept in cache while clean data is replaced.
190
191config USE_ICELAKE_FSP_CAR
192 bool "Use FSP CAR"
193 select FSP_CAR
194 help
195 Use FSP APIs to initialize and tear down the Cache-As-Ram.
196
197endchoice
198
199config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200200 string "Location of FSP headers"
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530201 default "src/vendorcode/intel/fsp/fsp2_0/icelake/"
202
203config FSP_FD_PATH
204 string
205 depends on FSP_USE_REPO
206 default "3rdparty/fsp/IceLakeFspBinPkg/Fsp.fd"
207
Subrata Banikb14b55d2019-07-12 18:28:56 +0530208config ENABLE_DISPLAY_OVER_EXT_PCIE_GFX
209 bool "Enable display over external PCIE GFX card"
210 select ALWAYS_LOAD_OPROM
211 help
212 It's possible to bring display through external graphics card over PCIE
213 in coreboot. This option enables graphics initialization with external
214 graphics card.
215
216 Selected by mainboard that runs OpRom to perform display
217 initialization over attached PCIe GFX card.
218
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530219endif