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