blob: d1c9ec20fc68e96b0c62b065bb143d0418f2d7c5 [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 NO_DDR5
10 select NO_LPDDR4
11 select NO_DDR2
12 select NO_DDR4
13 select USE_DDR3
Aaron Durbin76c37002012-10-30 09:03:43 -050014
15if NORTHBRIDGE_INTEL_HASWELL
16
Angel Pons9fdd5572022-05-06 21:12:14 +020017config USE_NATIVE_RAMINIT
18 bool "[NOT WORKING] Use native raminit"
19 default n
20 select HAVE_DEBUG_RAM_SETUP
21 help
22 Select if you want to use coreboot implementation of raminit rather than
23 MRC.bin. Currently incomplete and does not boot.
24
Arthur Heymans77d5e742019-01-03 21:11:45 +010025config HASWELL_VBOOT_IN_BOOTBLOCK
26 depends on VBOOT
27 bool "Start verstage in bootblock"
28 default y
29 select VBOOT_STARTS_IN_BOOTBLOCK
Arthur Heymans77d5e742019-01-03 21:11:45 +010030 help
31 Haswell can either start verstage in a separate stage
32 right after the bootblock has run or it can start it
33 after romstage for compatibility reasons.
Joel Kitching82d73e22019-04-30 13:13:40 +080034 Haswell however uses a mrc.bin to initialize memory which
Arthur Heymans77d5e742019-01-03 21:11:45 +010035 needs to be located at a fixed offset. Therefore even with
36 a separate verstage starting after the bootblock that same
37 binary is used meaning a jump is made from RW to the RO region
38 and back to the RW region after the binary is done.
39
Angel Pons6c42d142021-06-14 13:53:44 +020040config USE_BROADWELL_MRC
41 bool "Use Broadwell MRC.bin"
42 depends on !USE_NATIVE_RAMINIT
43 help
44 Haswell MRC.bin has several limitations: it does not support
45 Broadwell CPUs nor 9-series PCHs, it does not initialise PEG
46 ports properly and it can't use more than one SPD file entry
47 at the same time (which would be useful for memory overclock
48 when using different DIMMs, without patching SPD EEPROMs). A
49 workaround for some of these limitations is to use Broadwell
50 MRC.bin instead.
51
Julius Werner1210b412017-03-27 19:26:32 -070052config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080053 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans77d5e742019-01-03 21:11:45 +010054 select VBOOT_STARTS_IN_ROMSTAGE if !HASWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070055
Aaron Durbin76c37002012-10-30 09:03:43 -050056config VGA_BIOS_ID
57 string
58 default "8086,0166"
59
Shelley Chen4e9bb332021-10-20 15:43:45 -070060config ECAM_MMCONF_BASE_ADDRESS
Elyes HAOUASef169d62018-09-14 10:28:52 +020061 default 0xf0000000
62
Shelley Chen4e9bb332021-10-20 15:43:45 -070063config ECAM_MMCONF_BUS_NUMBER
Angel Pons32770f82021-01-20 15:03:30 +010064 int
65 default 64
66
Aaron Durbin76c37002012-10-30 09:03:43 -050067config DCACHE_RAM_BASE
68 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060069 default 0xff7c0000
Aaron Durbin76c37002012-10-30 09:03:43 -050070
71config DCACHE_RAM_SIZE
72 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020073 default 0x40000 if USE_NATIVE_RAMINIT
Aaron Durbin3d0071b2013-01-18 14:32:50 -060074 default 0x10000
75 help
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.
Aaron Durbin76c37002012-10-30 09:03:43 -050079
80config DCACHE_RAM_MRC_VAR_SIZE
81 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020082 default 0x0 if USE_NATIVE_RAMINIT
Aaron Durbin3d0071b2013-01-18 14:32:50 -060083 default 0x30000
84 help
85 The amount of cache-as-ram region required by the reference code.
86
Arthur Heymans8e646e72018-06-05 11:19:22 +020087config DCACHE_BSP_STACK_SIZE
88 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020089 default 0x20000 if USE_NATIVE_RAMINIT
Arthur Heymans8e646e72018-06-05 11:19:22 +020090 default 0x2000
91 help
92 The amount of anticipated stack usage in CAR by bootblock and
93 other stages.
94
Aaron Durbin76c37002012-10-30 09:03:43 -050095config HAVE_MRC
96 bool "Add a System Agent binary"
Angel Pons9fdd5572022-05-06 21:12:14 +020097 depends on !USE_NATIVE_RAMINIT
Aaron Durbin76c37002012-10-30 09:03:43 -050098 help
99 Select this option to add a System Agent binary to
100 the resulting coreboot image.
101
102 Note: Without this binary coreboot will not work
103
104config MRC_FILE
105 string "Intel System Agent path and filename"
106 depends on HAVE_MRC
107 default "mrc.bin"
108 help
109 The path and filename of the file to use as System Agent
110 binary.
111
Angel Pons84641c82020-08-29 02:52:09 +0200112config HASWELL_HIDE_PEG_FROM_MRC
113 bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
Angel Pons9fdd5572022-05-06 21:12:14 +0200114 depends on !USE_NATIVE_RAMINIT
Angel Pons84641c82020-08-29 02:52:09 +0200115 default y
116 help
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.
121
Arthur Heymans77d5e742019-01-03 21:11:45 +0100122# 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
124config RO_REGION_ONLY
125 string
126 depends on VBOOT
127 default "mrc.bin"
128
Nico Huber612a8672019-02-19 19:11:29 +0100129config INTEL_GMA_BCLV_OFFSET
130 default 0x48254
131
Angel Pons1be9f582020-07-03 21:31:17 +0200132config ENABLE_DDR_2X_REFRESH
133 bool "Enable DRAM Refresh 2x support"
134 default n
135 help
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.
139
Angel Ponsf95b9b42021-01-20 01:10:48 +0100140config FIXED_MCHBAR_MMIO_BASE
141 default 0xfed10000
142
143config FIXED_DMIBAR_MMIO_BASE
144 default 0xfed18000
145
146config FIXED_EPBAR_MMIO_BASE
147 default 0xfed19000
148
Aaron Durbin76c37002012-10-30 09:03:43 -0500149endif