blob: b685391af93793b24e299fc7f90d656fc5d70798 [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
Kyösti Mälkki730df3c2016-06-18 07:39:31 +030018 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
Duncan Lauriec88c54c2014-04-30 16:36:13 -070019 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Kyösti Mälkki4851bf22014-12-27 12:57:06 +020020 select SUPPORT_CPU_UCODE_IN_CBFS
Duncan Lauriec88c54c2014-04-30 16:36:13 -070021 select HAVE_MONOTONIC_TIMER
22 select HAVE_SMI_HANDLER
Patrick Rudolph45022ae2018-10-01 19:17:11 +020023 select SOUTHBRIDGE_INTEL_COMMON_RESET
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 SMM_TSEG
30 select SMP
31 select SPI_FLASH
32 select SSE2
33 select TSC_CONSTANT_RATE
34 select TSC_SYNC_MFENCE
35 select UDELAY_TSC
Stefan Reinauer9616f3c2015-04-29 10:45:22 -070036 select SOC_INTEL_COMMON
Stefan Tauneref8b9572018-09-06 00:34:28 +020037 select INTEL_DESCRIPTOR_MODE_CAPABLE
Duncan Laurie81a4c852015-09-08 16:10:30 -070038 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Martin Roth3a543182015-09-28 15:27:24 -060039 select HAVE_SPI_CONSOLE_SUPPORT
Matt DeVilliered6fe2f2016-12-14 16:12:43 -060040 select CPU_INTEL_COMMON
Matt DeVillier773488f2017-10-18 12:27:25 -050041 select INTEL_GMA_ACPI
Arthur Heymans90cca542018-11-29 13:36:54 +010042 select POSTCAR_STAGE
43 select POSTCAR_CONSOLE
Nico Huber9faae2b2018-11-14 00:00:35 +010044 select HAVE_POWER_STATE_AFTER_FAILURE
45 select HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE
Arthur Heymans74f9fe62019-04-24 12:29:44 +020046 select NO_FIXED_XIP_ROM_SIZE
Arthur Heymans5bb15f12018-12-22 16:02:25 +010047 select C_ENVIRONMENT_BOOTBLOCK
48 select NO_BOOTBLOCK_CONSOLE
Duncan Lauriec88c54c2014-04-30 16:36:13 -070049
Youness Alaouib191c9f2017-05-08 15:22:03 -040050config PCIEXP_ASPM
51 bool
52 default y
53
Youness Alaoui71616782018-05-04 15:34:06 -040054config PCIEXP_AER
55 bool
56 default y
57
Youness Alaouib191c9f2017-05-08 15:22:03 -040058config PCIEXP_COMMON_CLOCK
59 bool
60 default y
61
62config PCIEXP_CLK_PM
63 bool
64 default y
65
66config PCIEXP_L1_SUB_STATE
67 bool
68 default y
69
Arthur Heymans4d56a062018-12-22 16:11:52 +010070config BROADWELL_VBOOT_IN_BOOTBLOCK
71 depends on VBOOT
72 bool "Start verstage in bootblock"
73 default y
74 select VBOOT_STARTS_IN_BOOTBLOCK
75 select VBOOT_SEPARATE_VERSTAGE
76 help
77 Broadwell can either start verstage in a separate stage
78 right after the bootblock has run or it can start it
79 after romstage for compatibility reasons.
80 Broadwell however uses a mrc.bin to initialse memory which
81 needs to be located at a fixed offset. Therefore even with
82 a separate verstage starting after the bootblock that same
83 binary is used meaning a jump is made from RW to the RO region
84 and back to the RW region after the binary is done.
85
Julius Werner1210b412017-03-27 19:26:32 -070086config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080087 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans4d56a062018-12-22 16:11:52 +010088 select VBOOT_STARTS_IN_ROMSTAGE if !BROADWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070089
Duncan Lauriec88c54c2014-04-30 16:36:13 -070090config MMCONF_BASE_ADDRESS
91 hex
92 default 0xf0000000
93
Duncan Lauriec88c54c2014-04-30 16:36:13 -070094config SMM_TSEG_SIZE
95 hex
96 default 0x800000
97
98config IED_REGION_SIZE
99 hex
100 default 0x400000
101
102config SMM_RESERVED_SIZE
103 hex
104 default 0x100000
105
106config VGA_BIOS_ID
107 string
108 default "8086,0406"
109
110config CACHE_MRC_SIZE_KB
111 int
112 default 512
113
114config DCACHE_RAM_BASE
115 hex
116 default 0xff7c0000
117
118config DCACHE_RAM_SIZE
119 hex
120 default 0x10000
121 help
122 The size of the cache-as-ram region required during bootblock
123 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
124 must add up to a power of 2.
125
126config DCACHE_RAM_MRC_VAR_SIZE
127 hex
128 default 0x30000
129 help
130 The amount of cache-as-ram region required by the reference code.
131
Arthur Heymans5bb15f12018-12-22 16:02:25 +0100132config DCACHE_BSP_STACK_SIZE
133 hex
134 default 0x2000
135 help
136 The amount of anticipated stack usage in CAR by bootblock and
137 other stages.
138
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700139config HAVE_MRC
140 bool "Add a Memory Reference Code binary"
141 help
142 Select this option to add a Memory Reference Code binary to
143 the resulting coreboot image.
144
145 Note: Without this binary coreboot will not work
146
147if HAVE_MRC
148
149config MRC_FILE
150 string "Intel Memory Reference Code path and filename"
151 depends on HAVE_MRC
152 default "mrc.bin"
153 help
154 The filename of the file to use as Memory Reference Code binary.
155
156config MRC_BIN_ADDRESS
157 hex
158 default 0xfffa0000
159
Arthur Heymans4d56a062018-12-22 16:11:52 +0100160# The UEFI System Agent binary needs to be at a fixed offset in the flash
161# and can therefore only reside in the COREBOOT fmap region
162config RO_REGION_ONLY
163 string
164 depends on VBOOT
165 default "mrc.bin"
166
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700167endif # HAVE_MRC
168
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700169config PRE_GRAPHICS_DELAY
170 int "Graphics initialization delay in ms"
171 default 0
172 help
173 On some systems, coreboot boots so fast that connected monitors
174 (mostly TVs) won't be able to wake up fast enough to talk to the
175 VBIOS. On those systems we need to wait for a bit before executing
176 the VBIOS.
177
178config RESET_ON_INVALID_RAMSTAGE_CACHE
179 bool "Reset the system on S3 wake when ramstage cache invalid."
180 default n
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700181 help
182 The romstage code caches the loaded ramstage program in SMM space.
183 On S3 wake the romstage will copy over a fresh ramstage that was
184 cached in the SMM space. This option determines the action to take
185 when the ramstage cache is invalid. If selected the system will
186 reset otherwise the ramstage will be reloaded from cbfs.
187
Duncan Laurie61680272014-05-05 12:42:35 -0500188config INTEL_PCH_UART_CONSOLE
189 bool "Use Serial IO UART for console"
190 default n
Martin Rothdf02c332015-07-01 23:09:42 -0600191 select DRIVERS_UART_8250MEM
Duncan Laurie61680272014-05-05 12:42:35 -0500192
193config INTEL_PCH_UART_CONSOLE_NUMBER
194 hex "Serial IO UART number to use for console"
Martin Roth3b878122016-09-30 14:43:01 -0600195 default 0x0
Duncan Laurie61680272014-05-05 12:42:35 -0500196 depends on INTEL_PCH_UART_CONSOLE
197
198config TTYS0_BASE
199 hex
200 default 0xd6000000
201 depends on INTEL_PCH_UART_CONSOLE
202
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700203config EHCI_BAR
204 hex
205 default 0xd8000000
206
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700207config 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.
Patrick Georgie6e94932015-06-22 22:26:45 +0200213
214config HAVE_REFCODE_BLOB
215 depends on ARCH_X86
216 bool "An external reference code blob should be put into cbfs."
217 default n
218 help
219 The reference code blob will be placed into cbfs.
220
221if HAVE_REFCODE_BLOB
222
223config REFCODE_BLOB_FILE
224 string "Path and filename to reference code blob."
225 default "refcode.elf"
226 help
227 The path and filename to the file to be added to cbfs.
228
229endif # HAVE_REFCODE_BLOB
230
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700231endif