blob: b7738a2080ff22841c3e04a3ff52271d025ec8ef [file] [log] [blame]
Angel Pons6e5aabd2020-03-23 23:44:42 +01001## SPDX-License-Identifier: GPL-2.0-only
Stefan Reinauer00636b02012-04-04 00:08:51 +02002
Alexandru Gagniucecf2eb42015-09-28 21:39:12 -07003config NORTHBRIDGE_INTEL_SANDYBRIDGE
Vladimir Serbinenko309fc4c2014-08-24 22:35:29 +02004 bool
Arthur Heymans7539b8c2017-12-24 10:42:57 +01005 select CACHE_MRC_SETTINGS
Vladimir Serbinenko309fc4c2014-08-24 22:35:29 +02006 select CPU_INTEL_MODEL_206AX
7 select HAVE_DEBUG_RAM_SETUP
Vladimir Serbinenkodd2bc3f2014-10-31 09:16:31 +01008 select INTEL_GMA_ACPI
Elyes Haouas9ee9cd32022-10-30 10:20:33 +01009 select USE_DDR3
10
Elyes Haouasd2ebc4d2023-01-02 15:28:41 +010011if NORTHBRIDGE_INTEL_SANDYBRIDGE
12
Arthur Heymans691d58f2021-08-11 13:42:40 +020013config CHIPSET_DEVICETREE
14 default "northbridge/intel/sandybridge/chipset.cb"
15
Patrick Rudolph1ee3dbc2020-02-28 13:11:13 +010016config SANDYBRIDGE_VBOOT_IN_ROMSTAGE
17 bool
18 default n
19 help
20 Selected by boards to force VBOOT_STARTS_IN_ROMSTAGE.
21
22config SANDYBRIDGE_VBOOT_IN_BOOTBLOCK
23 depends on VBOOT
24 depends on !SANDYBRIDGE_VBOOT_IN_ROMSTAGE
25 bool "Start verstage in bootblock"
26 default y
27 select VBOOT_STARTS_IN_BOOTBLOCK
Patrick Rudolph1ee3dbc2020-02-28 13:11:13 +010028 help
29 Sandy Bridge can either start verstage in a separate stage
30 right after the bootblock has run or it can start it
31 after romstage for compatibility reasons.
32 Sandy Bridge however uses a mrc.bin to initialize memory which
33 needs to be located at a fixed offset. Therefore even with
34 a separate verstage starting after the bootblock that same
35 binary is used meaning a jump is made from RW to the RO region
36 and back to the RW region after the binary is done.
37
Julius Werner1210b412017-03-27 19:26:32 -070038config VBOOT
Patrick Rudolph1ee3dbc2020-02-28 13:11:13 +010039 select VBOOT_MUST_REQUEST_DISPLAY
40 select VBOOT_STARTS_IN_ROMSTAGE if !SANDYBRIDGE_VBOOT_IN_BOOTBLOCK
Julius Werner1210b412017-03-27 19:26:32 -070041
Vladimir Serbinenko144eea02016-02-10 02:36:04 +010042config USE_NATIVE_RAMINIT
43 bool "Use native raminit"
44 default y
45 help
46 Select if you want to use coreboot implementation of raminit rather than
47 System Agent/MRC.bin. You should answer Y.
Stefan Reinauer00636b02012-04-04 00:08:51 +020048
Patrick Rudolphb794a692017-08-08 13:13:51 +020049config NATIVE_RAMINIT_IGNORE_MAX_MEM_FUSES
Angel Pons9802f1e2020-11-11 01:27:24 +010050 bool "[OVERCLOCK] Ignore CAPID fuses that limit max DRAM frequency"
Patrick Rudolphb794a692017-08-08 13:13:51 +020051 default n
52 depends on USE_NATIVE_RAMINIT
53 help
Angel Pons9802f1e2020-11-11 01:27:24 +010054 Ignore the CAPID fuses that might limit the maximum DRAM frequency
55 on overclocking-capable parts. By selecting this option, the fuse
56 values will be ignored and the only limits on DRAM frequency are
57 determined by SPD values, per-board devicetree settings and hard
58 limits in the northbridge's MPLL. Disabled by default as it can
59 cause instability.
60 Consider this to be an overclocking option. Handle with care!
Patrick Rudolphb794a692017-08-08 13:13:51 +020061
Vagiz Trakhanov771be482017-10-02 10:02:35 +000062config NATIVE_RAMINIT_IGNORE_XMP_MAX_DIMMS
Angel Pons9802f1e2020-11-11 01:27:24 +010063 bool "[OVERCLOCK] Ignore XMP max DIMMs per channel"
Vagiz Trakhanov771be482017-10-02 10:02:35 +000064 default n
65 depends on USE_NATIVE_RAMINIT
66 help
Angel Pons9802f1e2020-11-11 01:27:24 +010067 The more DIMMs are in a channel, the more signal integrity worsens.
68 Because of this, some DIMMs only support running at XMP timings if
69 the number of DIMMs in the channel is below a limit. This limit is
70 usually 1, i.e. there must be no other DIMMs in the channel to use
71 XMP timings. Otherwise, non-XMP timings are used.
72 When this option is enabled, the max DIMMs per channel restriction
73 in XMP is ignored. Depending on available margins, this could work
74 but it can also result in system instability.
75 Consider this to be an overclocking option. Handle with care!
Vagiz Trakhanov771be482017-10-02 10:02:35 +000076
Angel Pons3170e9c2020-12-12 16:22:18 +010077config NATIVE_RAMINIT_IGNORE_XMP_REQUESTED_VOLTAGE
78 bool "Ignore XMP profile requested voltage"
79 default n
80 depends on USE_NATIVE_RAMINIT
81 help
82 Native raminit only supports 1.5V operation, but there are DIMMs
83 which request 1.65V operation in XMP profiles. This option allows
84 raminit to use these XMP profiles anyway, instead of falling back
85 to non-XMP settings.
86 Disabled by default because it allows forcing memory to run out of
87 specification. Consider this to be an overclocking option.
88 Handle with care!
89
Martin Roth59ff3402016-02-09 09:06:46 -070090config CBFS_SIZE
Martin Roth59ff3402016-02-09 09:06:46 -070091 default 0x100000
92
Stefan Reinauer00636b02012-04-04 00:08:51 +020093config VGA_BIOS_ID
94 string
95 default "8086,0106"
96
Shelley Chen4e9bb332021-10-20 15:43:45 -070097config ECAM_MMCONF_BASE_ADDRESS
Nico Huber2b5c0212017-07-29 01:10:49 +020098 default 0xf0000000
99 help
Arthur Heymans742a0e92018-01-29 16:34:46 +0100100 The MRC blob requires it to be at 0xf0000000.
Nico Huber2b5c0212017-07-29 01:10:49 +0200101
Shelley Chen4e9bb332021-10-20 15:43:45 -0700102config ECAM_MMCONF_BUS_NUMBER
Angel Pons10f9b832021-01-20 14:58:32 +0100103 int
104 default 64
105
Stefan Reinauer00636b02012-04-04 00:08:51 +0200106config DCACHE_RAM_BASE
107 hex
Kyösti Mälkki9551bed2016-07-20 10:49:38 +0300108 default 0xfefe0000
Stefan Reinauer00636b02012-04-04 00:08:51 +0200109
Arthur Heymans67d59d12019-11-16 20:06:20 +0100110config DCACHE_BSP_STACK_SIZE
111 hex
Arthur Heymans8d821092019-11-25 06:56:04 +0100112 default 0x10000
113 help
114 The amount of BSP stack anticipated in bootblock and
115 other stages.
Arthur Heymans01c83a22019-06-05 13:36:55 +0200116
117if USE_NATIVE_RAMINIT
118
Stefan Reinauer00636b02012-04-04 00:08:51 +0200119config DCACHE_RAM_SIZE
120 hex
121 default 0x20000
122
Kyösti Mälkki9551bed2016-07-20 10:49:38 +0300123config DCACHE_RAM_MRC_VAR_SIZE
124 hex
125 default 0x0
126
Angel Pons09fc4b92020-11-19 12:02:07 +0100127config RAMINIT_ALWAYS_ALLOW_DLL_OFF
128 bool "Also enable memory DLL-off mode on desktops and servers"
129 default n
130 help
131 If enabled, allow enabling DLL-off mode for platforms other than
132 mobile. Saves power at the expense of higher exit latencies. Has
133 no effect on mobile platforms, where DLL-off is always allowed.
134 Power down is disabled for stability when running at high clocks.
135
Patrick Rudolphdd662872017-10-28 18:20:11 +0200136config RAMINIT_ENABLE_ECC
137 bool "Enable ECC if supported"
138 default y
139 help
140 Enable ECC if supported by both, host and RAM.
141
Kyösti Mälkki9551bed2016-07-20 10:49:38 +0300142endif # USE_NATIVE_RAMINIT
143
144if !USE_NATIVE_RAMINIT
145
Kyösti Mälkki9551bed2016-07-20 10:49:38 +0300146config DCACHE_RAM_SIZE
147 hex
Arthur Heymans01c83a22019-06-05 13:36:55 +0200148 default 0x17000
Kyösti Mälkkifbdb0852013-07-01 11:21:53 +0300149
Stefan Reinauer00636b02012-04-04 00:08:51 +0200150config DCACHE_RAM_MRC_VAR_SIZE
151 hex
Arthur Heymans01c83a22019-06-05 13:36:55 +0200152 default 0x9000
Stefan Reinauer00636b02012-04-04 00:08:51 +0200153
Stefan Reinauer00636b02012-04-04 00:08:51 +0200154config MRC_FILE
155 string "Intel System Agent path and filename"
Patrick Georgi26e24cc2015-05-05 22:27:25 +0200156 default "3rdparty/blobs/northbridge/intel/sandybridge/systemagent-r6.bin"
Stefan Reinauer00636b02012-04-04 00:08:51 +0200157 help
158 The path and filename of the file to use as System Agent
159 binary.
160
Kyösti Mälkki9551bed2016-07-20 10:49:38 +0300161endif # !USE_NATIVE_RAMINIT
Kyösti Mälkki0306e6a2016-06-23 12:41:40 +0300162
Nico Huber612a8672019-02-19 19:11:29 +0100163config INTEL_GMA_BCLV_OFFSET
164 default 0x48254
165
Angel Ponsd9e58dc2021-01-20 01:22:20 +0100166config FIXED_MCHBAR_MMIO_BASE
167 default 0xfed10000
168
169config FIXED_DMIBAR_MMIO_BASE
170 default 0xfed18000
171
172config FIXED_EPBAR_MMIO_BASE
173 default 0xfed19000
174
Stefan Reinauer00636b02012-04-04 00:08:51 +0200175endif