1 # SPDX-License-Identifier: GPL-2.0-only
3 config NORTHBRIDGE_INTEL_HASWELL
5 select CPU_INTEL_HASWELL
6 select CACHE_MRC_SETTINGS
11 if NORTHBRIDGE_INTEL_HASWELL
13 config USE_NATIVE_RAMINIT
14 bool "[NOT WORKING] Use native raminit"
16 select HAVE_DEBUG_RAM_SETUP
18 Select if you want to use coreboot implementation of raminit rather than
19 MRC.bin. Currently incomplete and does not boot.
21 config HASWELL_VBOOT_IN_BOOTBLOCK
23 bool "Start verstage in bootblock"
25 select VBOOT_STARTS_IN_BOOTBLOCK
27 Haswell can either start verstage in a separate stage
28 right after the bootblock has run or it can start it
29 after romstage for compatibility reasons.
30 Haswell however uses a mrc.bin to initialize memory which
31 needs to be located at a fixed offset. Therefore even with
32 a separate verstage starting after the bootblock that same
33 binary is used meaning a jump is made from RW to the RO region
34 and back to the RW region after the binary is done.
36 config USE_BROADWELL_MRC
37 bool "Use Broadwell MRC.bin"
38 depends on !USE_NATIVE_RAMINIT
40 Haswell MRC.bin has several limitations: it does not support
41 Broadwell CPUs nor 9-series PCHs, it does not initialise PEG
42 ports properly and it can't use more than one SPD file entry
43 at the same time (which would be useful for memory overclock
44 when using different DIMMs, without patching SPD EEPROMs). A
45 workaround for some of these limitations is to use Broadwell
49 select VBOOT_MUST_REQUEST_DISPLAY
50 select VBOOT_STARTS_IN_ROMSTAGE if !HASWELL_VBOOT_IN_BOOTBLOCK
56 config ECAM_MMCONF_BASE_ADDRESS
59 config ECAM_MMCONF_BUS_NUMBER
63 # This number must be equal or lower than what's reported in ACPI PCI _CRS
64 config DOMAIN_RESOURCE_32BIT_LIMIT
65 default ECAM_MMCONF_BASE_ADDRESS
67 config DCACHE_RAM_BASE
71 config DCACHE_RAM_SIZE
73 default 0x40000 if USE_NATIVE_RAMINIT
76 The size of the cache-as-ram region required during bootblock
77 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
78 must add up to a power of 2.
80 config DCACHE_RAM_MRC_VAR_SIZE
82 default 0x0 if USE_NATIVE_RAMINIT
85 The amount of cache-as-ram region required by the reference code.
87 config DCACHE_BSP_STACK_SIZE
89 default 0x20000 if USE_NATIVE_RAMINIT
92 The amount of anticipated stack usage in CAR by bootblock and
96 bool "Add a System Agent binary"
97 depends on !USE_NATIVE_RAMINIT
99 Select this option to add a System Agent binary to
100 the resulting coreboot image.
102 Note: Without this binary coreboot will not work
105 string "Intel System Agent path and filename"
109 The path and filename of the file to use as System Agent
112 config HASWELL_HIDE_PEG_FROM_MRC
113 bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
114 depends on !USE_NATIVE_RAMINIT
117 If set, hides all PEG devices from MRC. This allows the iGPU
118 to be used even when a dedicated graphics card is present.
119 However, it prevents MRC from programming PEG AFE registers,
120 which can make PEG devices unstable. When unsure, choose N.
122 # The UEFI System Agent binary needs to be at a fixed offset in the flash
123 # and can therefore only reside in the COREBOOT fmap region
124 config RO_REGION_ONLY
129 config INTEL_GMA_BCLV_OFFSET
132 config ENABLE_DDR_2X_REFRESH
133 bool "Enable DRAM Refresh 2x support"
136 When enabled, the memory controller will refresh the DRAM twice as often.
137 This probably only happens when the DRAM gets hot, but what MRC exactly
138 does when this setting is enabled has not been investigated.
140 config FIXED_MCHBAR_MMIO_BASE
143 config FIXED_DMIBAR_MMIO_BASE
146 config FIXED_EPBAR_MMIO_BASE