blob: d99cd54156df92b8912e65146634cda6590a7cfd [file] [log] [blame]
Lee Leahy2ed7eb72016-01-01 18:08:48 -08001##
2## This file is part of the coreboot project.
3##
4## Copyright (C) 2015-2016 Intel Corp.
5##
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; version 2 of the License.
9##
10## This program is distributed in the hope that it will be useful,
11## but WITHOUT ANY WARRANTY; without even the implied warranty of
12## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13## GNU General Public License for more details.
14##
15
16config SOC_INTEL_QUARK
17 bool
18 help
19 Intel Quark support
20
21if SOC_INTEL_QUARK
22
23config CPU_SPECIFIC_OPTIONS
24 def_bool y
25 select ARCH_BOOTBLOCK_X86_32
26 select ARCH_RAMSTAGE_X86_32
27 select ARCH_ROMSTAGE_X86_32
28 select ARCH_VERSTAGE_X86_32
Lee Leahy87df8d02016-02-07 14:37:13 -080029 select SOC_INTEL_COMMON
30 select TSC_CONSTANT_RATE
31 select UDELAY_TSC
Lee Leahy2ed7eb72016-01-01 18:08:48 -080032 select USE_MARCH_586
33
Lee Leahy9fd08952016-02-02 07:17:06 -080034#####
Lee Leahy87df8d02016-02-07 14:37:13 -080035# Debug serial output
36# The following options configure the debug serial port
37#####
38
39config ENABLE_BUILTIN_HSUART1
40 bool "Enable built-in HSUART1"
41 default y
42 select NO_UART_ON_SUPERIO
43 select DRIVERS_UART_8250MEM_32
44 help
45 The Quark SoC has two HSUART. Choose this option to configure the pads
46 and enable HSUART1, which can be used for the debug console.
47
48config TTYS0_BASE
49 hex "HSUART1 Base Address"
50 depends on ENABLE_BUILTIN_HSUART1
51 default 0xA0019000
52 help
53 Memory mapped MMIO of HSUART1.
54
55config TTYS0_LCS
56 int
57 depends on ENABLE_BUILTIN_HSUART1
58 default 3
59
60#####
Lee Leahya7ba56e2016-02-07 10:42:14 -080061# Debug support
62# The following options provide debug support for the Quark coreboot
63# code. The SD LED is used as a binary marker to determine if a
64# specific point in the execution flow has been reached.
65#####
66
67config ENABLE_DEBUG_LED
68 bool
69 default n
70 help
71 Enable the use of the SD LED for early debugging before serial output
72 is available. Setting this LED indicates that control has reached the
73 desired check point.
74
75config ENABLE_DEBUG_LED_ESRAM
76 bool "SD LED indicates ESRAM initialized"
77 default n
78 select ENABLE_DEBUG_LED
79 help
80 Indicate that ESRAM has been successfully initialized.
81
82config ENABLE_DEBUG_LED_FINDFSP
83 bool "SD LED indicates fsp.bin file was found"
84 default n
85 select ENABLE_DEBUG_LED
86 help
87 Indicate that fsp.bin was found.
88
89config ENABLE_DEBUG_LED_TEMPRAMINIT
90 bool "SD LED indicates TempRamInit was successful"
91 default n
92 select ENABLE_DEBUG_LED
93 help
94 Indicate that TempRamInit was successful.
95
96#####
Lee Leahy87df8d02016-02-07 14:37:13 -080097# ESRAM layout
98# Specify the portion of the ESRAM for coreboot to use as its data area.
99#####
100
101config DCACHE_RAM_BASE
102 hex
103 default 0x80070000
104
105config DCACHE_RAM_SIZE
106 hex
107 default 0x00008000
108
109#####
Lee Leahy9fd08952016-02-02 07:17:06 -0800110# Flash layout
111# Specify the size of the coreboot file system in the read-only
112# (recovery) portion of the flash part.
113#####
114
115config CBFS_SIZE
116 hex
117 default 0x200000
118 help
119 Specify the size of the coreboot file system in the read-only (recovery)
120 portion of the flash part. On Quark systems the firmware image stores
121 more than just coreboot, including:
122 - The chipset microcode (RMU) binary file located at 0xFFF00000
123 - Intel Trusted Execution Engine firmware
124
125#####
Lee Leahya7ba56e2016-02-07 10:42:14 -0800126# FSP binary
127# The following options control the FSP binary file placement in
128# the flash image and ESRAM. This file is required by the Quark
129# SoC code to boot coreboot and its payload.
130#####
131
132config ADD_FSP_RAW_BIN
133 bool "Add the Intel FSP binary to the flash image without relocation"
134 default n
135 depends on PLATFORM_USES_FSP1_1
136 help
137 Select this option to add an Intel FSP binary to
138 the resulting coreboot image.
139
140 Note: Without this binary, coreboot builds relying on the FSP
141 will not boot
142
143config FSP_FILE
144 string "Intel FSP binary path and filename"
145 default "3rdparty/blobs/soc/intel/quark/fsp.bin"
146 depends on PLATFORM_USES_FSP1_1
147 depends on ADD_FSP_RAW_BIN
148 help
149 The path and filename of the Intel FSP binary for this platform.
150
151config FSP_IMAGE_ID_STRING
152 string "8 byte platform string identifying the FSP platform"
153 default "QUK-FSP0"
154 depends on PLATFORM_USES_FSP1_1
155 help
156 8 ASCII character byte signature string that will help match the FSP
157 binary to a supported hardware configuration.
158
159config FSP_LOC
160 hex
161 default 0xfff80000
162 depends on PLATFORM_USES_FSP1_1
163 help
164 The location in CBFS that the FSP is located. This must match the
165 value that is set in the FSP binary. If the FSP needs to be moved,
166 rebase the FSP with Intel's BCT (tool).
167
168config FSP_ESRAM_LOC
169 hex
170 default 0x80000000
171 depends on PLATFORM_USES_FSP1_1
172 help
173 The location in ESRAM where a copy of the FSP binary is placed.
174
175#####
176# FSP PDAT binary
177# The following options control the FSP platform data binary
178# file placement in the flash image.
179#####
180
181config ADD_FSP_PDAT_FILE
182 bool "Should the PDAT binary be added to the flash image?"
183 default n
184 depends on PLATFORM_USES_FSP1_1
185 help
186 The PDAT file is required for the FSP 1.1 binary
187
188config FSP_PDAT_FILE
189 string
190 default "3rdparty/blobs/soc/intel/quark/pdat.bin"
191 depends on PLATFORM_USES_FSP1_1
192 depends on ADD_FSP_PDAT_FILE
193 help
194 The path and filename of the Intel Galileo platform-data-patch (PDAT)
195 binary. This binary file is generated by the platform-data-patch.py
196 script released with the Quark BSP and contains the Ethernet address.
197
198config FSP_PDAT_LOC
199 hex
200 default 0xfff10000
201 depends on PLATFORM_USES_FSP1_1
202 depends on ADD_FSP_PDAT_FILE
203 help
204 The location in CBFS that the PDAT is located. It must match the
205 PCD PcdPlatformDataBaseAddress of Quark SoC FSP.
206
207#####
Lee Leahy9fd08952016-02-02 07:17:06 -0800208# RMU binary
209# The following options control the Quark chipset microcode file
210# placement in the flash image. This file is required to bring
211# the Quark processor out of reset.
212#####
213
214config ADD_RMU_FILE
215 bool "Should the RMU binary be added to the flash image?"
216 default n
217 help
218 The RMU file is required to get the chip out of reset.
219
220config RMU_FILE
221 string
222 default "3rdparty/blobs/soc/intel/quark/rmu.bin"
223 depends on ADD_RMU_FILE
224 help
225 The path and filename of the Intel Quark RMU binary.
226
227config RMU_LOC
228 hex
229 default 0xfff00000
230 depends on ADD_RMU_FILE
231 help
232 The location in CBFS that the RMU is located. It must match the
233 strap-determined base address.
234
Lee Leahy2ed7eb72016-01-01 18:08:48 -0800235endif # SOC_INTEL_QUARK