summaryrefslogtreecommitdiffstats
path: root/src/soc/intel/quark/Kconfig
diff options
context:
space:
mode:
authorLee Leahy <leroy.p.leahy@intel.com>2016-02-02 07:17:06 -0800
committerLeroy P Leahy <leroy.p.leahy@intel.com>2016-02-08 20:15:05 +0100
commit9fd0895cb4a8cf8d4ece09d62628b6d4b91177ae (patch)
tree2337f3f48f7c4dce491edb04a7530e6749f83fda /src/soc/intel/quark/Kconfig
parentcff5f09e9340229cade13960f1c08ede7ec5596f (diff)
downloadcoreboot-9fd0895cb4a8cf8d4ece09d62628b6d4b91177ae.tar.gz
coreboot-9fd0895cb4a8cf8d4ece09d62628b6d4b91177ae.tar.bz2
coreboot-9fd0895cb4a8cf8d4ece09d62628b6d4b91177ae.zip
soc/intel/quark: Enable ESRAM
The Quark SoC uses ESRAM instead of cache-as-RAM. This code requires that utils/xcompile/xcompile change the machine architecture from i686 to i586 to ensure that the Quark does not attempt to execute unsupported instructions: * Adjust Makefile.inc to add the RMU to the coreboot image * Add code to enable the ESRAM Directly use the QuarkSocPkg/QuarkNorthCluster/Include/QuarkNcSocId.h file from the EDK2 tree (https://github.com/tianocore/edk2.git) to enable easy differences and correct issues in coreboot that were found in EDK2. Testing on Galileo: * Edit the src/mainboard/intel/galileo/Makefile.inc file * Add "select ADD_RMU_FILE" * Place the rmu.bin file in the location specified by CONFIG_RMU_FILE * Remove power from the board * Apply power to the board * Testing is successful if the SD LED is on indicating that the end of esram_init.inc was reached Change-Id: I91d919da144bb72a5d4c4a8050ffab256632a395 Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> Reviewed-on: https://review.coreboot.org/13440 Tested-by: build bot (Jenkins) Reviewed-by: FEI WANG <wangfei.jimei@gmail.com> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/soc/intel/quark/Kconfig')
-rw-r--r--src/soc/intel/quark/Kconfig44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/soc/intel/quark/Kconfig b/src/soc/intel/quark/Kconfig
index 866b66d01170..1bfab49c9552 100644
--- a/src/soc/intel/quark/Kconfig
+++ b/src/soc/intel/quark/Kconfig
@@ -28,4 +28,48 @@ config CPU_SPECIFIC_OPTIONS
select ARCH_VERSTAGE_X86_32
select USE_MARCH_586
+#####
+# 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
+
+#####
+# 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.
+
endif # SOC_INTEL_QUARK