blob: 0e249a40a6f32c8e91bd406726507f574058505c [file] [log] [blame]
Simon Glass0b36ecd2014-11-12 22:42:07 -07001#
2# From Coreboot src/northbridge/intel/sandybridge/Kconfig
3#
4# Copyright (C) 2010 Google Inc.
5#
6# SPDX-License-Identifier: GPL-2.0
7
8
9config NORTHBRIDGE_INTEL_SANDYBRIDGE
10 bool
11 select CACHE_MRC_BIN
12 select CPU_INTEL_MODEL_206AX
13
14config NORTHBRIDGE_INTEL_IVYBRIDGE
15 bool
16 select CACHE_MRC_BIN
17 select CPU_INTEL_MODEL_306AX
18
19if NORTHBRIDGE_INTEL_SANDYBRIDGE
20
21config VGA_BIOS_ID
22 string
23 default "8086,0106"
24
25config CACHE_MRC_SIZE_KB
26 int
27 default 256
28
Simon Glass0b36ecd2014-11-12 22:42:07 -070029config DCACHE_RAM_BASE
30 hex
31 default 0xff7f0000
32
33config DCACHE_RAM_SIZE
34 hex
35 default 0x10000
36
37endif
38
39if NORTHBRIDGE_INTEL_IVYBRIDGE
40
41config VGA_BIOS_ID
42 string
43 default "8086,0166"
44
45config EXTERNAL_MRC_BLOB
46 bool
47 default n
48
49config CACHE_MRC_SIZE_KB
50 int
51 default 512
52
Simon Glass0b36ecd2014-11-12 22:42:07 -070053config DCACHE_RAM_BASE
54 hex
55 default 0xff7e0000
56
57config DCACHE_RAM_SIZE
58 hex
59 default 0x20000
60
61endif
62
63if NORTHBRIDGE_INTEL_SANDYBRIDGE || NORTHBRIDGE_INTEL_IVYBRIDGE
64
65config HAVE_MRC
66 bool "Add a System Agent binary"
67 help
68 Select this option to add a System Agent binary to
69 the resulting U-Boot image. MRC stands for Memory Reference Code.
70 It is a binary blob which U-Boot uses to set up SDRAM.
71
72 Note: Without this binary U-Boot will not be able to set up its
73 SDRAM so will not boot.
74
75config DCACHE_RAM_MRC_VAR_SIZE
76 hex
77 default 0x4000
78 help
79 This is the amount of CAR (Cache as RAM) reserved for use by the
80 memory reference code. This should be set to 16KB (0x4000 hex)
81 so that MRC has enough space to run.
82
83config MRC_FILE
84 string "Intel System Agent path and filename"
85 depends on HAVE_MRC
86 default "systemagent-ivybridge.bin" if NORTHBRIDGE_INTEL_IVYBRIDGE
87 default "systemagent-sandybridge.bin" if NORTHBRIDGE_INTEL_SANDYBRIDGE
88 help
89 The path and filename of the file to use as System Agent
90 binary.
91
92config CPU_SPECIFIC_OPTIONS
93 def_bool y
94 select SMM_TSEG
95 select ARCH_BOOTBLOCK_X86_32
96 select ARCH_ROMSTAGE_X86_32
97 select ARCH_RAMSTAGE_X86_32
Simon Glass0b36ecd2014-11-12 22:42:07 -070098 select SSE2
99 select UDELAY_LAPIC
100 select CPU_MICROCODE_IN_CBFS
101 select TSC_SYNC_MFENCE
102 select HAVE_INTEL_ME
Simon Glass268eefd2014-11-12 22:42:28 -0700103 select X86_RAMTEST
Simon Glass0b36ecd2014-11-12 22:42:07 -0700104
105config SMM_TSEG_SIZE
106 hex
107 default 0x800000
108
109config ENABLE_VMX
110 bool "Enable VMX for virtualization"
111 default n
112 help
113 Virtual Machine Extensions are provided in many x86 CPUs. These
114 provide various facilities for allowing a host OS to provide an
115 environment where potentially several guest OSes have only
116 limited access to the underlying hardware. This is achieved
117 without resorting to software trapping and/or instruction set
118 emulation (which would be very slow).
119
120 Intel's implementation of this is called VT-x. This option enables
121 VT-x this so that the OS that is booted by U-Boot can make use of
122 these facilities. If this option is not enabled, then the host OS
123 will be unable to support virtualisation, or it will run very
124 slowly.
125
126endif
127
128config CPU_INTEL_SOCKET_RPGA989
129 bool
130
131if CPU_INTEL_SOCKET_RPGA989
132
133config SOCKET_SPECIFIC_OPTIONS # dummy
134 def_bool y
135 select MMX
136 select SSE
137 select CACHE_AS_RAM
138
139config CACHE_MRC_BIN
140 bool
141 default n
142
143endif