1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
## SPDX-License-Identifier: GPL-2.0-only
config NORTHBRIDGE_INTEL_SANDYBRIDGE
bool
select CACHE_MRC_SETTINGS
select CPU_INTEL_MODEL_206AX
select HAVE_DEBUG_RAM_SETUP
select INTEL_GMA_ACPI
select NEED_SMALL_2MB_PAGE_TABLES
select USE_DDR3
if NORTHBRIDGE_INTEL_SANDYBRIDGE
config CHIPSET_DEVICETREE
default "northbridge/intel/sandybridge/chipset.cb"
config SANDYBRIDGE_VBOOT_IN_ROMSTAGE
bool
default n
help
Selected by boards to force VBOOT_STARTS_IN_ROMSTAGE.
config SANDYBRIDGE_VBOOT_IN_BOOTBLOCK
depends on VBOOT
depends on !SANDYBRIDGE_VBOOT_IN_ROMSTAGE
bool "Start verstage in bootblock"
default y
select VBOOT_STARTS_IN_BOOTBLOCK
help
Sandy Bridge can either start verstage in a separate stage
right after the bootblock has run or it can start it
after romstage for compatibility reasons.
Sandy Bridge however uses a mrc.bin to initialize memory which
needs to be located at a fixed offset. Therefore even with
a separate verstage starting after the bootblock that same
binary is used meaning a jump is made from RW to the RO region
and back to the RW region after the binary is done.
config VBOOT
select VBOOT_MUST_REQUEST_DISPLAY
select VBOOT_STARTS_IN_ROMSTAGE if !SANDYBRIDGE_VBOOT_IN_BOOTBLOCK
config USE_NATIVE_RAMINIT
bool "Use native raminit"
default y
help
Select if you want to use coreboot implementation of raminit rather than
System Agent/MRC.bin. You should answer Y.
config NATIVE_RAMINIT_IGNORE_MAX_MEM_FUSES
bool "[OVERCLOCK] Ignore CAPID fuses that limit max DRAM frequency"
default n
depends on USE_NATIVE_RAMINIT
help
Ignore the CAPID fuses that might limit the maximum DRAM frequency
on overclocking-capable parts. By selecting this option, the fuse
values will be ignored and the only limits on DRAM frequency are
determined by SPD values, per-board devicetree settings and hard
limits in the northbridge's MPLL. Disabled by default as it can
cause instability.
Consider this to be an overclocking option. Handle with care!
config NATIVE_RAMINIT_IGNORE_XMP_MAX_DIMMS
bool "[OVERCLOCK] Ignore XMP max DIMMs per channel"
default n
depends on USE_NATIVE_RAMINIT
help
The more DIMMs are in a channel, the more signal integrity worsens.
Because of this, some DIMMs only support running at XMP timings if
the number of DIMMs in the channel is below a limit. This limit is
usually 1, i.e. there must be no other DIMMs in the channel to use
XMP timings. Otherwise, non-XMP timings are used.
When this option is enabled, the max DIMMs per channel restriction
in XMP is ignored. Depending on available margins, this could work
but it can also result in system instability.
Consider this to be an overclocking option. Handle with care!
config NATIVE_RAMINIT_IGNORE_XMP_REQUESTED_VOLTAGE
bool "Ignore XMP profile requested voltage"
default n
depends on USE_NATIVE_RAMINIT
help
Native raminit only supports 1.5V operation, but there are DIMMs
which request 1.65V operation in XMP profiles. This option allows
raminit to use these XMP profiles anyway, instead of falling back
to non-XMP settings.
Disabled by default because it allows forcing memory to run out of
specification. Consider this to be an overclocking option.
Handle with care!
config CBFS_SIZE
default 0x100000
config VGA_BIOS_ID
string
default "8086,0106"
config ECAM_MMCONF_BASE_ADDRESS
default 0xf0000000
help
The MRC blob requires it to be at 0xf0000000.
config ECAM_MMCONF_BUS_NUMBER
int
default 64
# This number must be equal or lower than what's reported in ACPI PCI _CRS
config DOMAIN_RESOURCE_32BIT_LIMIT
default ECAM_MMCONF_BASE_ADDRESS
config DCACHE_RAM_BASE
hex
default 0xfefe0000
config DCACHE_BSP_STACK_SIZE
hex
default 0x10000
help
The amount of BSP stack anticipated in bootblock and
other stages.
if USE_NATIVE_RAMINIT
config DCACHE_RAM_SIZE
hex
default 0x20000
config DCACHE_RAM_MRC_VAR_SIZE
hex
default 0x0
config RAMINIT_ALWAYS_ALLOW_DLL_OFF
bool "Also enable memory DLL-off mode on desktops and servers"
default n
help
If enabled, allow enabling DLL-off mode for platforms other than
mobile. Saves power at the expense of higher exit latencies. Has
no effect on mobile platforms, where DLL-off is always allowed.
Power down is disabled for stability when running at high clocks.
config RAMINIT_ENABLE_ECC
bool "Enable ECC if supported"
default y
help
Enable ECC if supported by both, host and RAM.
endif # USE_NATIVE_RAMINIT
if !USE_NATIVE_RAMINIT
config DCACHE_RAM_SIZE
hex
default 0x17000
config DCACHE_RAM_MRC_VAR_SIZE
hex
default 0x9000
config MRC_FILE
string "Intel System Agent path and filename"
default "3rdparty/blobs/northbridge/intel/sandybridge/systemagent-r6.bin"
help
The path and filename of the file to use as System Agent
binary.
endif # !USE_NATIVE_RAMINIT
config INTEL_GMA_BCLV_OFFSET
default 0x48254
config FIXED_MCHBAR_MMIO_BASE
default 0xfed10000
config FIXED_DMIBAR_MMIO_BASE
default 0xfed18000
config FIXED_EPBAR_MMIO_BASE
default 0xfed19000
config PRERAM_CBFS_CACHE_SIZE
default 0x0
endif
|