2016-01-02 03:08:48 +01:00
|
|
|
##
|
|
|
|
## This file is part of the coreboot project.
|
|
|
|
##
|
|
|
|
## Copyright (C) 2015-2016 Intel Corp.
|
|
|
|
##
|
|
|
|
## This program is free software; you can redistribute it and/or modify
|
|
|
|
## it under the terms of the GNU General Public License as published by
|
|
|
|
## the Free Software Foundation; version 2 of the License.
|
|
|
|
##
|
|
|
|
## This program is distributed in the hope that it will be useful,
|
|
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
## GNU General Public License for more details.
|
|
|
|
##
|
|
|
|
|
|
|
|
config SOC_INTEL_QUARK
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
Intel Quark support
|
|
|
|
|
|
|
|
if SOC_INTEL_QUARK
|
|
|
|
|
|
|
|
config CPU_SPECIFIC_OPTIONS
|
|
|
|
def_bool y
|
|
|
|
select ARCH_BOOTBLOCK_X86_32
|
|
|
|
select ARCH_RAMSTAGE_X86_32
|
|
|
|
select ARCH_ROMSTAGE_X86_32
|
|
|
|
select ARCH_VERSTAGE_X86_32
|
2016-06-06 03:48:31 +02:00
|
|
|
select BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP
|
|
|
|
select C_ENVIRONMENT_BOOTBLOCK
|
2016-07-30 19:34:22 +02:00
|
|
|
select HAVE_HARD_RESET
|
2016-12-31 17:21:56 +01:00
|
|
|
select HAVE_MONOTONIC_TIMER
|
2016-12-28 21:53:37 +01:00
|
|
|
select NO_MMCONF_SUPPORT
|
2016-05-02 23:31:02 +02:00
|
|
|
select REG_SCRIPT
|
2016-07-21 23:14:02 +02:00
|
|
|
select RELOCATABLE_RAMSTAGE
|
2016-02-07 23:37:13 +01:00
|
|
|
select SOC_INTEL_COMMON
|
2016-07-30 19:34:22 +02:00
|
|
|
select SOC_INTEL_COMMON_RESET
|
2016-07-24 17:03:37 +02:00
|
|
|
select SOC_SETS_MSRS
|
2016-02-07 23:37:13 +01:00
|
|
|
select TSC_CONSTANT_RATE
|
2016-05-07 18:04:46 +02:00
|
|
|
select UART_OVERRIDE_REFCLK
|
2016-02-07 23:37:13 +01:00
|
|
|
select UDELAY_TSC
|
2016-02-07 23:52:22 +01:00
|
|
|
select UNCOMPRESSED_RAMSTAGE
|
2016-01-02 03:08:48 +01:00
|
|
|
select USE_MARCH_586
|
|
|
|
|
2016-12-28 21:53:37 +01:00
|
|
|
config MMCOMF_SUPPORT_DEFAULT
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2016-02-07 23:37:13 +01:00
|
|
|
#####
|
|
|
|
# Debug serial output
|
|
|
|
# The following options configure the debug serial port
|
|
|
|
#####
|
|
|
|
|
2016-05-31 00:01:06 +02:00
|
|
|
config ENABLE_BUILTIN_HSUART0
|
|
|
|
bool "Enable built-in HSUART0"
|
|
|
|
default n
|
|
|
|
select NO_UART_ON_SUPERIO
|
|
|
|
select DRIVERS_UART_8250MEM_32
|
|
|
|
help
|
|
|
|
The Quark SoC has two HSUART. Choose this option to configure the pads
|
|
|
|
and enable HSUART0, which can be used for the debug console.
|
|
|
|
|
2016-02-07 23:37:13 +01:00
|
|
|
config ENABLE_BUILTIN_HSUART1
|
|
|
|
bool "Enable built-in HSUART1"
|
2016-05-31 00:01:06 +02:00
|
|
|
default n
|
|
|
|
depends on ! ENABLE_BUILTIN_HSUART0
|
2016-02-07 23:37:13 +01:00
|
|
|
select NO_UART_ON_SUPERIO
|
|
|
|
select DRIVERS_UART_8250MEM_32
|
|
|
|
help
|
|
|
|
The Quark SoC has two HSUART. Choose this option to configure the pads
|
|
|
|
and enable HSUART1, which can be used for the debug console.
|
|
|
|
|
|
|
|
config TTYS0_BASE
|
2016-05-31 00:01:06 +02:00
|
|
|
hex "HSUART Base Address"
|
2016-02-07 23:37:13 +01:00
|
|
|
default 0xA0019000
|
2016-05-31 00:01:06 +02:00
|
|
|
depends on ENABLE_BUILTIN_HSUART0 || ENABLE_BUILTIN_HSUART1
|
2016-02-07 23:37:13 +01:00
|
|
|
help
|
2016-05-31 00:01:06 +02:00
|
|
|
Memory mapped MMIO of HSUART.
|
2016-02-07 23:37:13 +01:00
|
|
|
|
|
|
|
config TTYS0_LCS
|
|
|
|
int
|
|
|
|
default 3
|
2016-05-31 00:01:06 +02:00
|
|
|
depends on ENABLE_BUILTIN_HSUART0 || ENABLE_BUILTIN_HSUART1
|
2016-02-07 23:37:13 +01:00
|
|
|
|
2016-05-31 00:01:06 +02:00
|
|
|
# Console: PCI UART bus 0 << 20, device 20 << 15, function x << 12
|
2016-05-04 21:50:51 +02:00
|
|
|
# Valid bit, PCI UART in use: 1 << 31
|
|
|
|
config UART_PCI_ADDR
|
|
|
|
hex
|
2016-05-31 00:01:06 +02:00
|
|
|
default 0x800a1000 if ENABLE_BUILTIN_HSUART0
|
|
|
|
default 0x800a5000 if ENABLE_BUILTIN_HSUART1
|
|
|
|
depends on ENABLE_BUILTIN_HSUART0 || ENABLE_BUILTIN_HSUART1
|
2016-05-04 21:50:51 +02:00
|
|
|
|
2016-02-07 19:42:14 +01:00
|
|
|
#####
|
|
|
|
# Debug support
|
|
|
|
# The following options provide debug support for the Quark coreboot
|
|
|
|
# code. The SD LED is used as a binary marker to determine if a
|
|
|
|
# specific point in the execution flow has been reached.
|
|
|
|
#####
|
|
|
|
|
|
|
|
config ENABLE_DEBUG_LED
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Enable the use of the SD LED for early debugging before serial output
|
|
|
|
is available. Setting this LED indicates that control has reached the
|
|
|
|
desired check point.
|
|
|
|
|
|
|
|
config ENABLE_DEBUG_LED_ESRAM
|
|
|
|
bool "SD LED indicates ESRAM initialized"
|
|
|
|
default n
|
|
|
|
select ENABLE_DEBUG_LED
|
|
|
|
help
|
2016-12-28 20:43:10 +01:00
|
|
|
Indicate that ESRAM has been successfully initialized. If the SD LED
|
|
|
|
does not light then the ESRAM initialization needs to be debugged.
|
2016-02-07 19:42:14 +01:00
|
|
|
|
|
|
|
config ENABLE_DEBUG_LED_FINDFSP
|
|
|
|
bool "SD LED indicates fsp.bin file was found"
|
2016-12-28 20:43:10 +01:00
|
|
|
depends on PLATFORM_USES_FSP1_1
|
2016-02-07 19:42:14 +01:00
|
|
|
default n
|
|
|
|
select ENABLE_DEBUG_LED
|
|
|
|
help
|
2016-12-28 20:43:10 +01:00
|
|
|
Indicate that fsp.bin was found. If the SD LED does not light then
|
|
|
|
the code between ESRAM initialization through find_fsp needs to
|
|
|
|
debugged. Start by verifying that the correct fsp.bin is in the
|
|
|
|
image.
|
2016-02-07 19:42:14 +01:00
|
|
|
|
2016-12-28 20:43:10 +01:00
|
|
|
config ENABLE_DEBUG_LED_BOOTBLOCK_ENTRY
|
|
|
|
bool "SD LED indicates bootblock.c successfully entered"
|
2016-02-07 19:42:14 +01:00
|
|
|
default n
|
|
|
|
select ENABLE_DEBUG_LED
|
|
|
|
help
|
2016-12-28 20:43:10 +01:00
|
|
|
Indicate that bootblock_c_entry was entered. If the SD LED does not
|
|
|
|
light then debug the code between ESRAM and bootblock_c_entry. For
|
|
|
|
FSP 1.1, use ENABLE_DEBUG_LED_FINDFSP to split this code.
|
|
|
|
|
|
|
|
config ENABLE_DEBUG_LED_SOC_EARLY_INIT_ENTRY
|
|
|
|
bool "SD LED indicates bootblock_soc_early_init successfully entered"
|
|
|
|
default n
|
|
|
|
select ENABLE_DEBUG_LED
|
|
|
|
help
|
|
|
|
Indicate that bootblock_soc_early_init was entered. If the SD LED
|
|
|
|
does not light then debug the code in bootblock_main_with_timestamp.
|
|
|
|
|
|
|
|
config ENABLE_DEBUG_LED_SOC_EARLY_INIT_EXIT
|
|
|
|
bool "SD LED indicates bootblock_soc_early_init successfully exited"
|
|
|
|
default n
|
|
|
|
select ENABLE_DEBUG_LED
|
|
|
|
help
|
|
|
|
Indicate that bootblock_soc_early_init exited. If the SD LED does not
|
|
|
|
light then debug the scripts in bootblock_soc_early_init.
|
|
|
|
|
|
|
|
config ENABLE_DEBUG_LED_SOC_INIT_ENTRY
|
|
|
|
bool "SD LED indicates bootblock_soc_init successfully entered"
|
|
|
|
default n
|
|
|
|
select ENABLE_DEBUG_LED
|
|
|
|
help
|
|
|
|
Indicate that bootblock_soc_init was entered. If the SD LED does not
|
|
|
|
light then debug the code in bootblock_mainboard_early_init and
|
|
|
|
console_init. If the SD LED does light but there is no serial then
|
|
|
|
debug the serial port configuration and initialization.
|
2016-02-07 19:42:14 +01:00
|
|
|
|
2016-02-07 23:37:13 +01:00
|
|
|
#####
|
|
|
|
# ESRAM layout
|
|
|
|
# Specify the portion of the ESRAM for coreboot to use as its data area.
|
|
|
|
#####
|
|
|
|
|
|
|
|
config DCACHE_RAM_BASE
|
|
|
|
hex
|
2016-07-25 16:41:54 +02:00
|
|
|
default 0x80070000 if PLATFORM_USES_FSP1_1
|
|
|
|
default 0x80000000
|
2016-02-07 23:37:13 +01:00
|
|
|
|
|
|
|
config DCACHE_RAM_SIZE
|
|
|
|
hex
|
2016-07-25 16:41:54 +02:00
|
|
|
default 0x8000 if PLATFORM_USES_FSP1_1
|
|
|
|
default 0x40000
|
2016-02-07 23:37:13 +01:00
|
|
|
|
2016-07-25 19:14:07 +02:00
|
|
|
config DISPLAY_ESRAM_LAYOUT
|
|
|
|
bool "Display ESRAM layout"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Select this option to display coreboot's use of ESRAM.
|
|
|
|
|
2016-02-02 16:17:06 +01:00
|
|
|
#####
|
|
|
|
# Flash layout
|
|
|
|
# Specify the size of the coreboot file system in the read-only
|
|
|
|
# (recovery) portion of the flash part.
|
|
|
|
#####
|
|
|
|
|
|
|
|
config CBFS_SIZE
|
|
|
|
hex
|
|
|
|
default 0x200000
|
|
|
|
help
|
|
|
|
Specify the size of the coreboot file system in the read-only (recovery)
|
|
|
|
portion of the flash part. On Quark systems the firmware image stores
|
|
|
|
more than just coreboot, including:
|
|
|
|
- The chipset microcode (RMU) binary file located at 0xFFF00000
|
|
|
|
- Intel Trusted Execution Engine firmware
|
|
|
|
|
2016-02-07 19:42:14 +01:00
|
|
|
#####
|
|
|
|
# FSP binary
|
|
|
|
# The following options control the FSP binary file placement in
|
|
|
|
# the flash image and ESRAM. This file is required by the Quark
|
|
|
|
# SoC code to boot coreboot and its payload.
|
|
|
|
#####
|
|
|
|
|
|
|
|
config ADD_FSP_RAW_BIN
|
|
|
|
bool "Add the Intel FSP binary to the flash image without relocation"
|
|
|
|
default n
|
|
|
|
depends on PLATFORM_USES_FSP1_1
|
|
|
|
help
|
|
|
|
Select this option to add an Intel FSP binary to
|
|
|
|
the resulting coreboot image.
|
|
|
|
|
|
|
|
Note: Without this binary, coreboot builds relying on the FSP
|
|
|
|
will not boot
|
|
|
|
|
|
|
|
config FSP_FILE
|
|
|
|
string "Intel FSP binary path and filename"
|
2016-09-29 03:03:13 +02:00
|
|
|
default "3rdparty/blobs/soc/intel/quark/$(CONFIG_FSP_TYPE)/$(CONFIG_FSP_BUILD_TYPE)/FSP.fd"
|
2016-02-07 19:42:14 +01:00
|
|
|
depends on PLATFORM_USES_FSP1_1
|
|
|
|
depends on ADD_FSP_RAW_BIN
|
|
|
|
help
|
|
|
|
The path and filename of the Intel FSP binary for this platform.
|
|
|
|
|
|
|
|
config FSP_LOC
|
|
|
|
hex
|
|
|
|
default 0xfff80000
|
|
|
|
depends on PLATFORM_USES_FSP1_1
|
|
|
|
help
|
|
|
|
The location in CBFS that the FSP is located. This must match the
|
|
|
|
value that is set in the FSP binary. If the FSP needs to be moved,
|
|
|
|
rebase the FSP with Intel's BCT (tool).
|
|
|
|
|
|
|
|
config FSP_ESRAM_LOC
|
|
|
|
hex
|
2016-07-25 19:14:07 +02:00
|
|
|
default 0x80000000 if PLATFORM_USES_FSP1_1
|
|
|
|
default 0x80040000
|
2016-02-07 19:42:14 +01:00
|
|
|
help
|
|
|
|
The location in ESRAM where a copy of the FSP binary is placed.
|
|
|
|
|
2016-02-08 16:12:30 +01:00
|
|
|
config RELOCATE_FSP_INTO_DRAM
|
|
|
|
bool "Relocate FSP into DRAM"
|
|
|
|
default n
|
|
|
|
depends on PLATFORM_USES_FSP1_1
|
|
|
|
help
|
|
|
|
Relocate the FSP binary into DRAM before the call to SiliconInit.
|
|
|
|
|
2016-07-25 19:14:07 +02:00
|
|
|
config FSP_M_FILE
|
|
|
|
string
|
|
|
|
depends on PLATFORM_USES_FSP2_0
|
2016-09-29 03:03:13 +02:00
|
|
|
default "3rdparty/blobs/soc/intel/quark/$(CONFIG_FSP_TYPE)/$(CONFIG_FSP_BUILD_TYPE)/FSP_M.fd"
|
2016-07-25 19:14:07 +02:00
|
|
|
|
|
|
|
config FSP_S_FILE
|
|
|
|
string
|
|
|
|
depends on PLATFORM_USES_FSP2_0
|
2016-09-29 03:03:13 +02:00
|
|
|
default "3rdparty/blobs/soc/intel/quark/$(CONFIG_FSP_TYPE)/$(CONFIG_FSP_BUILD_TYPE)/FSP_S.fd"
|
2016-07-25 19:14:07 +02:00
|
|
|
|
2016-02-02 16:17:06 +01:00
|
|
|
#####
|
|
|
|
# RMU binary
|
|
|
|
# The following options control the Quark chipset microcode file
|
|
|
|
# placement in the flash image. This file is required to bring
|
|
|
|
# the Quark processor out of reset.
|
|
|
|
#####
|
|
|
|
|
|
|
|
config ADD_RMU_FILE
|
|
|
|
bool "Should the RMU binary be added to the flash image?"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
The RMU file is required to get the chip out of reset.
|
|
|
|
|
|
|
|
config RMU_FILE
|
|
|
|
string
|
|
|
|
default "3rdparty/blobs/soc/intel/quark/rmu.bin"
|
|
|
|
depends on ADD_RMU_FILE
|
|
|
|
help
|
|
|
|
The path and filename of the Intel Quark RMU binary.
|
|
|
|
|
|
|
|
config RMU_LOC
|
|
|
|
hex
|
|
|
|
default 0xfff00000
|
|
|
|
depends on ADD_RMU_FILE
|
|
|
|
help
|
|
|
|
The location in CBFS that the RMU is located. It must match the
|
|
|
|
strap-determined base address.
|
|
|
|
|
2016-06-06 03:48:31 +02:00
|
|
|
#####
|
|
|
|
# Bootblock
|
|
|
|
# The following options support the C_ENVIRONMENT_BOOTBLOCK.
|
|
|
|
#####
|
|
|
|
|
|
|
|
config DCACHE_BSP_STACK_SIZE
|
|
|
|
hex
|
|
|
|
default 0x4000
|
|
|
|
|
|
|
|
config C_ENV_BOOTBLOCK_SIZE
|
|
|
|
hex
|
|
|
|
default 0x8000
|
|
|
|
|
2017-04-02 05:33:58 +02:00
|
|
|
#####
|
|
|
|
# Test support
|
|
|
|
#####
|
|
|
|
|
|
|
|
config STORAGE_TEST
|
|
|
|
bool "Test SD/MMC/eMMC card or device access"
|
|
|
|
default n
|
2017-05-09 01:56:03 +02:00
|
|
|
select COMMONLIB_STORAGE
|
2017-04-02 05:33:58 +02:00
|
|
|
select SDHCI_CONTROLLER
|
|
|
|
help
|
2017-05-09 01:56:03 +02:00
|
|
|
Read block 0 from each parition of the storage device. User
|
|
|
|
must also enable one or both of COMMONLIB_STORAGE_SD or
|
|
|
|
COMMONLIB_STORAGE_MMC.
|
2017-04-02 05:33:58 +02:00
|
|
|
|
|
|
|
config STORAGE_LOG
|
|
|
|
bool "Log and display SD/MMC commands"
|
|
|
|
default n
|
|
|
|
depends on STORAGE_TEST
|
|
|
|
|
2016-01-02 03:08:48 +01:00
|
|
|
endif # SOC_INTEL_QUARK
|