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