blob: 4b83a25bc14326a061ad987982842e962c3235ef [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
Elyes Haouas06545e02022-12-31 07:55:58 +01009 select USE_DDR3
Aaron Durbin76c37002012-10-30 09:03:43 -050010
11if NORTHBRIDGE_INTEL_HASWELL
12
Angel Pons9fdd5572022-05-06 21:12:14 +020013config USE_NATIVE_RAMINIT
14 bool "[NOT WORKING] Use native raminit"
15 default n
16 select HAVE_DEBUG_RAM_SETUP
17 help
18 Select if you want to use coreboot implementation of raminit rather than
19 MRC.bin. Currently incomplete and does not boot.
20
Arthur Heymans77d5e742019-01-03 21:11:45 +010021config HASWELL_VBOOT_IN_BOOTBLOCK
22 depends on VBOOT
23 bool "Start verstage in bootblock"
24 default y
25 select VBOOT_STARTS_IN_BOOTBLOCK
Arthur Heymans77d5e742019-01-03 21:11:45 +010026 help
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.
Joel Kitching82d73e22019-04-30 13:13:40 +080030 Haswell however uses a mrc.bin to initialize memory which
Arthur Heymans77d5e742019-01-03 21:11:45 +010031 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.
35
Angel Pons6c42d142021-06-14 13:53:44 +020036config USE_BROADWELL_MRC
37 bool "Use Broadwell MRC.bin"
38 depends on !USE_NATIVE_RAMINIT
39 help
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
46 MRC.bin instead.
47
Julius Werner1210b412017-03-27 19:26:32 -070048config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080049 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans77d5e742019-01-03 21:11:45 +010050 select VBOOT_STARTS_IN_ROMSTAGE if !HASWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070051
Aaron Durbin76c37002012-10-30 09:03:43 -050052config VGA_BIOS_ID
53 string
54 default "8086,0166"
55
Shelley Chen4e9bb332021-10-20 15:43:45 -070056config ECAM_MMCONF_BASE_ADDRESS
Elyes HAOUASef169d62018-09-14 10:28:52 +020057 default 0xf0000000
58
Shelley Chen4e9bb332021-10-20 15:43:45 -070059config ECAM_MMCONF_BUS_NUMBER
Angel Pons32770f82021-01-20 15:03:30 +010060 int
61 default 64
62
Aaron Durbin76c37002012-10-30 09:03:43 -050063config DCACHE_RAM_BASE
64 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060065 default 0xff7c0000
Aaron Durbin76c37002012-10-30 09:03:43 -050066
67config DCACHE_RAM_SIZE
68 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020069 default 0x40000 if USE_NATIVE_RAMINIT
Aaron Durbin3d0071b2013-01-18 14:32:50 -060070 default 0x10000
71 help
72 The size of the cache-as-ram region required during bootblock
73 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
74 must add up to a power of 2.
Aaron Durbin76c37002012-10-30 09:03:43 -050075
76config DCACHE_RAM_MRC_VAR_SIZE
77 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020078 default 0x0 if USE_NATIVE_RAMINIT
Aaron Durbin3d0071b2013-01-18 14:32:50 -060079 default 0x30000
80 help
81 The amount of cache-as-ram region required by the reference code.
82
Arthur Heymans8e646e72018-06-05 11:19:22 +020083config DCACHE_BSP_STACK_SIZE
84 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020085 default 0x20000 if USE_NATIVE_RAMINIT
Arthur Heymans8e646e72018-06-05 11:19:22 +020086 default 0x2000
87 help
88 The amount of anticipated stack usage in CAR by bootblock and
89 other stages.
90
Aaron Durbin76c37002012-10-30 09:03:43 -050091config HAVE_MRC
92 bool "Add a System Agent binary"
Angel Pons9fdd5572022-05-06 21:12:14 +020093 depends on !USE_NATIVE_RAMINIT
Aaron Durbin76c37002012-10-30 09:03:43 -050094 help
95 Select this option to add a System Agent binary to
96 the resulting coreboot image.
97
98 Note: Without this binary coreboot will not work
99
100config MRC_FILE
101 string "Intel System Agent path and filename"
102 depends on HAVE_MRC
103 default "mrc.bin"
104 help
105 The path and filename of the file to use as System Agent
106 binary.
107
Angel Pons84641c82020-08-29 02:52:09 +0200108config HASWELL_HIDE_PEG_FROM_MRC
109 bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
Angel Pons9fdd5572022-05-06 21:12:14 +0200110 depends on !USE_NATIVE_RAMINIT
Angel Pons84641c82020-08-29 02:52:09 +0200111 default y
112 help
113 If set, hides all PEG devices from MRC. This allows the iGPU
114 to be used even when a dedicated graphics card is present.
115 However, it prevents MRC from programming PEG AFE registers,
116 which can make PEG devices unstable. When unsure, choose N.
117
Arthur Heymans77d5e742019-01-03 21:11:45 +0100118# The UEFI System Agent binary needs to be at a fixed offset in the flash
119# and can therefore only reside in the COREBOOT fmap region
120config RO_REGION_ONLY
121 string
122 depends on VBOOT
123 default "mrc.bin"
124
Nico Huber612a8672019-02-19 19:11:29 +0100125config INTEL_GMA_BCLV_OFFSET
126 default 0x48254
127
Angel Pons1be9f582020-07-03 21:31:17 +0200128config ENABLE_DDR_2X_REFRESH
129 bool "Enable DRAM Refresh 2x support"
130 default n
131 help
132 When enabled, the memory controller will refresh the DRAM twice as often.
133 This probably only happens when the DRAM gets hot, but what MRC exactly
134 does when this setting is enabled has not been investigated.
135
Angel Ponsf95b9b42021-01-20 01:10:48 +0100136config FIXED_MCHBAR_MMIO_BASE
137 default 0xfed10000
138
139config FIXED_DMIBAR_MMIO_BASE
140 default 0xfed18000
141
142config FIXED_EPBAR_MMIO_BASE
143 default 0xfed19000
144
Aaron Durbin76c37002012-10-30 09:03:43 -0500145endif