blob: 5b9284220be8e6a9d452db4f40a9ae8dd99fbf91 [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
Kyösti Mälkki11c6b8b2021-02-10 19:22:31 +020028config CHROMEOS
29 select CHROMEOS_RAMOOPS_DYNAMIC
30
Julius Werner1210b412017-03-27 19:26:32 -070031config VBOOT
Joel Kitching6672bd82019-04-10 16:06:21 +080032 select VBOOT_MUST_REQUEST_DISPLAY
Arthur Heymans77d5e742019-01-03 21:11:45 +010033 select VBOOT_STARTS_IN_ROMSTAGE if !HASWELL_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070034
Aaron Durbin76c37002012-10-30 09:03:43 -050035config VGA_BIOS_ID
36 string
37 default "8086,0166"
38
Elyes HAOUASef169d62018-09-14 10:28:52 +020039config MMCONF_BASE_ADDRESS
Elyes HAOUASef169d62018-09-14 10:28:52 +020040 default 0xf0000000
41
Angel Pons32770f82021-01-20 15:03:30 +010042config MMCONF_BUS_NUMBER
43 int
44 default 64
45
Aaron Durbin76c37002012-10-30 09:03:43 -050046config DCACHE_RAM_BASE
47 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060048 default 0xff7c0000
Aaron Durbin76c37002012-10-30 09:03:43 -050049
50config DCACHE_RAM_SIZE
51 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060052 default 0x10000
53 help
54 The size of the cache-as-ram region required during bootblock
55 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
56 must add up to a power of 2.
Aaron Durbin76c37002012-10-30 09:03:43 -050057
58config DCACHE_RAM_MRC_VAR_SIZE
59 hex
Aaron Durbin3d0071b2013-01-18 14:32:50 -060060 default 0x30000
61 help
62 The amount of cache-as-ram region required by the reference code.
63
Arthur Heymans8e646e72018-06-05 11:19:22 +020064config DCACHE_BSP_STACK_SIZE
65 hex
66 default 0x2000
67 help
68 The amount of anticipated stack usage in CAR by bootblock and
69 other stages.
70
Aaron Durbin76c37002012-10-30 09:03:43 -050071config HAVE_MRC
72 bool "Add a System Agent binary"
73 help
74 Select this option to add a System Agent binary to
75 the resulting coreboot image.
76
77 Note: Without this binary coreboot will not work
78
79config MRC_FILE
80 string "Intel System Agent path and filename"
81 depends on HAVE_MRC
82 default "mrc.bin"
83 help
84 The path and filename of the file to use as System Agent
85 binary.
86
Angel Pons84641c82020-08-29 02:52:09 +020087config HASWELL_HIDE_PEG_FROM_MRC
88 bool "Hide PEG devices from MRC to work around hardcoded MRC behavior"
89 default y
90 help
91 If set, hides all PEG devices from MRC. This allows the iGPU
92 to be used even when a dedicated graphics card is present.
93 However, it prevents MRC from programming PEG AFE registers,
94 which can make PEG devices unstable. When unsure, choose N.
95
Arthur Heymans77d5e742019-01-03 21:11:45 +010096# The UEFI System Agent binary needs to be at a fixed offset in the flash
97# and can therefore only reside in the COREBOOT fmap region
98config RO_REGION_ONLY
99 string
100 depends on VBOOT
101 default "mrc.bin"
102
Nico Huber612a8672019-02-19 19:11:29 +0100103config INTEL_GMA_BCLV_OFFSET
104 default 0x48254
105
Angel Pons1be9f582020-07-03 21:31:17 +0200106config ENABLE_DDR_2X_REFRESH
107 bool "Enable DRAM Refresh 2x support"
108 default n
109 help
110 When enabled, the memory controller will refresh the DRAM twice as often.
111 This probably only happens when the DRAM gets hot, but what MRC exactly
112 does when this setting is enabled has not been investigated.
113
Angel Ponsf95b9b42021-01-20 01:10:48 +0100114config FIXED_MCHBAR_MMIO_BASE
115 default 0xfed10000
116
117config FIXED_DMIBAR_MMIO_BASE
118 default 0xfed18000
119
120config FIXED_EPBAR_MMIO_BASE
121 default 0xfed19000
122
Aaron Durbin76c37002012-10-30 09:03:43 -0500123endif