blob: 2e70f45eea8d56578ec323cbe1d15270869ebce2 [file] [log] [blame]
Duncan Lauriec88c54c2014-04-30 16:36:13 -07001config SOC_INTEL_BROADWELL
2 bool
3 help
4 Intel Broadwell and Haswell ULT support.
5
6if SOC_INTEL_BROADWELL
7
8config CPU_SPECIFIC_OPTIONS
9 def_bool y
10 select ARCH_BOOTBLOCK_X86_32
Stefan Reinauer77b16552015-01-14 19:51:47 +010011 select ARCH_VERSTAGE_X86_32
Duncan Lauriec88c54c2014-04-30 16:36:13 -070012 select ARCH_ROMSTAGE_X86_32
13 select ARCH_RAMSTAGE_X86_32
14 select ALT_CBFS_LOAD_PAYLOAD
Duncan Laurie61680272014-05-05 12:42:35 -050015 select ALWAYS_LOAD_OPROM
Duncan Lauriec88c54c2014-04-30 16:36:13 -070016 select BACKUP_DEFAULT_SMM_REGION
17 select CACHE_MRC_BIN
18 select CACHE_MRC_SETTINGS
19 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
20 select CACHE_ROM
21 select CAR_MIGRATION
22 select COLLECT_TIMESTAMPS
23 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Kyösti Mälkki4851bf22014-12-27 12:57:06 +020024 select SUPPORT_CPU_UCODE_IN_CBFS
Duncan Lauriec88c54c2014-04-30 16:36:13 -070025 select HAVE_MONOTONIC_TIMER
26 select HAVE_SMI_HANDLER
27 select HAVE_HARD_RESET
28 select HAVE_USBDEBUG
29 select IOAPIC
30 select MMCONF_SUPPORT
31 select MMCONF_SUPPORT_DEFAULT
32 select RELOCATABLE_MODULES
Marc Jonesa6354a12014-12-26 22:11:14 -070033 select RELOCATABLE_RAMSTAGE
Duncan Lauriec88c54c2014-04-30 16:36:13 -070034 select REG_SCRIPT
35 select PARALLEL_MP
36 select PCIEXP_ASPM
37 select PCIEXP_COMMON_CLOCK
Kane Chen96044742014-10-01 13:22:52 +080038 select PCIEXP_CLK_PM
Kenji Chenb71d9b82014-10-10 03:08:15 +080039 select PCIEXP_L1_SUB_STATE
Duncan Lauriec88c54c2014-04-30 16:36:13 -070040 select SMM_MODULES
41 select SMM_TSEG
42 select SMP
43 select SPI_FLASH
44 select SSE2
Marc Jonesa6354a12014-12-26 22:11:14 -070045 select SUPPORT_CPU_UCODE_IN_CBFS
Duncan Lauriec88c54c2014-04-30 16:36:13 -070046 select TSC_CONSTANT_RATE
47 select TSC_SYNC_MFENCE
48 select UDELAY_TSC
Vladimir Serbinenkob219da82014-11-09 03:29:30 +010049 select PER_DEVICE_ACPI_TABLES
Duncan Lauriec88c54c2014-04-30 16:36:13 -070050
51config BOOTBLOCK_CPU_INIT
52 string
53 default "soc/intel/broadwell/bootblock/cpu.c"
54
55config BOOTBLOCK_NORTHBRIDGE_INIT
56 string
57 default "soc/intel/broadwell/bootblock/systemagent.c"
58
59config BOOTBLOCK_SOUTHBRIDGE_INIT
60 string
61 default "soc/intel/broadwell/bootblock/pch.c"
62
Duncan Lauriec88c54c2014-04-30 16:36:13 -070063
64config MMCONF_BASE_ADDRESS
65 hex
66 default 0xf0000000
67
68config SERIAL_CPU_INIT
69 bool
70 default n
71
72config SMM_TSEG_SIZE
73 hex
74 default 0x800000
75
76config IED_REGION_SIZE
77 hex
78 default 0x400000
79
80config SMM_RESERVED_SIZE
81 hex
82 default 0x100000
83
84config VGA_BIOS_ID
85 string
86 default "8086,0406"
87
88config CACHE_MRC_SIZE_KB
89 int
90 default 512
91
92config DCACHE_RAM_BASE
93 hex
94 default 0xff7c0000
95
96config DCACHE_RAM_SIZE
97 hex
98 default 0x10000
99 help
100 The size of the cache-as-ram region required during bootblock
101 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
102 must add up to a power of 2.
103
104config DCACHE_RAM_MRC_VAR_SIZE
105 hex
106 default 0x30000
107 help
108 The amount of cache-as-ram region required by the reference code.
109
110config DCACHE_RAM_ROMSTAGE_STACK_SIZE
111 hex
112 default 0x2000
113 help
114 The amount of anticipated stack usage from the data cache
115 during pre-ram rom stage execution.
116
117config HAVE_MRC
118 bool "Add a Memory Reference Code binary"
119 help
120 Select this option to add a Memory Reference Code binary to
121 the resulting coreboot image.
122
123 Note: Without this binary coreboot will not work
124
125if HAVE_MRC
126
127config MRC_FILE
128 string "Intel Memory Reference Code path and filename"
129 depends on HAVE_MRC
130 default "mrc.bin"
131 help
132 The filename of the file to use as Memory Reference Code binary.
133
134config MRC_BIN_ADDRESS
135 hex
136 default 0xfffa0000
137
138config CACHE_MRC_SETTINGS
139 bool "Save cached MRC settings"
140 default y
141
142endif # HAVE_MRC
143
144config CBFS_SIZE
145 hex "Size of CBFS filesystem in ROM"
146 default 0x100000
147 help
148 The firmware image has to store more than just coreboot, including:
149 - a firmware descriptor
150 - Intel Management Engine firmware
151 - MRC cache information
152 This option allows to limit the size of the CBFS portion in the
153 firmware image.
154
155config PRE_GRAPHICS_DELAY
156 int "Graphics initialization delay in ms"
157 default 0
158 help
159 On some systems, coreboot boots so fast that connected monitors
160 (mostly TVs) won't be able to wake up fast enough to talk to the
161 VBIOS. On those systems we need to wait for a bit before executing
162 the VBIOS.
163
164config RESET_ON_INVALID_RAMSTAGE_CACHE
165 bool "Reset the system on S3 wake when ramstage cache invalid."
166 default n
167 depends on RELOCATABLE_RAMSTAGE
168 help
169 The romstage code caches the loaded ramstage program in SMM space.
170 On S3 wake the romstage will copy over a fresh ramstage that was
171 cached in the SMM space. This option determines the action to take
172 when the ramstage cache is invalid. If selected the system will
173 reset otherwise the ramstage will be reloaded from cbfs.
174
175config MONOTONIC_TIMER_MSR
176 def_bool y
177 select HAVE_MONOTONIC_TIMER
178 help
179 Provide a monotonic timer using the 24MHz MSR counter.
180
Duncan Laurie61680272014-05-05 12:42:35 -0500181config INTEL_PCH_UART_CONSOLE
182 bool "Use Serial IO UART for console"
183 default n
184 select HAVE_UART_MEMORY_MAPPED
185 select CONSOLE_SERIAL8250MEM
186 depends on !CONFIG_DRIVERS_OXFORD_OXPCIE
187
188config INTEL_PCH_UART_CONSOLE_NUMBER
189 hex "Serial IO UART number to use for console"
190 default "0x0"
191 depends on INTEL_PCH_UART_CONSOLE
192
193config TTYS0_BASE
194 hex
195 default 0xd6000000
196 depends on INTEL_PCH_UART_CONSOLE
197
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700198config EHCI_BAR
199 hex
200 default 0xd8000000
201
202config EHCI_DEBUG_OFFSET
203 hex
204 default 0xa0
205
206config SERIRQ_CONTINUOUS_MODE
207 bool
208 default y
209 help
210 If you set this option to y, the serial IRQ machine will be
211 operated in continuous mode.
Marc Jonesa6354a12014-12-26 22:11:14 -0700212config HAVE_ME_BIN
213 bool "Add Intel Management Engine firmware"
214 default y
215 help
216 The Intel processor in the selected system requires a special firmware
217 for an integrated controller called Management Engine (ME). The ME
218 firmware might be provided in coreboot's 3rdparty repository. If
219 not and if you don't have the firmware elsewhere, you can still
220 build coreboot without it. In this case however, you'll have to make
221 sure that you don't overwrite your ME firmware on your flash ROM.
222
223config ME_BIN_PATH
224 string "Path to management engine firmware"
225 depends on HAVE_ME_BIN
226 default "3rdparty/mainboard/$(MAINBOARDDIR)/me.bin"
227
228config HAVE_IFD_BIN
229 bool
230 default n
231
232config BUILD_WITH_FAKE_IFD
233 bool "Build with a fake IFD"
234 default y if !HAVE_IFD_BIN
235 help
236 If you don't have an Intel Firmware Descriptor (ifd.bin) for your
237 board, you can select this option and coreboot will build without it.
238 Though, the resulting coreboot.rom will not contain all parts required
239 to get coreboot running on your board. You can however write only the
240 BIOS section to your board's flash ROM and keep the other sections
241 untouched. Unfortunately the current version of flashrom doesn't
242 support this yet. But there is a patch pending [1].
243
244 WARNING: Never write a complete coreboot.rom to your flash ROM if it
245 was built with a fake IFD. It just won't work.
246
247 [1] http://www.flashrom.org/pipermail/flashrom/2013-June/011083.html
248
249config IFD_BIOS_SECTION
250 depends on BUILD_WITH_FAKE_IFD
251 string
252 default ""
253
254config IFD_ME_SECTION
255 depends on BUILD_WITH_FAKE_IFD
256 string
257 default ""
258
259config IFD_PLATFORM_SECTION
260 depends on BUILD_WITH_FAKE_IFD
261 string
262 default ""
263
264config IFD_BIN_PATH
265 string "Path to intel firmware descriptor"
266 depends on !BUILD_WITH_FAKE_IFD
267 default "3rdparty/mainboard/$(MAINBOARDDIR)/descriptor.bin"
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700268
269config ME_MBP_CLEAR_LATE
270 bool "Defer wait for ME MBP Cleared"
271 default y
272 help
273 If you set this option to y, the Management Engine driver
274 will defer waiting for the MBP Cleared indicator until the
275 finalize step. This can speed up boot time if the ME takes
276 a long time to indicate this status.
277
278config LOCK_MANAGEMENT_ENGINE
279 bool "Lock Management Engine section"
280 default n
281 help
282 The Intel Management Engine supports preventing write accesses
283 from the host to the Management Engine section in the firmware
284 descriptor. If the ME section is locked, it can only be overwritten
285 with an external SPI flash programmer. You will want this if you
286 want to increase security of your ROM image once you are sure
287 that the ME firmware is no longer going to change.
288
289 If unsure, say N.
290
291endif