blob: 28b7551e814e553b338e7bae0c6fcf7843c2bece [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
Aaron Durbin76c37002012-10-30 09:03:43 -05009
10if NORTHBRIDGE_INTEL_HASWELL
11
Arthur Heymans77d5e742019-01-03 21:11:45 +010012config HASWELL_VBOOT_IN_BOOTBLOCK
13 depends on VBOOT
14 bool "Start verstage in bootblock"
15 default y
16 select VBOOT_STARTS_IN_BOOTBLOCK
17 select VBOOT_SEPARATE_VERSTAGE
18 help
19 Haswell can either start verstage in a separate stage
20 right after the bootblock has run or it can start it
21 after romstage for compatibility reasons.
Joel Kitching82d73e22019-04-30 13:13:40 +080022 Haswell however uses a mrc.bin to initialize memory which
Arthur Heymans77d5e742019-01-03 21:11:45 +010023 needs to be located at a fixed offset. Therefore even with
24 a separate verstage starting after the bootblock that same
25 binary is used meaning a jump is made from RW to the RO region
26 and back to the RW region after the binary is done.
27
Julius Werner1210b412017-03-27 19:26:32 -070028config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080029 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans77d5e742019-01-03 21:11:45 +010030 select VBOOT_STARTS_IN_ROMSTAGE if !HASWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070031
Aaron Durbin76c37002012-10-30 09:03:43 -050032config VGA_BIOS_ID
33 string
34 default "8086,0166"
35
Elyes HAOUASef169d62018-09-14 10:28:52 +020036config MMCONF_BASE_ADDRESS
Elyes HAOUASef169d62018-09-14 10:28:52 +020037 default 0xf0000000
38
Angel Pons32770f82021-01-20 15:03:30 +010039config MMCONF_BUS_NUMBER
40 int
41 default 64
42
Aaron Durbin76c37002012-10-30 09:03:43 -050043config DCACHE_RAM_BASE
44 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060045 default 0xff7c0000
Aaron Durbin76c37002012-10-30 09:03:43 -050046
47config DCACHE_RAM_SIZE
48 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060049 default 0x10000
50 help
51 The size of the cache-as-ram region required during bootblock
52 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
53 must add up to a power of 2.
Aaron Durbin76c37002012-10-30 09:03:43 -050054
55config DCACHE_RAM_MRC_VAR_SIZE
56 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060057 default 0x30000
58 help
59 The amount of cache-as-ram region required by the reference code.
60
Arthur Heymans8e646e72018-06-05 11:19:22 +020061config DCACHE_BSP_STACK_SIZE
62 hex
63 default 0x2000
64 help
65 The amount of anticipated stack usage in CAR by bootblock and
66 other stages.
67
Aaron Durbin76c37002012-10-30 09:03:43 -050068config HAVE_MRC
69 bool "Add a System Agent binary"
70 help
71 Select this option to add a System Agent binary to
72 the resulting coreboot image.
73
74 Note: Without this binary coreboot will not work
75
76config MRC_FILE
77 string "Intel System Agent path and filename"
78 depends on HAVE_MRC
79 default "mrc.bin"
80 help
81 The path and filename of the file to use as System Agent
82 binary.
83
Angel Pons84641c82020-08-29 02:52:09 +020084config HASWELL_HIDE_PEG_FROM_MRC
85 bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
86 default y
87 help
88 If set, hides all PEG devices from MRC. This allows the iGPU
89 to be used even when a dedicated graphics card is present.
90 However, it prevents MRC from programming PEG AFE registers,
91 which can make PEG devices unstable. When unsure, choose N.
92
Stefan Reinauerf1aabec2014-01-22 15:16:30 -080093config PRE_GRAPHICS_DELAY
Stefan Reinauer7034b9e2014-02-11 16:18:07 -080094 int "Graphics initialization delay in ms"
Stefan Reinauerf1aabec2014-01-22 15:16:30 -080095 default 0
96 help
97 On some systems, coreboot boots so fast that connected monitors
98 (mostly TVs) won't be able to wake up fast enough to talk to the
99 VBIOS. On those systems we need to wait for a bit before executing
100 the VBIOS.
101
Arthur Heymans77d5e742019-01-03 21:11:45 +0100102# The UEFI System Agent binary needs to be at a fixed offset in the flash
103# and can therefore only reside in the COREBOOT fmap region
104config RO_REGION_ONLY
105 string
106 depends on VBOOT
107 default "mrc.bin"
108
Nico Huber612a8672019-02-19 19:11:29 +0100109config INTEL_GMA_BCLV_OFFSET
110 default 0x48254
111
Angel Pons1be9f582020-07-03 21:31:17 +0200112config ENABLE_DDR_2X_REFRESH
113 bool "Enable DRAM Refresh 2x support"
114 default n
115 help
116 When enabled, the memory controller will refresh the DRAM twice as often.
117 This probably only happens when the DRAM gets hot, but what MRC exactly
118 does when this setting is enabled has not been investigated.
119
Aaron Durbin76c37002012-10-30 09:03:43 -0500120endif