blob: deee31a708ab014826795445e6e6431cbf87f562 [file] [log] [blame]
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -05001
2config SOC_INTEL_BAYTRAIL
3 bool
4 help
5 Bay Trail M/D part support.
6
7if SOC_INTEL_BAYTRAIL
8
9config CPU_SPECIFIC_OPTIONS
10 def_bool y
11 select SMP
12 select SSE2
13 select UDELAY_TSC
14 select TSC_CONSTANT_RATE
15 select SMM_TSEG
16 select SMM_MODULES
17 select RELOCATABLE_MODULES
18 select DYNAMIC_CBMEM
19 select SUPPORT_CPU_UCODE_IN_CBFS
20 select TSC_SYNC_MFENCE
21 select CAR_MIGRATION
22 select MMCONF_SUPPORT
23 select MMCONF_SUPPORT_DEFAULT
24 select HAVE_SMI_HANDLER
25 select CACHE_MRC_SETTINGS
26 select CACHE_ROM
27 select SPI_FLASH
28
29config BOOTBLOCK_CPU_INIT
30 string
31 default "soc/intel/baytrail/bootblock/bootblock.c"
32
33config MMCONF_BASE_ADDRESS
34 hex
35 default 0xe0000000
36
37config MAX_CPUS
38 int
39 default 4
40
41config CPU_ADDR_BITS
42 int
43 default 36
44
45config SMM_TSEG_SIZE
46 hex
47 default 0x800000
48
49config SMM_RESERVED_SIZE
50 hex
51 default 0x100000
52
53config HAVE_MRC
54 bool "Add a Memory Reference Code binary"
55 default y
56 help
57 Select this option to add a blob containing
58 memory reference code.
59 Note: Without this binary coreboot will not work
60
61if HAVE_MRC
62
63config MRC_FILE
64 string "Intel memory refeference code path and filename"
65 default "3rdparty/northbridge/intel/sandybridge/systemagent-r6.bin"
66 help
67 The path and filename of the file to use as System Agent
68 binary. Note that this points to the sandybridge binary file
69 which is will not work, but it serves its purpose to do builds.
70
71config MRC_BIN_ADDRESS
72 hex
73 default 0xfffa0000
74
75config CACHE_MRC_SETTINGS
76 bool "Save cached MRC settings"
77 default n
78
79if CACHE_MRC_SETTINGS
80
81config MRC_SETTINGS_CACHE_BASE
82 hex
83 default 0xffb00000
84
85config MRC_SETTINGS_CACHE_SIZE
86 hex
87 default 0x10000
88
89endif # CACHE_MRC_SETTINGS
90
91endif # HAVE_MRC
92
93config CAR_TILE_SIZE
94 hex
95 default 0x8000
96 help
97 The tile size is the limit that can be assigned to cache-as-ram
98 region as well as the amount of code cache used during cache-as-ram.
99 Also note that (DCACHE_RAM_BASE ^ MRC_BIN_ADDRESS) & CAR_TILE_SIZE ==
100 CAR_TILE_SIZE.
101
102# Cache As RAM region layout:
103#
104# +-------------+ DCACHE_RAM_BASE + DCACHE_RAM_SIZE + DCACHE_RAM_MRC_VAR_SIZE
105# | MRC usage |
106# | |
107# +-------------+ DCACHE_RAM_BASE + DCACHE_RAM_SIZE
108# | Stack |\
109# | | | * DCACHE_RAM_ROMSTAGE_STACK_SIZE
110# | v |/
111# +-------------+
112# | ^ |
113# | | |
114# | CAR Globals |
115# +-------------+ DCACHE_RAM_BASE
116#
117# Note that the MRC binary is linked to assume the region marked as "MRC usage"
118# starts at DCACHE_RAM_BASE + DCACHE_RAM_SIZE. If those values change then
119# a new MRC binary needs to be produced with the updated start and size
120# information.
121
122config DCACHE_RAM_BASE
123 hex
124 default 0xff7f8000
125
126config DCACHE_RAM_SIZE
127 hex
128 default 0x1000
129 help
130 The size of the cache-as-ram region required during bootblock
131 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
132 must add up to a power of 2.
133
134config DCACHE_RAM_MRC_VAR_SIZE
135 hex
136 default 0x7000
137 help
138 The amount of cache-as-ram region required by the reference code.
139
140config DCACHE_RAM_ROMSTAGE_STACK_SIZE
141 hex
142 default 0x800
143 help
144 The amount of anticipated stack usage from the data cache
145 during pre-ram rom stage execution.
146
147config RESET_ON_INVALID_RAMSTAGE_CACHE
148 bool "Reset the system on S3 wake when ramstage cache invalid."
149 default n
150 depends on RELOCATABLE_RAMSTAGE
151 help
152 The baytrail romstage code caches the loaded ramstage program
153 in SMM space. On S3 wake the romstage will copy over a fresh
154 ramstage that was cached in the SMM space. This option determines
155 the action to take when the ramstage cache is invalid. If selected
156 the system will reset otherwise the ramstage will be reloaded from
157 cbfs.
158
159config CBFS_SIZE
160 hex "Size of CBFS filesystem in ROM"
161 default 0x100000
162 help
163 On Bay Trail systems the firmware image has to store a lot more
164 than just coreboot, including:
165 - a firmware descriptor
166 - Intel Management Engine firmware
167 - MRC cache information
168 This option allows to limit the size of the CBFS portion in the
169 firmware image.
170
171config ENABLE_BUILTIN_COM1
172 bool "Enable builtin COM1 Serial Port"
173 default n
174 help
175 The PMC has a legacy COM1 serial port. Choose this option to
176 configure the pads and enable it. This serial port can be used for
177 the debug console.
178
179config HAVE_ME_BIN
180 bool "Add Intel Management Engine firmware"
181 default y
182 help
183 The Intel processor in the selected system requires a special firmware
184 for an integrated controller called Management Engine (ME). The ME
185 firmware might be provided in coreboot's 3rdparty repository. If
186 not and if you don't have the firmware elsewhere, you can still
187 build coreboot without it. In this case however, you'll have to make
188 sure that you don't overwrite your ME firmware on your flash ROM.
189
190config ME_BIN_PATH
191 string "Path to management engine firmware"
192 depends on HAVE_ME_BIN
193 default "3rdparty/mainboard/$(MAINBOARDDIR)/me.bin"
194
195config HAVE_IFD_BIN
196 bool
197 default y
198
199config BUILD_WITH_FAKE_IFD
200 bool "Build with a fake IFD"
201 default y if !HAVE_IFD_BIN
202 help
203 If you don't have an Intel Firmware Descriptor (ifd.bin) for your
204 board, you can select this option and coreboot will build without it.
205 Though, the resulting coreboot.rom will not contain all parts required
206 to get coreboot running on your board. You can however write only the
207 BIOS section to your board's flash ROM and keep the other sections
208 untouched. Unfortunately the current version of flashrom doesn't
209 support this yet. But there is a patch pending [1].
210
211 WARNING: Never write a complete coreboot.rom to your flash ROM if it
212 was built with a fake IFD. It just won't work.
213
214 [1] http://www.flashrom.org/pipermail/flashrom/2013-June/011083.html
215
216config IFD_BIOS_SECTION
217 depends on BUILD_WITH_FAKE_IFD
218 string
219 default ""
220
221config IFD_ME_SECTION
222 depends on BUILD_WITH_FAKE_IFD
223 string
224 default ""
225
226config IFD_PLATFORM_SECTION
227 depends on BUILD_WITH_FAKE_IFD
228 string
229 default ""
230
231config IFD_BIN_PATH
232 string "Path to intel firmware descriptor"
233 depends on !BUILD_WITH_FAKE_IFD
234 default "3rdparty/mainboard/$(MAINBOARDDIR)/descriptor.bin"
235
236endif