blob: 21c9b6f12ad1db90ca28d3c333b68fffd7e4e785 [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
Aaron Durbin9e6d1432016-07-13 23:21:41 -050010 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Duncan Lauriec88c54c2014-04-30 16:36:13 -070011 select ARCH_BOOTBLOCK_X86_32
Stefan Reinauer77b16552015-01-14 19:51:47 +010012 select ARCH_VERSTAGE_X86_32
Duncan Lauriec88c54c2014-04-30 16:36:13 -070013 select ARCH_ROMSTAGE_X86_32
14 select ARCH_RAMSTAGE_X86_32
Aaron Durbine8e118d2016-08-12 15:00:10 -050015 select BOOT_DEVICE_SUPPORTS_WRITES
Duncan Lauriec88c54c2014-04-30 16:36:13 -070016 select CACHE_MRC_SETTINGS
Duncan Laurief059b242015-01-15 15:42:43 -080017 select MRC_SETTINGS_PROTECT
Duncan Lauriec88c54c2014-04-30 16:36:13 -070018 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Kyösti Mälkki4851bf22014-12-27 12:57:06 +020019 select SUPPORT_CPU_UCODE_IN_CBFS
Duncan Lauriec88c54c2014-04-30 16:36:13 -070020 select HAVE_SMI_HANDLER
Patrick Rudolph45022ae2018-10-01 19:17:11 +020021 select SOUTHBRIDGE_INTEL_COMMON_RESET
Arthur Heymans2abbe462019-06-04 14:12:01 +020022 select SOUTHBRIDGE_INTEL_COMMON_RTC
Arthur Heymans47a66032019-10-25 23:43:14 +020023 select SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9
Duncan Lauriec88c54c2014-04-30 16:36:13 -070024 select HAVE_USBDEBUG
25 select IOAPIC
Duncan Lauriec88c54c2014-04-30 16:36:13 -070026 select REG_SCRIPT
27 select PARALLEL_MP
Aaron Durbin16246ea2016-08-05 21:23:37 -050028 select RTC
Duncan Lauriec88c54c2014-04-30 16:36:13 -070029 select SMP
30 select SPI_FLASH
31 select SSE2
Duncan Lauriec88c54c2014-04-30 16:36:13 -070032 select TSC_SYNC_MFENCE
33 select UDELAY_TSC
Kyösti Mälkki5b15e012019-11-01 10:25:50 +020034 select TSC_MONOTONIC_TIMER
Stefan Reinauer9616f3c2015-04-29 10:45:22 -070035 select SOC_INTEL_COMMON
Stefan Tauneref8b9572018-09-06 00:34:28 +020036 select INTEL_DESCRIPTOR_MODE_CAPABLE
Duncan Laurie81a4c852015-09-08 16:10:30 -070037 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Martin Roth3a543182015-09-28 15:27:24 -060038 select HAVE_SPI_CONSOLE_SUPPORT
Matt DeVilliered6fe2f2016-12-14 16:12:43 -060039 select CPU_INTEL_COMMON
Matt DeVillier773488f2017-10-18 12:27:25 -050040 select INTEL_GMA_ACPI
Nico Huber9faae2b2018-11-14 00:00:35 +010041 select HAVE_POWER_STATE_AFTER_FAILURE
42 select HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE
Arthur Heymans74f9fe62019-04-24 12:29:44 +020043 select NO_FIXED_XIP_ROM_SIZE
Duncan Lauriec88c54c2014-04-30 16:36:13 -070044
Youness Alaouib191c9f2017-05-08 15:22:03 -040045config PCIEXP_ASPM
46 bool
47 default y
48
Youness Alaoui71616782018-05-04 15:34:06 -040049config PCIEXP_AER
50 bool
51 default y
52
Youness Alaouib191c9f2017-05-08 15:22:03 -040053config PCIEXP_COMMON_CLOCK
54 bool
55 default y
56
57config PCIEXP_CLK_PM
58 bool
59 default y
60
61config PCIEXP_L1_SUB_STATE
62 bool
63 default y
64
Arthur Heymans4d56a062018-12-22 16:11:52 +010065config BROADWELL_VBOOT_IN_BOOTBLOCK
66 depends on VBOOT
67 bool "Start verstage in bootblock"
68 default y
69 select VBOOT_STARTS_IN_BOOTBLOCK
70 select VBOOT_SEPARATE_VERSTAGE
71 help
72 Broadwell can either start verstage in a separate stage
73 right after the bootblock has run or it can start it
74 after romstage for compatibility reasons.
75 Broadwell however uses a mrc.bin to initialse memory which
76 needs to be located at a fixed offset. Therefore even with
77 a separate verstage starting after the bootblock that same
78 binary is used meaning a jump is made from RW to the RO region
79 and back to the RW region after the binary is done.
80
Julius Werner1210b412017-03-27 19:26:32 -070081config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080082 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans4d56a062018-12-22 16:11:52 +010083 select VBOOT_STARTS_IN_ROMSTAGE if !BROADWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070084
Duncan Lauriec88c54c2014-04-30 16:36:13 -070085config MMCONF_BASE_ADDRESS
86 hex
87 default 0xf0000000
88
Duncan Lauriec88c54c2014-04-30 16:36:13 -070089config SMM_TSEG_SIZE
90 hex
91 default 0x800000
92
93config IED_REGION_SIZE
94 hex
95 default 0x400000
96
97config SMM_RESERVED_SIZE
98 hex
99 default 0x100000
100
101config VGA_BIOS_ID
102 string
103 default "8086,0406"
104
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700105config DCACHE_RAM_BASE
106 hex
107 default 0xff7c0000
108
109config DCACHE_RAM_SIZE
110 hex
111 default 0x10000
112 help
113 The size of the cache-as-ram region required during bootblock
114 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
115 must add up to a power of 2.
116
117config DCACHE_RAM_MRC_VAR_SIZE
118 hex
119 default 0x30000
120 help
121 The amount of cache-as-ram region required by the reference code.
122
Arthur Heymans5bb15f12018-12-22 16:02:25 +0100123config DCACHE_BSP_STACK_SIZE
124 hex
125 default 0x2000
126 help
127 The amount of anticipated stack usage in CAR by bootblock and
128 other stages.
129
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700130config HAVE_MRC
131 bool "Add a Memory Reference Code binary"
132 help
133 Select this option to add a Memory Reference Code binary to
134 the resulting coreboot image.
135
136 Note: Without this binary coreboot will not work
137
138if HAVE_MRC
139
140config MRC_FILE
141 string "Intel Memory Reference Code path and filename"
142 depends on HAVE_MRC
143 default "mrc.bin"
144 help
145 The filename of the file to use as Memory Reference Code binary.
146
147config MRC_BIN_ADDRESS
148 hex
149 default 0xfffa0000
150
Arthur Heymans4d56a062018-12-22 16:11:52 +0100151# The UEFI System Agent binary needs to be at a fixed offset in the flash
152# and can therefore only reside in the COREBOOT fmap region
153config RO_REGION_ONLY
154 string
155 depends on VBOOT
156 default "mrc.bin"
157
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700158endif # HAVE_MRC
159
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700160config PRE_GRAPHICS_DELAY
161 int "Graphics initialization delay in ms"
162 default 0
163 help
164 On some systems, coreboot boots so fast that connected monitors
165 (mostly TVs) won't be able to wake up fast enough to talk to the
166 VBIOS. On those systems we need to wait for a bit before executing
167 the VBIOS.
168
169config RESET_ON_INVALID_RAMSTAGE_CACHE
170 bool "Reset the system on S3 wake when ramstage cache invalid."
171 default n
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700172 help
173 The romstage code caches the loaded ramstage program in SMM space.
174 On S3 wake the romstage will copy over a fresh ramstage that was
175 cached in the SMM space. This option determines the action to take
176 when the ramstage cache is invalid. If selected the system will
177 reset otherwise the ramstage will be reloaded from cbfs.
178
Duncan Laurie61680272014-05-05 12:42:35 -0500179config INTEL_PCH_UART_CONSOLE
180 bool "Use Serial IO UART for console"
181 default n
Martin Rothdf02c332015-07-01 23:09:42 -0600182 select DRIVERS_UART_8250MEM
Duncan Laurie61680272014-05-05 12:42:35 -0500183
184config INTEL_PCH_UART_CONSOLE_NUMBER
185 hex "Serial IO UART number to use for console"
Martin Roth3b878122016-09-30 14:43:01 -0600186 default 0x0
Duncan Laurie61680272014-05-05 12:42:35 -0500187 depends on INTEL_PCH_UART_CONSOLE
188
189config TTYS0_BASE
190 hex
191 default 0xd6000000
192 depends on INTEL_PCH_UART_CONSOLE
193
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700194config EHCI_BAR
195 hex
196 default 0xd8000000
197
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700198config SERIRQ_CONTINUOUS_MODE
199 bool
200 default y
201 help
202 If you set this option to y, the serial IRQ machine will be
203 operated in continuous mode.
Patrick Georgie6e94932015-06-22 22:26:45 +0200204
205config HAVE_REFCODE_BLOB
206 depends on ARCH_X86
207 bool "An external reference code blob should be put into cbfs."
208 default n
209 help
210 The reference code blob will be placed into cbfs.
211
212if HAVE_REFCODE_BLOB
213
214config REFCODE_BLOB_FILE
215 string "Path and filename to reference code blob."
216 default "refcode.elf"
217 help
218 The path and filename to the file to be added to cbfs.
219
220endif # HAVE_REFCODE_BLOB
221
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700222endif