blob: 31f47f734022f65e3ed40cb2080335c3a857b121 [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
Angel Ponsa32df262020-09-25 10:20:11 +020011 select ARCH_ALL_STAGES_X86_32
Aaron Durbine8e118d2016-08-12 15:00:10 -050012 select BOOT_DEVICE_SUPPORTS_WRITES
Duncan Lauriec88c54c2014-04-30 16:36:13 -070013 select CACHE_MRC_SETTINGS
Duncan Laurief059b242015-01-15 15:42:43 -080014 select MRC_SETTINGS_PROTECT
Sumeet R Pawnikarfa42d562020-05-08 22:18:09 +053015 select CPU_INTEL_COMMON
Duncan Lauriec88c54c2014-04-30 16:36:13 -070016 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Kyösti Mälkki4851bf22014-12-27 12:57:06 +020017 select SUPPORT_CPU_UCODE_IN_CBFS
Duncan Lauriec88c54c2014-04-30 16:36:13 -070018 select HAVE_SMI_HANDLER
Patrick Rudolph45022ae2018-10-01 19:17:11 +020019 select SOUTHBRIDGE_INTEL_COMMON_RESET
Arthur Heymans2abbe462019-06-04 14:12:01 +020020 select SOUTHBRIDGE_INTEL_COMMON_RTC
Kyösti Mälkkid1c69c62020-01-02 18:03:24 +020021 select SOUTHBRIDGE_INTEL_COMMON_SMBUS
Arthur Heymans47a66032019-10-25 23:43:14 +020022 select SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9
Duncan Lauriec88c54c2014-04-30 16:36:13 -070023 select HAVE_USBDEBUG
24 select IOAPIC
Duncan Lauriec88c54c2014-04-30 16:36:13 -070025 select REG_SCRIPT
26 select PARALLEL_MP
Aaron Durbin16246ea2016-08-05 21:23:37 -050027 select RTC
Duncan Lauriec88c54c2014-04-30 16:36:13 -070028 select SPI_FLASH
29 select SSE2
Duncan Lauriec88c54c2014-04-30 16:36:13 -070030 select TSC_SYNC_MFENCE
31 select UDELAY_TSC
Kyösti Mälkki5b15e012019-11-01 10:25:50 +020032 select TSC_MONOTONIC_TIMER
Stefan Reinauer9616f3c2015-04-29 10:45:22 -070033 select SOC_INTEL_COMMON
Sumeet R Pawnikarfa42d562020-05-08 22:18:09 +053034 select SOC_INTEL_COMMON_BLOCK
35 select SOC_INTEL_COMMON_BLOCK_CPU
36 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
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 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
Duncan Lauriec88c54c2014-04-30 16:36:13 -070043
Youness Alaouib191c9f2017-05-08 15:22:03 -040044config PCIEXP_ASPM
45 bool
46 default y
47
Youness Alaoui71616782018-05-04 15:34:06 -040048config PCIEXP_AER
49 bool
50 default y
51
Youness Alaouib191c9f2017-05-08 15:22:03 -040052config PCIEXP_COMMON_CLOCK
53 bool
54 default y
55
56config PCIEXP_CLK_PM
57 bool
58 default y
59
60config PCIEXP_L1_SUB_STATE
61 bool
62 default y
63
Arthur Heymans4d56a062018-12-22 16:11:52 +010064config BROADWELL_VBOOT_IN_BOOTBLOCK
65 depends on VBOOT
66 bool "Start verstage in bootblock"
67 default y
68 select VBOOT_STARTS_IN_BOOTBLOCK
69 select VBOOT_SEPARATE_VERSTAGE
70 help
71 Broadwell can either start verstage in a separate stage
72 right after the bootblock has run or it can start it
73 after romstage for compatibility reasons.
74 Broadwell however uses a mrc.bin to initialse memory which
75 needs to be located at a fixed offset. Therefore even with
76 a separate verstage starting after the bootblock that same
77 binary is used meaning a jump is made from RW to the RO region
78 and back to the RW region after the binary is done.
79
Julius Werner1210b412017-03-27 19:26:32 -070080config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080081 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans4d56a062018-12-22 16:11:52 +010082 select VBOOT_STARTS_IN_ROMSTAGE if !BROADWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070083
Duncan Lauriec88c54c2014-04-30 16:36:13 -070084config MMCONF_BASE_ADDRESS
85 hex
86 default 0xf0000000
87
Duncan Lauriec88c54c2014-04-30 16:36:13 -070088config SMM_TSEG_SIZE
89 hex
90 default 0x800000
91
92config IED_REGION_SIZE
93 hex
94 default 0x400000
95
96config SMM_RESERVED_SIZE
97 hex
98 default 0x100000
99
100config VGA_BIOS_ID
101 string
102 default "8086,0406"
103
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700104config DCACHE_RAM_BASE
105 hex
106 default 0xff7c0000
107
108config DCACHE_RAM_SIZE
109 hex
110 default 0x10000
111 help
112 The size of the cache-as-ram region required during bootblock
113 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
114 must add up to a power of 2.
115
116config DCACHE_RAM_MRC_VAR_SIZE
117 hex
118 default 0x30000
119 help
120 The amount of cache-as-ram region required by the reference code.
121
Arthur Heymans5bb15f12018-12-22 16:02:25 +0100122config DCACHE_BSP_STACK_SIZE
123 hex
124 default 0x2000
125 help
126 The amount of anticipated stack usage in CAR by bootblock and
127 other stages.
128
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700129config HAVE_MRC
130 bool "Add a Memory Reference Code binary"
131 help
132 Select this option to add a Memory Reference Code binary to
133 the resulting coreboot image.
134
135 Note: Without this binary coreboot will not work
136
137if HAVE_MRC
138
139config MRC_FILE
140 string "Intel Memory Reference Code path and filename"
141 depends on HAVE_MRC
142 default "mrc.bin"
143 help
144 The filename of the file to use as Memory Reference Code binary.
145
146config MRC_BIN_ADDRESS
147 hex
148 default 0xfffa0000
149
Arthur Heymans4d56a062018-12-22 16:11:52 +0100150# The UEFI System Agent binary needs to be at a fixed offset in the flash
151# and can therefore only reside in the COREBOOT fmap region
152config RO_REGION_ONLY
153 string
154 depends on VBOOT
155 default "mrc.bin"
156
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700157endif # HAVE_MRC
158
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700159config PRE_GRAPHICS_DELAY
160 int "Graphics initialization delay in ms"
161 default 0
162 help
163 On some systems, coreboot boots so fast that connected monitors
164 (mostly TVs) won't be able to wake up fast enough to talk to the
165 VBIOS. On those systems we need to wait for a bit before executing
166 the VBIOS.
167
Duncan Laurie61680272014-05-05 12:42:35 -0500168config INTEL_PCH_UART_CONSOLE
169 bool "Use Serial IO UART for console"
170 default n
Martin Rothdf02c332015-07-01 23:09:42 -0600171 select DRIVERS_UART_8250MEM
Duncan Laurie61680272014-05-05 12:42:35 -0500172
173config INTEL_PCH_UART_CONSOLE_NUMBER
174 hex "Serial IO UART number to use for console"
Martin Roth3b878122016-09-30 14:43:01 -0600175 default 0x0
Duncan Laurie61680272014-05-05 12:42:35 -0500176 depends on INTEL_PCH_UART_CONSOLE
177
178config TTYS0_BASE
179 hex
180 default 0xd6000000
181 depends on INTEL_PCH_UART_CONSOLE
182
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700183config EHCI_BAR
184 hex
185 default 0xd8000000
186
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700187config SERIRQ_CONTINUOUS_MODE
188 bool
189 default y
190 help
191 If you set this option to y, the serial IRQ machine will be
192 operated in continuous mode.
Patrick Georgie6e94932015-06-22 22:26:45 +0200193
194config HAVE_REFCODE_BLOB
195 depends on ARCH_X86
196 bool "An external reference code blob should be put into cbfs."
197 default n
198 help
199 The reference code blob will be placed into cbfs.
200
201if HAVE_REFCODE_BLOB
202
203config REFCODE_BLOB_FILE
204 string "Path and filename to reference code blob."
205 default "refcode.elf"
206 help
207 The path and filename to the file to be added to cbfs.
208
209endif # HAVE_REFCODE_BLOB
210
Duncan Lauriec88c54c2014-04-30 16:36:13 -0700211endif