blob: 631755cca1d8cc9a2de4ef1e5bcdb4dfd24c6320 [file] [log] [blame]
Elyes HAOUASf7b2fe62020-05-07 12:38:15 +02001# SPDX-License-Identifier: GPL-2.0-only
Lee Leahy2ed7eb72016-01-01 18:08:48 -08002
3config SOC_INTEL_QUARK
4 bool
5 help
6 Intel Quark support
7
8if SOC_INTEL_QUARK
9
10config CPU_SPECIFIC_OPTIONS
11 def_bool y
Kyösti Mälkki10bdee12023-04-11 01:00:17 +030012 select ACPI_NO_CUSTOM_MADT
Angel Pons8e035e32021-06-22 12:58:20 +020013 select ARCH_X86
Shelley Chen4e9bb332021-10-20 15:43:45 -070014 select NO_ECAM_MMCONF_SUPPORT
Subrata Banik34f26b22022-02-10 12:38:02 +053015 select NO_SMM
Lee Leahy4dd34ee2016-05-02 14:31:02 -070016 select REG_SCRIPT
Michael Niewöhnerb17f3d32019-10-24 00:19:45 +020017 select PLATFORM_USES_FSP2_0
Lee Leahy87df8d02016-02-07 14:37:13 -080018 select SOC_INTEL_COMMON
Lee Leahy6e8233a2016-07-30 10:34:22 -070019 select SOC_INTEL_COMMON_RESET
Lee Leahyae738ac2016-07-24 08:03:37 -070020 select SOC_SETS_MSRS
Lee Leahyd9351092017-05-24 13:23:26 -070021 select SPI_FLASH
Lee Leahy6ec72c92016-05-07 09:04:46 -070022 select UART_OVERRIDE_REFCLK
Lee Leahy87df8d02016-02-07 14:37:13 -080023 select UDELAY_TSC
Kyösti Mälkkiddd6ca72019-11-01 18:25:46 +020024 select TSC_MONOTONIC_TIMER
Lee Leahy43cdff62016-02-07 14:52:22 -080025 select UNCOMPRESSED_RAMSTAGE
Subrata Banik34f26b22022-02-10 12:38:02 +053026 select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
27 select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT
28 select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
Lee Leahy2ed7eb72016-01-01 18:08:48 -080029 select USE_MARCH_586
30
Lee Leahy9fd08952016-02-02 07:17:06 -080031#####
Lee Leahy87df8d02016-02-07 14:37:13 -080032# Debug serial output
33# The following options configure the debug serial port
34#####
35
Lee Leahybc518d52016-05-30 15:01:06 -070036config ENABLE_BUILTIN_HSUART0
37 bool "Enable built-in HSUART0"
38 default n
39 select NO_UART_ON_SUPERIO
40 select DRIVERS_UART_8250MEM_32
41 help
42 The Quark SoC has two HSUART. Choose this option to configure the pads
43 and enable HSUART0, which can be used for the debug console.
44
Lee Leahy87df8d02016-02-07 14:37:13 -080045config ENABLE_BUILTIN_HSUART1
46 bool "Enable built-in HSUART1"
Lee Leahybc518d52016-05-30 15:01:06 -070047 default n
48 depends on ! ENABLE_BUILTIN_HSUART0
Lee Leahy87df8d02016-02-07 14:37:13 -080049 select NO_UART_ON_SUPERIO
50 select DRIVERS_UART_8250MEM_32
51 help
52 The Quark SoC has two HSUART. Choose this option to configure the pads
53 and enable HSUART1, which can be used for the debug console.
54
55config TTYS0_BASE
Lee Leahybc518d52016-05-30 15:01:06 -070056 hex "HSUART Base Address"
Lee Leahy87df8d02016-02-07 14:37:13 -080057 default 0xA0019000
Lee Leahybc518d52016-05-30 15:01:06 -070058 depends on ENABLE_BUILTIN_HSUART0 || ENABLE_BUILTIN_HSUART1
Lee Leahy87df8d02016-02-07 14:37:13 -080059 help
Lee Leahybc518d52016-05-30 15:01:06 -070060 Memory mapped MMIO of HSUART.
Lee Leahy87df8d02016-02-07 14:37:13 -080061
62config TTYS0_LCS
63 int
Lee Leahy87df8d02016-02-07 14:37:13 -080064 default 3
Lee Leahybc518d52016-05-30 15:01:06 -070065 depends on ENABLE_BUILTIN_HSUART0 || ENABLE_BUILTIN_HSUART1
Lee Leahy87df8d02016-02-07 14:37:13 -080066
67#####
Lee Leahya7ba56e2016-02-07 10:42:14 -080068# Debug support
69# The following options provide debug support for the Quark coreboot
70# code. The SD LED is used as a binary marker to determine if a
71# specific point in the execution flow has been reached.
72#####
73
74config ENABLE_DEBUG_LED
75 bool
76 default n
77 help
78 Enable the use of the SD LED for early debugging before serial output
79 is available. Setting this LED indicates that control has reached the
80 desired check point.
81
82config ENABLE_DEBUG_LED_ESRAM
83 bool "SD LED indicates ESRAM initialized"
84 default n
85 select ENABLE_DEBUG_LED
86 help
Lee Leahya7650902016-12-28 11:43:10 -080087 Indicate that ESRAM has been successfully initialized. If the SD LED
88 does not light then the ESRAM initialization needs to be debugged.
Lee Leahya7ba56e2016-02-07 10:42:14 -080089
Lee Leahya7650902016-12-28 11:43:10 -080090config ENABLE_DEBUG_LED_BOOTBLOCK_ENTRY
91 bool "SD LED indicates bootblock.c successfully entered"
Lee Leahya7ba56e2016-02-07 10:42:14 -080092 default n
93 select ENABLE_DEBUG_LED
94 help
Lee Leahya7650902016-12-28 11:43:10 -080095 Indicate that bootblock_c_entry was entered. If the SD LED does not
Michael Niewöhnerb17f3d32019-10-24 00:19:45 +020096 light then debug the code between ESRAM and bootblock_c_entry.
Lee Leahya7650902016-12-28 11:43:10 -080097
98config ENABLE_DEBUG_LED_SOC_EARLY_INIT_ENTRY
99 bool "SD LED indicates bootblock_soc_early_init successfully entered"
100 default n
101 select ENABLE_DEBUG_LED
102 help
103 Indicate that bootblock_soc_early_init was entered. If the SD LED
104 does not light then debug the code in bootblock_main_with_timestamp.
105
106config ENABLE_DEBUG_LED_SOC_EARLY_INIT_EXIT
107 bool "SD LED indicates bootblock_soc_early_init successfully exited"
108 default n
109 select ENABLE_DEBUG_LED
110 help
111 Indicate that bootblock_soc_early_init exited. If the SD LED does not
112 light then debug the scripts in bootblock_soc_early_init.
113
114config ENABLE_DEBUG_LED_SOC_INIT_ENTRY
115 bool "SD LED indicates bootblock_soc_init successfully entered"
116 default n
117 select ENABLE_DEBUG_LED
118 help
119 Indicate that bootblock_soc_init was entered. If the SD LED does not
120 light then debug the code in bootblock_mainboard_early_init and
121 console_init. If the SD LED does light but there is no serial then
122 debug the serial port configuration and initialization.
Lee Leahya7ba56e2016-02-07 10:42:14 -0800123
124#####
Lee Leahy87df8d02016-02-07 14:37:13 -0800125# ESRAM layout
126# Specify the portion of the ESRAM for coreboot to use as its data area.
127#####
128
129config DCACHE_RAM_BASE
130 hex
Lee Leahy102f6252016-07-25 07:41:54 -0700131 default 0x80000000
Lee Leahy87df8d02016-02-07 14:37:13 -0800132
133config DCACHE_RAM_SIZE
134 hex
Lee Leahy102f6252016-07-25 07:41:54 -0700135 default 0x40000
Lee Leahy87df8d02016-02-07 14:37:13 -0800136
Lee Leahyf26fc0f2016-07-25 10:14:07 -0700137config DISPLAY_ESRAM_LAYOUT
138 bool "Display ESRAM layout"
139 default n
Lee Leahyf26fc0f2016-07-25 10:14:07 -0700140 help
141 Select this option to display coreboot's use of ESRAM.
142
Lee Leahy87df8d02016-02-07 14:37:13 -0800143#####
Lee Leahy9fd08952016-02-02 07:17:06 -0800144# Flash layout
145# Specify the size of the coreboot file system in the read-only
146# (recovery) portion of the flash part.
147#####
148
149config CBFS_SIZE
Lee Leahy9fd08952016-02-02 07:17:06 -0800150 default 0x200000
151 help
152 Specify the size of the coreboot file system in the read-only (recovery)
153 portion of the flash part. On Quark systems the firmware image stores
154 more than just coreboot, including:
155 - The chipset microcode (RMU) binary file located at 0xFFF00000
156 - Intel Trusted Execution Engine firmware
157
158#####
Lee Leahya7ba56e2016-02-07 10:42:14 -0800159# FSP binary
160# The following options control the FSP binary file placement in
161# the flash image and ESRAM. This file is required by the Quark
162# SoC code to boot coreboot and its payload.
163#####
164
Lee Leahya7ba56e2016-02-07 10:42:14 -0800165config FSP_ESRAM_LOC
166 hex
Lee Leahyf26fc0f2016-07-25 10:14:07 -0700167 default 0x80040000
Lee Leahya7ba56e2016-02-07 10:42:14 -0800168 help
169 The location in ESRAM where a copy of the FSP binary is placed.
170
Lee Leahyf26fc0f2016-07-25 10:14:07 -0700171config FSP_M_FILE
172 string
Patrick Georgib8fba862020-06-17 21:06:53 +0200173 default "3rdparty/blobs/soc/intel/quark/\$(CONFIG_FSP_TYPE)/\$(CONFIG_FSP_BUILD_TYPE)/FSP_M.fd"
Lee Leahyf26fc0f2016-07-25 10:14:07 -0700174
175config FSP_S_FILE
176 string
Patrick Georgib8fba862020-06-17 21:06:53 +0200177 default "3rdparty/blobs/soc/intel/quark/\$(CONFIG_FSP_TYPE)/\$(CONFIG_FSP_BUILD_TYPE)/FSP_S.fd"
Lee Leahyf26fc0f2016-07-25 10:14:07 -0700178
Lee Leahya7ba56e2016-02-07 10:42:14 -0800179#####
Lee Leahy9fd08952016-02-02 07:17:06 -0800180# RMU binary
181# The following options control the Quark chipset microcode file
182# placement in the flash image. This file is required to bring
183# the Quark processor out of reset.
184#####
185
186config ADD_RMU_FILE
187 bool "Should the RMU binary be added to the flash image?"
188 default n
189 help
190 The RMU file is required to get the chip out of reset.
191
192config RMU_FILE
193 string
194 default "3rdparty/blobs/soc/intel/quark/rmu.bin"
195 depends on ADD_RMU_FILE
196 help
197 The path and filename of the Intel Quark RMU binary.
198
199config RMU_LOC
200 hex
201 default 0xfff00000
202 depends on ADD_RMU_FILE
203 help
204 The location in CBFS that the RMU is located. It must match the
205 strap-determined base address.
206
Lee Leahyce9e21a2016-06-05 18:48:31 -0700207config DCACHE_BSP_STACK_SIZE
208 hex
209 default 0x4000
210
Lee Leahy16bc9ba2017-04-01 20:33:58 -0700211#####
212# Test support
213#####
214
215config STORAGE_TEST
216 bool "Test SD/MMC/eMMC card or device access"
217 default n
Lee Leahy48dbc662017-05-08 16:56:03 -0700218 select COMMONLIB_STORAGE
Lee Leahy16bc9ba2017-04-01 20:33:58 -0700219 select SDHCI_CONTROLLER
220 help
Martin Roth26f97f92021-10-01 14:53:22 -0600221 Read block 0 from each partition of the storage device. User
Lee Leahy48dbc662017-05-08 16:56:03 -0700222 must also enable one or both of COMMONLIB_STORAGE_SD or
223 COMMONLIB_STORAGE_MMC.
Lee Leahy16bc9ba2017-04-01 20:33:58 -0700224
225config STORAGE_LOG
226 bool "Log and display SD/MMC commands"
227 default n
228 depends on STORAGE_TEST
229
Lee Leahy5764cbb2017-06-29 17:29:07 -0700230#####
231# I2C debug support
232#####
233
234config I2C_DEBUG
235 bool "Enable I2C debugging"
236 default n
237 help
238 Display the I2C segments and controller errors
239
Lee Leahy2ed7eb72016-01-01 18:08:48 -0800240endif # SOC_INTEL_QUARK