xref: /openbmc/u-boot/arch/x86/cpu/ivybridge/Kconfig (revision 83bf0057)
1#
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
29config 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
53config 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
98	select SSE2
99	select UDELAY_LAPIC
100	select CPU_MICROCODE_IN_CBFS
101	select TSC_SYNC_MFENCE
102	select HAVE_INTEL_ME
103	select X86_RAMTEST
104
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
144