blob: a789c37e22afa9f5cef129bb016232d4b399dbed [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
Duncan Lauriec88c54c2014-04-30 16:36:13 -070023 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_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
Stefan Reinauer9616f3c2015-04-29 10:45:22 -070048 select SOC_INTEL_COMMON
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
Duncan Laurie61680272014-05-05 12:42:35 -0500174config INTEL_PCH_UART_CONSOLE
175 bool "Use Serial IO UART for console"
176 default n
Duncan Laurie61680272014-05-05 12:42:35 -0500177 select CONSOLE_SERIAL8250MEM
Duncan Laurie61680272014-05-05 12:42:35 -0500178
179config INTEL_PCH_UART_CONSOLE_NUMBER
180 hex "Serial IO UART number to use for console"
181 default "0x0"
182 depends on INTEL_PCH_UART_CONSOLE
183
184config TTYS0_BASE
185 hex
186 default 0xd6000000
187 depends on INTEL_PCH_UART_CONSOLE
188
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700189config EHCI_BAR
190 hex
191 default 0xd8000000
192
193config EHCI_DEBUG_OFFSET
194 hex
195 default 0xa0
196
197config SERIRQ_CONTINUOUS_MODE
198 bool
199 default y
200 help
201 If you set this option to y, the serial IRQ machine will be
202 operated in continuous mode.
Marc Jonesa6354a12014-12-26 22:11:14 -0700203config HAVE_ME_BIN
204 bool "Add Intel Management Engine firmware"
205 default y
206 help
207 The Intel processor in the selected system requires a special firmware
208 for an integrated controller called Management Engine (ME). The ME
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200209 firmware might be provided in coreboot's 3rdparty/blobs repository. If
Marc Jonesa6354a12014-12-26 22:11:14 -0700210 not and if you don't have the firmware elsewhere, you can still
211 build coreboot without it. In this case however, you'll have to make
212 sure that you don't overwrite your ME firmware on your flash ROM.
213
214config ME_BIN_PATH
215 string "Path to management engine firmware"
216 depends on HAVE_ME_BIN
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200217 default "3rdparty/blobs/mainboard/$(MAINBOARDDIR)/me.bin"
Marc Jonesa6354a12014-12-26 22:11:14 -0700218
219config HAVE_IFD_BIN
Patrick Georgi405bd692015-04-30 21:31:17 +0200220 bool "Use Intel Firmware Descriptor from existing binary"
Marc Jonesa6354a12014-12-26 22:11:14 -0700221 default n
222
223config BUILD_WITH_FAKE_IFD
224 bool "Build with a fake IFD"
225 default y if !HAVE_IFD_BIN
226 help
227 If you don't have an Intel Firmware Descriptor (ifd.bin) for your
228 board, you can select this option and coreboot will build without it.
229 Though, the resulting coreboot.rom will not contain all parts required
230 to get coreboot running on your board. You can however write only the
231 BIOS section to your board's flash ROM and keep the other sections
232 untouched. Unfortunately the current version of flashrom doesn't
233 support this yet. But there is a patch pending [1].
234
235 WARNING: Never write a complete coreboot.rom to your flash ROM if it
236 was built with a fake IFD. It just won't work.
237
238 [1] http://www.flashrom.org/pipermail/flashrom/2013-June/011083.html
239
240config IFD_BIOS_SECTION
241 depends on BUILD_WITH_FAKE_IFD
242 string
243 default ""
244
245config IFD_ME_SECTION
246 depends on BUILD_WITH_FAKE_IFD
247 string
248 default ""
249
250config IFD_PLATFORM_SECTION
251 depends on BUILD_WITH_FAKE_IFD
252 string
253 default ""
254
255config IFD_BIN_PATH
256 string "Path to intel firmware descriptor"
257 depends on !BUILD_WITH_FAKE_IFD
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200258 default "3rdparty/blobs/mainboard/$(MAINBOARDDIR)/descriptor.bin"
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700259
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700260config LOCK_MANAGEMENT_ENGINE
261 bool "Lock Management Engine section"
262 default n
263 help
264 The Intel Management Engine supports preventing write accesses
265 from the host to the Management Engine section in the firmware
266 descriptor. If the ME section is locked, it can only be overwritten
267 with an external SPI flash programmer. You will want this if you
268 want to increase security of your ROM image once you are sure
269 that the ME firmware is no longer going to change.
270
271 If unsure, say N.
272
273endif