blob: bc90b11d738bb9f22694010823307bf163c3c05e [file] [log] [blame]
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -05001config SOC_INTEL_BAYTRAIL
2 bool
3 help
4 Bay Trail M/D part support.
5
6if SOC_INTEL_BAYTRAIL
7
8config CPU_SPECIFIC_OPTIONS
9 def_bool y
Furquan Shaikh99ac98f2014-04-23 10:18:48 -070010 select ARCH_BOOTBLOCK_X86_32
11 select ARCH_ROMSTAGE_X86_32
12 select ARCH_RAMSTAGE_X86_32
Kein Yuan35110232014-02-22 12:26:55 -080013 select BACKUP_DEFAULT_SMM_REGION
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
Aaron Durbin59d1d872014-01-14 17:34:10 -060017 select CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED
Vadim Bendeburyc04e1712013-09-27 16:21:04 -070018 select CPU_MICROCODE_IN_CBFS
19 select DYNAMIC_CBMEM
Aaron Durbince7ecf92013-10-24 08:42:10 -050020 select HAVE_MONOTONIC_TIMER
Vadim Bendeburyc04e1712013-09-27 16:21:04 -070021 select HAVE_SMI_HANDLER
Aaron Durbin6ecdb682013-10-10 20:54:57 -050022 select HAVE_HARD_RESET
Vadim Bendeburyc04e1712013-09-27 16:21:04 -070023 select MMCONF_SUPPORT
24 select MMCONF_SUPPORT_DEFAULT
25 select RELOCATABLE_MODULES
Kyösti Mälkkid05d0db2014-10-16 14:54:03 +030026 select RELOCATABLE_RAMSTAGE
Aaron Durbin302cbd62013-10-21 12:36:17 -050027 select PARALLEL_MP
Duncan Lauriec6313db2014-01-16 11:18:36 -080028 select PCIEXP_ASPM
29 select PCIEXP_COMMON_CLOCK
Isaac Christensend2044cc2014-10-01 13:37:36 -060030 select REG_SCRIPT
Vadim Bendeburyc04e1712013-09-27 16:21:04 -070031 select SMM_MODULES
32 select SMM_TSEG
33 select SMP
34 select SPI_FLASH
35 select SSE2
36 select SUPPORT_CPU_UCODE_IN_CBFS
37 select TSC_CONSTANT_RATE
Aaron Durbince7ecf92013-10-24 08:42:10 -050038 select TSC_MONOTONIC_TIMER
Vadim Bendeburyc04e1712013-09-27 16:21:04 -070039 select TSC_SYNC_MFENCE
40 select UDELAY_TSC
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -050041
42config BOOTBLOCK_CPU_INIT
43 string
44 default "soc/intel/baytrail/bootblock/bootblock.c"
45
46config MMCONF_BASE_ADDRESS
47 hex
48 default 0xe0000000
49
50config MAX_CPUS
51 int
52 default 4
53
54config CPU_ADDR_BITS
55 int
56 default 36
57
58config SMM_TSEG_SIZE
59 hex
60 default 0x800000
61
62config SMM_RESERVED_SIZE
63 hex
64 default 0x100000
65
66config HAVE_MRC
67 bool "Add a Memory Reference Code binary"
68 default y
69 help
70 Select this option to add a blob containing
71 memory reference code.
72 Note: Without this binary coreboot will not work
73
74if HAVE_MRC
75
76config MRC_FILE
77 string "Intel memory refeference code path and filename"
78 default "3rdparty/northbridge/intel/sandybridge/systemagent-r6.bin"
79 help
80 The path and filename of the file to use as System Agent
81 binary. Note that this points to the sandybridge binary file
82 which is will not work, but it serves its purpose to do builds.
83
84config MRC_BIN_ADDRESS
85 hex
86 default 0xfffa0000
87
Shawn Nematbakhsh13d93412013-11-26 15:37:43 -080088config MRC_RMT
89 bool "Enable MRC RMT training + debug prints"
90 default n
91
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -050092endif # HAVE_MRC
93
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -050094# Cache As RAM region layout:
95#
96# +-------------+ DCACHE_RAM_BASE + DCACHE_RAM_SIZE + DCACHE_RAM_MRC_VAR_SIZE
97# | MRC usage |
98# | |
99# +-------------+ DCACHE_RAM_BASE + DCACHE_RAM_SIZE
100# | Stack |\
101# | | | * DCACHE_RAM_ROMSTAGE_STACK_SIZE
102# | v |/
103# +-------------+
104# | ^ |
105# | | |
106# | CAR Globals |
107# +-------------+ DCACHE_RAM_BASE
108#
109# Note that the MRC binary is linked to assume the region marked as "MRC usage"
110# starts at DCACHE_RAM_BASE + DCACHE_RAM_SIZE. If those values change then
111# a new MRC binary needs to be produced with the updated start and size
112# information.
113
114config DCACHE_RAM_BASE
115 hex
Aaron Durbin89f52922014-03-19 11:48:33 -0500116 default 0xfe000000
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -0500117
118config DCACHE_RAM_SIZE
119 hex
Aaron Durbin08a46132013-10-07 16:24:44 -0500120 default 0x8000
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -0500121 help
122 The size of the cache-as-ram region required during bootblock
123 and/or romstage. Note DCACHE_RAM_SIZE and DCACHE_RAM_MRC_VAR_SIZE
124 must add up to a power of 2.
125
126config DCACHE_RAM_MRC_VAR_SIZE
127 hex
Aaron Durbin08a46132013-10-07 16:24:44 -0500128 default 0x8000
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -0500129 help
130 The amount of cache-as-ram region required by the reference code.
131
132config DCACHE_RAM_ROMSTAGE_STACK_SIZE
133 hex
134 default 0x800
135 help
136 The amount of anticipated stack usage from the data cache
Daniele Forsi53847a22014-07-22 18:00:56 +0200137 during pre-RAM ROM stage execution.
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -0500138
139config RESET_ON_INVALID_RAMSTAGE_CACHE
140 bool "Reset the system on S3 wake when ramstage cache invalid."
141 default n
142 depends on RELOCATABLE_RAMSTAGE
143 help
144 The baytrail romstage code caches the loaded ramstage program
145 in SMM space. On S3 wake the romstage will copy over a fresh
146 ramstage that was cached in the SMM space. This option determines
147 the action to take when the ramstage cache is invalid. If selected
148 the system will reset otherwise the ramstage will be reloaded from
149 cbfs.
150
151config CBFS_SIZE
152 hex "Size of CBFS filesystem in ROM"
153 default 0x100000
154 help
155 On Bay Trail systems the firmware image has to store a lot more
156 than just coreboot, including:
157 - a firmware descriptor
158 - Intel Management Engine firmware
159 - MRC cache information
160 This option allows to limit the size of the CBFS portion in the
161 firmware image.
162
163config ENABLE_BUILTIN_COM1
164 bool "Enable builtin COM1 Serial Port"
165 default n
166 help
167 The PMC has a legacy COM1 serial port. Choose this option to
168 configure the pads and enable it. This serial port can be used for
169 the debug console.
170
171config HAVE_ME_BIN
172 bool "Add Intel Management Engine firmware"
173 default y
174 help
175 The Intel processor in the selected system requires a special firmware
176 for an integrated controller called Management Engine (ME). The ME
177 firmware might be provided in coreboot's 3rdparty repository. If
178 not and if you don't have the firmware elsewhere, you can still
179 build coreboot without it. In this case however, you'll have to make
180 sure that you don't overwrite your ME firmware on your flash ROM.
181
182config ME_BIN_PATH
183 string "Path to management engine firmware"
184 depends on HAVE_ME_BIN
185 default "3rdparty/mainboard/$(MAINBOARDDIR)/me.bin"
186
187config HAVE_IFD_BIN
188 bool
189 default y
190
191config BUILD_WITH_FAKE_IFD
192 bool "Build with a fake IFD"
193 default y if !HAVE_IFD_BIN
194 help
195 If you don't have an Intel Firmware Descriptor (ifd.bin) for your
196 board, you can select this option and coreboot will build without it.
197 Though, the resulting coreboot.rom will not contain all parts required
198 to get coreboot running on your board. You can however write only the
199 BIOS section to your board's flash ROM and keep the other sections
200 untouched. Unfortunately the current version of flashrom doesn't
201 support this yet. But there is a patch pending [1].
202
203 WARNING: Never write a complete coreboot.rom to your flash ROM if it
204 was built with a fake IFD. It just won't work.
205
206 [1] http://www.flashrom.org/pipermail/flashrom/2013-June/011083.html
207
208config IFD_BIOS_SECTION
209 depends on BUILD_WITH_FAKE_IFD
210 string
211 default ""
212
213config IFD_ME_SECTION
214 depends on BUILD_WITH_FAKE_IFD
215 string
216 default ""
217
218config IFD_PLATFORM_SECTION
219 depends on BUILD_WITH_FAKE_IFD
220 string
221 default ""
222
223config IFD_BIN_PATH
224 string "Path to intel firmware descriptor"
225 depends on !BUILD_WITH_FAKE_IFD
226 default "3rdparty/mainboard/$(MAINBOARDDIR)/descriptor.bin"
227
Vladimir Serbinenkof1d6e7e2014-08-09 07:16:10 +0200228config HAVE_REFCODE_BLOB
229 depends on ARCH_X86
230 bool "An external reference code blob should be put into cbfs."
231 default n
232 help
233 The reference code blob will be placed into cbfs.
234
235if HAVE_REFCODE_BLOB
236
237config REFCODE_BLOB_FILE
238 string "Path and filename to reference code blob."
239 default "refcode.elf"
240 help
241 The path and filename to the file to be added to cbfs.
242
243endif # HAVE_REFCODE_BLOB
244
Aaron Durbin9a7d7bc2013-09-07 00:41:48 -0500245endif