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