blob: 04ab373ce2308d262b0ec0a0b5c030f89440afc9 [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
37 hex
38 default 0xf0000000
39
Aaron Durbin76c37002012-10-30 09:03:43 -050040config DCACHE_RAM_BASE
41 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060042 default 0xff7c0000
Aaron Durbin76c37002012-10-30 09:03:43 -050043
44config DCACHE_RAM_SIZE
45 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060046 default 0x10000
47 help
48 The size of the cache-as-ram region required during bootblock
49 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
50 must add up to a power of 2.
Aaron Durbin76c37002012-10-30 09:03:43 -050051
52config DCACHE_RAM_MRC_VAR_SIZE
53 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060054 default 0x30000
55 help
56 The amount of cache-as-ram region required by the reference code.
57
Arthur Heymans8e646e72018-06-05 11:19:22 +020058config DCACHE_BSP_STACK_SIZE
59 hex
60 default 0x2000
61 help
62 The amount of anticipated stack usage in CAR by bootblock and
63 other stages.
64
Aaron Durbin76c37002012-10-30 09:03:43 -050065config HAVE_MRC
66 bool "Add a System Agent binary"
67 help
68 Select this option to add a System Agent binary to
69 the resulting coreboot image.
70
71 Note: Without this binary coreboot will not work
72
73config MRC_FILE
74 string "Intel System Agent path and filename"
75 depends on HAVE_MRC
76 default "mrc.bin"
77 help
78 The path and filename of the file to use as System Agent
79 binary.
80
Angel Pons84641c82020-08-29 02:52:09 +020081config HASWELL_HIDE_PEG_FROM_MRC
82 bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
83 default y
84 help
85 If set, hides all PEG devices from MRC. This allows the iGPU
86 to be used even when a dedicated graphics card is present.
87 However, it prevents MRC from programming PEG AFE registers,
88 which can make PEG devices unstable. When unsure, choose N.
89
Stefan Reinauerf1aabec2014-01-22 15:16:30 -080090config PRE_GRAPHICS_DELAY
Stefan Reinauer7034b9e2014-02-11 16:18:07 -080091 int "Graphics initialization delay in ms"
Stefan Reinauerf1aabec2014-01-22 15:16:30 -080092 default 0
93 help
94 On some systems, coreboot boots so fast that connected monitors
95 (mostly TVs) won't be able to wake up fast enough to talk to the
96 VBIOS. On those systems we need to wait for a bit before executing
97 the VBIOS.
98
Arthur Heymans77d5e742019-01-03 21:11:45 +010099# The UEFI System Agent binary needs to be at a fixed offset in the flash
100# and can therefore only reside in the COREBOOT fmap region
101config RO_REGION_ONLY
102 string
103 depends on VBOOT
104 default "mrc.bin"
105
Nico Huber612a8672019-02-19 19:11:29 +0100106config INTEL_GMA_BCLV_OFFSET
107 default 0x48254
108
Angel Pons1be9f582020-07-03 21:31:17 +0200109config ENABLE_DDR_2X_REFRESH
110 bool "Enable DRAM Refresh 2x support"
111 default n
112 help
113 When enabled, the memory controller will refresh the DRAM twice as often.
114 This probably only happens when the DRAM gets hot, but what MRC exactly
115 does when this setting is enabled has not been investigated.
116
Aaron Durbin76c37002012-10-30 09:03:43 -0500117endif