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