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