blob: 06c999924549f115bd2641875bc42c93b7708bb2 [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
Julius Werner1210b412017-03-27 19:26:32 -070040config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080041 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans77d5e742019-01-03 21:11:45 +010042 select VBOOT_STARTS_IN_ROMSTAGE if !HASWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070043
Aaron Durbin76c37002012-10-30 09:03:43 -050044config VGA_BIOS_ID
45 string
46 default "8086,0166"
47
Shelley Chen4e9bb332021-10-20 15:43:45 -070048config ECAM_MMCONF_BASE_ADDRESS
Elyes HAOUASef169d62018-09-14 10:28:52 +020049 default 0xf0000000
50
Shelley Chen4e9bb332021-10-20 15:43:45 -070051config ECAM_MMCONF_BUS_NUMBER
Angel Pons32770f82021-01-20 15:03:30 +010052 int
53 default 64
54
Aaron Durbin76c37002012-10-30 09:03:43 -050055config DCACHE_RAM_BASE
56 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060057 default 0xff7c0000
Aaron Durbin76c37002012-10-30 09:03:43 -050058
59config DCACHE_RAM_SIZE
60 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020061 default 0x40000 if USE_NATIVE_RAMINIT
Aaron Durbin3d0071b2013-01-18 14:32:50 -060062 default 0x10000
63 help
64 The size of the cache-as-ram region required during bootblock
65 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
66 must add up to a power of 2.
Aaron Durbin76c37002012-10-30 09:03:43 -050067
68config DCACHE_RAM_MRC_VAR_SIZE
69 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020070 default 0x0 if USE_NATIVE_RAMINIT
Aaron Durbin3d0071b2013-01-18 14:32:50 -060071 default 0x30000
72 help
73 The amount of cache-as-ram region required by the reference code.
74
Arthur Heymans8e646e72018-06-05 11:19:22 +020075config DCACHE_BSP_STACK_SIZE
76 hex
Angel Pons9fdd5572022-05-06 21:12:14 +020077 default 0x20000 if USE_NATIVE_RAMINIT
Arthur Heymans8e646e72018-06-05 11:19:22 +020078 default 0x2000
79 help
80 The amount of anticipated stack usage in CAR by bootblock and
81 other stages.
82
Aaron Durbin76c37002012-10-30 09:03:43 -050083config HAVE_MRC
84 bool "Add a System Agent binary"
Angel Pons9fdd5572022-05-06 21:12:14 +020085 depends on !USE_NATIVE_RAMINIT
Aaron Durbin76c37002012-10-30 09:03:43 -050086 help
87 Select this option to add a System Agent binary to
88 the resulting coreboot image.
89
90 Note: Without this binary coreboot will not work
91
92config MRC_FILE
93 string "Intel System Agent path and filename"
94 depends on HAVE_MRC
95 default "mrc.bin"
96 help
97 The path and filename of the file to use as System Agent
98 binary.
99
Angel Pons84641c82020-08-29 02:52:09 +0200100config HASWELL_HIDE_PEG_FROM_MRC
101 bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
Angel Pons9fdd5572022-05-06 21:12:14 +0200102 depends on !USE_NATIVE_RAMINIT
Angel Pons84641c82020-08-29 02:52:09 +0200103 default y
104 help
105 If set, hides all PEG devices from MRC. This allows the iGPU
106 to be used even when a dedicated graphics card is present.
107 However, it prevents MRC from programming PEG AFE registers,
108 which can make PEG devices unstable. When unsure, choose N.
109
Arthur Heymans77d5e742019-01-03 21:11:45 +0100110# The UEFI System Agent binary needs to be at a fixed offset in the flash
111# and can therefore only reside in the COREBOOT fmap region
112config RO_REGION_ONLY
113 string
114 depends on VBOOT
115 default "mrc.bin"
116
Nico Huber612a8672019-02-19 19:11:29 +0100117config INTEL_GMA_BCLV_OFFSET
118 default 0x48254
119
Angel Pons1be9f582020-07-03 21:31:17 +0200120config ENABLE_DDR_2X_REFRESH
121 bool "Enable DRAM Refresh 2x support"
122 default n
123 help
124 When enabled, the memory controller will refresh the DRAM twice as often.
125 This probably only happens when the DRAM gets hot, but what MRC exactly
126 does when this setting is enabled has not been investigated.
127
Angel Ponsf95b9b42021-01-20 01:10:48 +0100128config FIXED_MCHBAR_MMIO_BASE
129 default 0xfed10000
130
131config FIXED_DMIBAR_MMIO_BASE
132 default 0xfed18000
133
134config FIXED_EPBAR_MMIO_BASE
135 default 0xfed19000
136
Aaron Durbin76c37002012-10-30 09:03:43 -0500137endif