xref: /openbmc/u-boot/arch/x86/cpu/ivybridge/Kconfig (revision fd697ecf)
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 SMP
99	select SSE2
100	select UDELAY_LAPIC
101	select CPU_MICROCODE_IN_CBFS
102	select TSC_SYNC_MFENCE
103	select HAVE_INTEL_ME
104	select X86_RAMTEST
105
106config SMM_TSEG_SIZE
107	hex
108	default 0x800000
109
110config ENABLE_VMX
111	bool "Enable VMX for virtualization"
112	default n
113	help
114	  Virtual Machine Extensions are provided in many x86 CPUs. These
115	  provide various facilities for allowing a host OS to provide an
116	  environment where potentially several guest OSes have only
117	  limited access to the underlying hardware. This is achieved
118	  without resorting to software trapping and/or instruction set
119	  emulation (which would be very slow).
120
121	  Intel's implementation of this is called VT-x. This option enables
122	  VT-x this so that the OS that is booted by U-Boot can make use of
123	  these facilities. If this option is not enabled, then the host OS
124	  will be unable to support virtualisation, or it will run very
125	  slowly.
126
127endif
128
129config CPU_INTEL_SOCKET_RPGA989
130	bool
131
132if CPU_INTEL_SOCKET_RPGA989
133
134config SOCKET_SPECIFIC_OPTIONS # dummy
135	def_bool y
136	select MMX
137	select SSE
138	select CACHE_AS_RAM
139
140config CACHE_MRC_BIN
141	bool
142	default n
143
144endif
145