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