blob: 952cc7b0395e79313c56e94667908ae7feffe6af [file] [log] [blame]
Elyes HAOUAS36787b02020-05-07 12:07:24 +02001# SPDX-License-Identifier: GPL-2.0-only
Aaron Durbin76c37002012-10-30 09:03:43 -05002
3config NORTHBRIDGE_INTEL_HASWELL
4 bool
Aaron Durbin76c37002012-10-30 09:03:43 -05005 select CPU_INTEL_HASWELL
Arthur Heymansf300f362018-01-27 13:39:12 +01006 select CACHE_MRC_SETTINGS
Furquan Shaikh77f48cd2013-08-19 10:16:50 -07007 select INTEL_DDI
Vladimir Serbinenkodd2bc3f2014-10-31 09:16:31 +01008 select INTEL_GMA_ACPI
Arthur Heymansd893a262018-12-19 16:54:06 +01009 select BOOTBLOCK_CONSOLE
Aaron Durbin76c37002012-10-30 09:03:43 -050010
11if NORTHBRIDGE_INTEL_HASWELL
12
Arthur Heymans77d5e742019-01-03 21:11:45 +010013config HASWELL_VBOOT_IN_BOOTBLOCK
14 depends on VBOOT
15 bool "Start verstage in bootblock"
16 default y
17 select VBOOT_STARTS_IN_BOOTBLOCK
18 select VBOOT_SEPARATE_VERSTAGE
19 help
20 Haswell can either start verstage in a separate stage
21 right after the bootblock has run or it can start it
22 after romstage for compatibility reasons.
Joel Kitching82d73e22019-04-30 13:13:40 +080023 Haswell however uses a mrc.bin to initialize memory which
Arthur Heymans77d5e742019-01-03 21:11:45 +010024 needs to be located at a fixed offset. Therefore even with
25 a separate verstage starting after the bootblock that same
26 binary is used meaning a jump is made from RW to the RO region
27 and back to the RW region after the binary is done.
28
Julius Werner1210b412017-03-27 19:26:32 -070029config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080030 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans77d5e742019-01-03 21:11:45 +010031 select VBOOT_STARTS_IN_ROMSTAGE if !HASWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070032
Aaron Durbin76c37002012-10-30 09:03:43 -050033config VGA_BIOS_ID
34 string
35 default "8086,0166"
36
Elyes HAOUASef169d62018-09-14 10:28:52 +020037config MMCONF_BASE_ADDRESS
38 hex
39 default 0xf0000000
40
Aaron Durbin76c37002012-10-30 09:03:43 -050041config DCACHE_RAM_BASE
42 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060043 default 0xff7c0000
Aaron Durbin76c37002012-10-30 09:03:43 -050044
45config DCACHE_RAM_SIZE
46 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060047 default 0x10000
48 help
49 The size of the cache-as-ram region required during bootblock
50 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
51 must add up to a power of 2.
Aaron Durbin76c37002012-10-30 09:03:43 -050052
53config DCACHE_RAM_MRC_VAR_SIZE
54 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060055 default 0x30000
56 help
57 The amount of cache-as-ram region required by the reference code.
58
Arthur Heymans8e646e72018-06-05 11:19:22 +020059config DCACHE_BSP_STACK_SIZE
60 hex
61 default 0x2000
62 help
63 The amount of anticipated stack usage in CAR by bootblock and
64 other stages.
65
Aaron Durbin76c37002012-10-30 09:03:43 -050066config HAVE_MRC
67 bool "Add a System Agent binary"
68 help
69 Select this option to add a System Agent binary to
70 the resulting coreboot image.
71
72 Note: Without this binary coreboot will not work
73
74config MRC_FILE
75 string "Intel System Agent path and filename"
76 depends on HAVE_MRC
77 default "mrc.bin"
78 help
79 The path and filename of the file to use as System Agent
80 binary.
81
Stefan Reinauerf1aabec2014-01-22 15:16:30 -080082config PRE_GRAPHICS_DELAY
Stefan Reinauer7034b9e2014-02-11 16:18:07 -080083 int "Graphics initialization delay in ms"
Stefan Reinauerf1aabec2014-01-22 15:16:30 -080084 default 0
85 help
86 On some systems, coreboot boots so fast that connected monitors
87 (mostly TVs) won't be able to wake up fast enough to talk to the
88 VBIOS. On those systems we need to wait for a bit before executing
89 the VBIOS.
90
Arthur Heymans77d5e742019-01-03 21:11:45 +010091# The UEFI System Agent binary needs to be at a fixed offset in the flash
92# and can therefore only reside in the COREBOOT fmap region
93config RO_REGION_ONLY
94 string
95 depends on VBOOT
96 default "mrc.bin"
97
Nico Huber612a8672019-02-19 19:11:29 +010098config INTEL_GMA_BCLV_OFFSET
99 default 0x48254
100
Angel Pons1be9f582020-07-03 21:31:17 +0200101config ENABLE_DDR_2X_REFRESH
102 bool "Enable DRAM Refresh 2x support"
103 default n
104 help
105 When enabled, the memory controller will refresh the DRAM twice as often.
106 This probably only happens when the DRAM gets hot, but what MRC exactly
107 does when this setting is enabled has not been investigated.
108
Aaron Durbin76c37002012-10-30 09:03:43 -0500109endif