2020-05-07 12:38:15 +02:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2016-01-02 03:08:48 +01:00
|
|
|
|
|
|
|
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-12-28 21:53:37 +01:00
|
|
|
select NO_MMCONF_SUPPORT
|
2016-05-02 23:31:02 +02:00
|
|
|
select REG_SCRIPT
|
2019-10-24 00:19:45 +02:00
|
|
|
select PLATFORM_USES_FSP2_0
|
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
|
2017-05-24 22:23:26 +02:00
|
|
|
select SPI_FLASH
|
2016-05-07 18:04:46 +02:00
|
|
|
select UART_OVERRIDE_REFCLK
|
2016-02-07 23:37:13 +01:00
|
|
|
select UDELAY_TSC
|
2019-11-01 17:25:46 +01:00
|
|
|
select TSC_MONOTONIC_TIMER
|
2016-02-07 23:52:22 +01:00
|
|
|
select UNCOMPRESSED_RAMSTAGE
|
2016-01-02 03:08:48 +01:00
|
|
|
select USE_MARCH_586
|
2019-08-29 07:51:27 +02:00
|
|
|
select NO_SMM
|
2016-01-02 03:08:48 +01:00
|
|
|
|
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
|
|
|
|
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
|
2019-10-24 00:19:45 +02:00
|
|
|
light then debug the code between ESRAM and bootblock_c_entry.
|
2016-12-28 20:43:10 +01:00
|
|
|
|
|
|
|
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 0x80000000
|
2016-02-07 23:37:13 +01:00
|
|
|
|
|
|
|
config DCACHE_RAM_SIZE
|
|
|
|
hex
|
2016-07-25 16:41:54 +02:00
|
|
|
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 FSP_ESRAM_LOC
|
|
|
|
hex
|
2016-07-25 19:14:07 +02:00
|
|
|
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-07-25 19:14:07 +02:00
|
|
|
config FSP_M_FILE
|
|
|
|
string
|
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
|
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
|
|
|
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
|
|
|
|
|
2017-06-30 02:29:07 +02:00
|
|
|
#####
|
|
|
|
# I2C debug support
|
|
|
|
#####
|
|
|
|
|
|
|
|
config I2C_DEBUG
|
|
|
|
bool "Enable I2C debugging"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Display the I2C segments and controller errors
|
|
|
|
|
2016-01-02 03:08:48 +01:00
|
|
|
endif # SOC_INTEL_QUARK
|