blob: e3f9aec266f885901b6c5232d09658de764841b5 [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
Arthur Heymans77d5e742019-01-03 21:11:45 +010012config HASWELL_VBOOT_IN_BOOTBLOCK
13 depends on VBOOT
14 bool "Start verstage in bootblock"
15 default y
16 select VBOOT_STARTS_IN_BOOTBLOCK
17 select VBOOT_SEPARATE_VERSTAGE
18 help
19 Haswell can either start verstage in a separate stage
20 right after the bootblock has run or it can start it
21 after romstage for compatibility reasons.
Joel Kitching82d73e22019-04-30 13:13:40 +080022 Haswell however uses a mrc.bin to initialize memory which
Arthur Heymans77d5e742019-01-03 21:11:45 +010023 needs to be located at a fixed offset. Therefore even with
24 a separate verstage starting after the bootblock that same
25 binary is used meaning a jump is made from RW to the RO region
26 and back to the RW region after the binary is done.
27
Julius Werner1210b412017-03-27 19:26:32 -070028config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080029 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans77d5e742019-01-03 21:11:45 +010030 select VBOOT_STARTS_IN_ROMSTAGE if !HASWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070031
Aaron Durbin76c37002012-10-30 09:03:43 -050032config VGA_BIOS_ID
33 string
34 default "8086,0166"
35
Elyes HAOUASef169d62018-09-14 10:28:52 +020036config MMCONF_BASE_ADDRESS
Elyes HAOUASef169d62018-09-14 10:28:52 +020037 default 0xf0000000
38
Angel Pons32770f82021-01-20 15:03:30 +010039config MMCONF_BUS_NUMBER
40 int
41 default 64
42
Aaron Durbin76c37002012-10-30 09:03:43 -050043config DCACHE_RAM_BASE
44 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060045 default 0xff7c0000
Aaron Durbin76c37002012-10-30 09:03:43 -050046
47config DCACHE_RAM_SIZE
48 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060049 default 0x10000
50 help
51 The size of the cache-as-ram region required during bootblock
52 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
53 must add up to a power of 2.
Aaron Durbin76c37002012-10-30 09:03:43 -050054
55config DCACHE_RAM_MRC_VAR_SIZE
56 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060057 default 0x30000
58 help
59 The amount of cache-as-ram region required by the reference code.
60
Arthur Heymans8e646e72018-06-05 11:19:22 +020061config DCACHE_BSP_STACK_SIZE
62 hex
63 default 0x2000
64 help
65 The amount of anticipated stack usage in CAR by bootblock and
66 other stages.
67
Aaron Durbin76c37002012-10-30 09:03:43 -050068config HAVE_MRC
69 bool "Add a System Agent binary"
70 help
71 Select this option to add a System Agent binary to
72 the resulting coreboot image.
73
74 Note: Without this binary coreboot will not work
75
76config MRC_FILE
77 string "Intel System Agent path and filename"
78 depends on HAVE_MRC
79 default "mrc.bin"
80 help
81 The path and filename of the file to use as System Agent
82 binary.
83
Angel Pons84641c82020-08-29 02:52:09 +020084config HASWELL_HIDE_PEG_FROM_MRC
85 bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
86 default y
87 help
88 If set, hides all PEG devices from MRC. This allows the iGPU
89 to be used even when a dedicated graphics card is present.
90 However, it prevents MRC from programming PEG AFE registers,
91 which can make PEG devices unstable. When unsure, choose N.
92
Arthur Heymans77d5e742019-01-03 21:11:45 +010093# The UEFI System Agent binary needs to be at a fixed offset in the flash
94# and can therefore only reside in the COREBOOT fmap region
95config RO_REGION_ONLY
96 string
97 depends on VBOOT
98 default "mrc.bin"
99
Nico Huber612a8672019-02-19 19:11:29 +0100100config INTEL_GMA_BCLV_OFFSET
101 default 0x48254
102
Angel Pons1be9f582020-07-03 21:31:17 +0200103config ENABLE_DDR_2X_REFRESH
104 bool "Enable DRAM Refresh 2x support"
105 default n
106 help
107 When enabled, the memory controller will refresh the DRAM twice as often.
108 This probably only happens when the DRAM gets hot, but what MRC exactly
109 does when this setting is enabled has not been investigated.
110
Angel Ponsf95b9b42021-01-20 01:10:48 +0100111config FIXED_MCHBAR_MMIO_BASE
112 default 0xfed10000
113
114config FIXED_DMIBAR_MMIO_BASE
115 default 0xfed18000
116
117config FIXED_EPBAR_MMIO_BASE
118 default 0xfed19000
119
Aaron Durbin76c37002012-10-30 09:03:43 -0500120endif