blob: b659bf6d9859496909b2e42af40843a654bf2740 [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
Angel Pons9fdd5572022-05-06 21:12:14 +020012config USE_NATIVE_RAMINIT
13 bool "[NOT WORKING] Use native raminit"
14 default n
15 select HAVE_DEBUG_RAM_SETUP
16 help
17 Select if you want to use coreboot implementation of raminit rather than
18 MRC.bin. Currently incomplete and does not boot.
19
Arthur Heymans77d5e742019-01-03 21:11:45 +010020config HASWELL_VBOOT_IN_BOOTBLOCK
21 depends on VBOOT
22 bool "Start verstage in bootblock"
23 default y
24 select VBOOT_STARTS_IN_BOOTBLOCK
Arthur Heymans77d5e742019-01-03 21:11:45 +010025 help
26 Haswell can either start verstage in a separate stage
27 right after the bootblock has run or it can start it
28 after romstage for compatibility reasons.
Joel Kitching82d73e22019-04-30 13:13:40 +080029 Haswell however uses a mrc.bin to initialize memory which
Arthur Heymans77d5e742019-01-03 21:11:45 +010030 needs to be located at a fixed offset. Therefore even with
31 a separate verstage starting after the bootblock that same
32 binary is used meaning a jump is made from RW to the RO region
33 and back to the RW region after the binary is done.
34
Julius Werner1210b412017-03-27 19:26:32 -070035config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080036 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans77d5e742019-01-03 21:11:45 +010037 select VBOOT_STARTS_IN_ROMSTAGE if !HASWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070038
Aaron Durbin76c37002012-10-30 09:03:43 -050039config VGA_BIOS_ID
40 string
41 default "8086,0166"
42
Shelley Chen4e9bb332021-10-20 15:43:45 -070043config ECAM_MMCONF_BASE_ADDRESS
Elyes HAOUASef169d62018-09-14 10:28:52 +020044 default 0xf0000000
45
Shelley Chen4e9bb332021-10-20 15:43:45 -070046config ECAM_MMCONF_BUS_NUMBER
Angel Pons32770f82021-01-20 15:03:30 +010047 int
48 default 64
49
Aaron Durbin76c37002012-10-30 09:03:43 -050050config DCACHE_RAM_BASE
51 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060052 default 0xff7c0000
Aaron Durbin76c37002012-10-30 09:03:43 -050053
54config DCACHE_RAM_SIZE
55 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020056 default 0x40000 if USE_NATIVE_RAMINIT
Aaron Durbin3d0071b2013-01-18 14:32:50 -060057 default 0x10000
58 help
59 The size of the cache-as-ram region required during bootblock
60 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
61 must add up to a power of 2.
Aaron Durbin76c37002012-10-30 09:03:43 -050062
63config DCACHE_RAM_MRC_VAR_SIZE
64 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020065 default 0x0 if USE_NATIVE_RAMINIT
Aaron Durbin3d0071b2013-01-18 14:32:50 -060066 default 0x30000
67 help
68 The amount of cache-as-ram region required by the reference code.
69
Arthur Heymans8e646e72018-06-05 11:19:22 +020070config DCACHE_BSP_STACK_SIZE
71 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020072 default 0x20000 if USE_NATIVE_RAMINIT
Arthur Heymans8e646e72018-06-05 11:19:22 +020073 default 0x2000
74 help
75 The amount of anticipated stack usage in CAR by bootblock and
76 other stages.
77
Aaron Durbin76c37002012-10-30 09:03:43 -050078config HAVE_MRC
79 bool "Add a System Agent binary"
Angel Pons9fdd5572022-05-06 21:12:14 +020080 depends on !USE_NATIVE_RAMINIT
Aaron Durbin76c37002012-10-30 09:03:43 -050081 help
82 Select this option to add a System Agent binary to
83 the resulting coreboot image.
84
85 Note: Without this binary coreboot will not work
86
87config MRC_FILE
88 string "Intel System Agent path and filename"
89 depends on HAVE_MRC
90 default "mrc.bin"
91 help
92 The path and filename of the file to use as System Agent
93 binary.
94
Angel Pons84641c82020-08-29 02:52:09 +020095config HASWELL_HIDE_PEG_FROM_MRC
96 bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
Angel Pons9fdd5572022-05-06 21:12:14 +020097 depends on !USE_NATIVE_RAMINIT
Angel Pons84641c82020-08-29 02:52:09 +020098 default y
99 help
100 If set, hides all PEG devices from MRC. This allows the iGPU
101 to be used even when a dedicated graphics card is present.
102 However, it prevents MRC from programming PEG AFE registers,
103 which can make PEG devices unstable. When unsure, choose N.
104
Arthur Heymans77d5e742019-01-03 21:11:45 +0100105# The UEFI System Agent binary needs to be at a fixed offset in the flash
106# and can therefore only reside in the COREBOOT fmap region
107config RO_REGION_ONLY
108 string
109 depends on VBOOT
110 default "mrc.bin"
111
Nico Huber612a8672019-02-19 19:11:29 +0100112config INTEL_GMA_BCLV_OFFSET
113 default 0x48254
114
Angel Pons1be9f582020-07-03 21:31:17 +0200115config ENABLE_DDR_2X_REFRESH
116 bool "Enable DRAM Refresh 2x support"
117 default n
118 help
119 When enabled, the memory controller will refresh the DRAM twice as often.
120 This probably only happens when the DRAM gets hot, but what MRC exactly
121 does when this setting is enabled has not been investigated.
122
Angel Ponsf95b9b42021-01-20 01:10:48 +0100123config FIXED_MCHBAR_MMIO_BASE
124 default 0xfed10000
125
126config FIXED_DMIBAR_MMIO_BASE
127 default 0xfed18000
128
129config FIXED_EPBAR_MMIO_BASE
130 default 0xfed19000
131
Aaron Durbin76c37002012-10-30 09:03:43 -0500132endif