blob: 116dc9f32f6a6ea4bb3cd256ff2b5b4d50db6264 [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 Leahyce9e21a2016-06-05 18:48:31 -070029 select BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP
30 select C_ENVIRONMENT_BOOTBLOCK
Lee Leahy4dd34ee2016-05-02 14:31:02 -070031 select REG_SCRIPT
Lee Leahy87df8d02016-02-07 14:37:13 -080032 select SOC_INTEL_COMMON
Lee Leahyae738ac2016-07-24 08:03:37 -070033 select SOC_SETS_MSRS
Lee Leahy87df8d02016-02-07 14:37:13 -080034 select TSC_CONSTANT_RATE
Lee Leahy6ec72c92016-05-07 09:04:46 -070035 select UART_OVERRIDE_REFCLK
Lee Leahy87df8d02016-02-07 14:37:13 -080036 select UDELAY_TSC
Lee Leahy43cdff62016-02-07 14:52:22 -080037 select UNCOMPRESSED_RAMSTAGE
Lee Leahy2ed7eb72016-01-01 18:08:48 -080038 select USE_MARCH_586
39
Lee Leahy9fd08952016-02-02 07:17:06 -080040#####
Lee Leahy87df8d02016-02-07 14:37:13 -080041# Debug serial output
42# The following options configure the debug serial port
43#####
44
Lee Leahybc518d52016-05-30 15:01:06 -070045config ENABLE_BUILTIN_HSUART0
46 bool "Enable built-in HSUART0"
47 default n
48 select NO_UART_ON_SUPERIO
49 select DRIVERS_UART_8250MEM_32
50 help
51 The Quark SoC has two HSUART. Choose this option to configure the pads
52 and enable HSUART0, which can be used for the debug console.
53
Lee Leahy87df8d02016-02-07 14:37:13 -080054config ENABLE_BUILTIN_HSUART1
55 bool "Enable built-in HSUART1"
Lee Leahybc518d52016-05-30 15:01:06 -070056 default n
57 depends on ! ENABLE_BUILTIN_HSUART0
Lee Leahy87df8d02016-02-07 14:37:13 -080058 select NO_UART_ON_SUPERIO
59 select DRIVERS_UART_8250MEM_32
60 help
61 The Quark SoC has two HSUART. Choose this option to configure the pads
62 and enable HSUART1, which can be used for the debug console.
63
64config TTYS0_BASE
Lee Leahybc518d52016-05-30 15:01:06 -070065 hex "HSUART Base Address"
Lee Leahy87df8d02016-02-07 14:37:13 -080066 default 0xA0019000
Lee Leahybc518d52016-05-30 15:01:06 -070067 depends on ENABLE_BUILTIN_HSUART0 || ENABLE_BUILTIN_HSUART1
Lee Leahy87df8d02016-02-07 14:37:13 -080068 help
Lee Leahybc518d52016-05-30 15:01:06 -070069 Memory mapped MMIO of HSUART.
Lee Leahy87df8d02016-02-07 14:37:13 -080070
71config TTYS0_LCS
72 int
Lee Leahy87df8d02016-02-07 14:37:13 -080073 default 3
Lee Leahybc518d52016-05-30 15:01:06 -070074 depends on ENABLE_BUILTIN_HSUART0 || ENABLE_BUILTIN_HSUART1
Lee Leahy87df8d02016-02-07 14:37:13 -080075
Lee Leahybc518d52016-05-30 15:01:06 -070076# Console: PCI UART bus 0 << 20, device 20 << 15, function x << 12
Lee Leahy614ef402016-05-04 12:50:51 -070077# Valid bit, PCI UART in use: 1 << 31
78config UART_PCI_ADDR
79 hex
Lee Leahybc518d52016-05-30 15:01:06 -070080 default 0x800a1000 if ENABLE_BUILTIN_HSUART0
81 default 0x800a5000 if ENABLE_BUILTIN_HSUART1
82 depends on ENABLE_BUILTIN_HSUART0 || ENABLE_BUILTIN_HSUART1
Lee Leahy614ef402016-05-04 12:50:51 -070083
Lee Leahy87df8d02016-02-07 14:37:13 -080084#####
Lee Leahya7ba56e2016-02-07 10:42:14 -080085# Debug support
86# The following options provide debug support for the Quark coreboot
87# code. The SD LED is used as a binary marker to determine if a
88# specific point in the execution flow has been reached.
89#####
90
91config ENABLE_DEBUG_LED
92 bool
93 default n
94 help
95 Enable the use of the SD LED for early debugging before serial output
96 is available. Setting this LED indicates that control has reached the
97 desired check point.
98
99config ENABLE_DEBUG_LED_ESRAM
100 bool "SD LED indicates ESRAM initialized"
101 default n
102 select ENABLE_DEBUG_LED
103 help
104 Indicate that ESRAM has been successfully initialized.
105
106config ENABLE_DEBUG_LED_FINDFSP
107 bool "SD LED indicates fsp.bin file was found"
108 default n
109 select ENABLE_DEBUG_LED
110 help
111 Indicate that fsp.bin was found.
112
113config ENABLE_DEBUG_LED_TEMPRAMINIT
114 bool "SD LED indicates TempRamInit was successful"
115 default n
116 select ENABLE_DEBUG_LED
117 help
118 Indicate that TempRamInit was successful.
119
120#####
Lee Leahy87df8d02016-02-07 14:37:13 -0800121# ESRAM layout
122# Specify the portion of the ESRAM for coreboot to use as its data area.
123#####
124
125config DCACHE_RAM_BASE
126 hex
127 default 0x80070000
128
129config DCACHE_RAM_SIZE
130 hex
131 default 0x00008000
132
133#####
Lee Leahy9fd08952016-02-02 07:17:06 -0800134# Flash layout
135# Specify the size of the coreboot file system in the read-only
136# (recovery) portion of the flash part.
137#####
138
139config CBFS_SIZE
140 hex
141 default 0x200000
142 help
143 Specify the size of the coreboot file system in the read-only (recovery)
144 portion of the flash part. On Quark systems the firmware image stores
145 more than just coreboot, including:
146 - The chipset microcode (RMU) binary file located at 0xFFF00000
147 - Intel Trusted Execution Engine firmware
148
149#####
Lee Leahya7ba56e2016-02-07 10:42:14 -0800150# FSP binary
151# The following options control the FSP binary file placement in
152# the flash image and ESRAM. This file is required by the Quark
153# SoC code to boot coreboot and its payload.
154#####
155
156config ADD_FSP_RAW_BIN
157 bool "Add the Intel FSP binary to the flash image without relocation"
158 default n
159 depends on PLATFORM_USES_FSP1_1
160 help
161 Select this option to add an Intel FSP binary to
162 the resulting coreboot image.
163
164 Note: Without this binary, coreboot builds relying on the FSP
165 will not boot
166
167config FSP_FILE
168 string "Intel FSP binary path and filename"
169 default "3rdparty/blobs/soc/intel/quark/fsp.bin"
170 depends on PLATFORM_USES_FSP1_1
171 depends on ADD_FSP_RAW_BIN
172 help
173 The path and filename of the Intel FSP binary for this platform.
174
175config FSP_IMAGE_ID_STRING
176 string "8 byte platform string identifying the FSP platform"
177 default "QUK-FSP0"
178 depends on PLATFORM_USES_FSP1_1
179 help
180 8 ASCII character byte signature string that will help match the FSP
181 binary to a supported hardware configuration.
182
183config FSP_LOC
184 hex
185 default 0xfff80000
186 depends on PLATFORM_USES_FSP1_1
187 help
188 The location in CBFS that the FSP is located. This must match the
189 value that is set in the FSP binary. If the FSP needs to be moved,
190 rebase the FSP with Intel's BCT (tool).
191
192config FSP_ESRAM_LOC
193 hex
194 default 0x80000000
195 depends on PLATFORM_USES_FSP1_1
196 help
197 The location in ESRAM where a copy of the FSP binary is placed.
198
Lee Leahyd4edacb2016-02-08 07:12:30 -0800199config RELOCATE_FSP_INTO_DRAM
200 bool "Relocate FSP into DRAM"
201 default n
202 depends on PLATFORM_USES_FSP1_1
203 help
204 Relocate the FSP binary into DRAM before the call to SiliconInit.
205
Lee Leahya7ba56e2016-02-07 10:42:14 -0800206#####
Lee Leahy9fd08952016-02-02 07:17:06 -0800207# RMU binary
208# The following options control the Quark chipset microcode file
209# placement in the flash image. This file is required to bring
210# the Quark processor out of reset.
211#####
212
213config ADD_RMU_FILE
214 bool "Should the RMU binary be added to the flash image?"
215 default n
216 help
217 The RMU file is required to get the chip out of reset.
218
219config RMU_FILE
220 string
221 default "3rdparty/blobs/soc/intel/quark/rmu.bin"
222 depends on ADD_RMU_FILE
223 help
224 The path and filename of the Intel Quark RMU binary.
225
226config RMU_LOC
227 hex
228 default 0xfff00000
229 depends on ADD_RMU_FILE
230 help
231 The location in CBFS that the RMU is located. It must match the
232 strap-determined base address.
233
Lee Leahyce9e21a2016-06-05 18:48:31 -0700234#####
235# Bootblock
236# The following options support the C_ENVIRONMENT_BOOTBLOCK.
237#####
238
239config DCACHE_BSP_STACK_SIZE
240 hex
241 default 0x4000
242
243config C_ENV_BOOTBLOCK_SIZE
244 hex
245 default 0x8000
246
Lee Leahy2ed7eb72016-01-01 18:08:48 -0800247endif # SOC_INTEL_QUARK