aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2020-09-29 19:23:36 -0700
committerJulius Werner <jwerner@chromium.org>2020-10-13 22:41:19 +0000
commit87feced195e70e37d7977a394b4b9779ccdfc064 (patch)
treeb35665cb4126add72e0a38100b66a94305dbb2db /src
parent6b8305d24054a452716b748e406c0263607d3bcb (diff)
sc7180: Enable bootblock compression
This patch enables bootblock compression on SC7180. In my tests, that makes it boot roughly 10ms faster (which isn't much, but... might as well take it). Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: Ibbe06eeb05347cc77395681969e6eaf1598b4260 Reviewed-on: https://review.coreboot.org/c/coreboot/+/45855 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src')
-rw-r--r--src/arch/arm64/Makefile.inc1
-rw-r--r--src/soc/qualcomm/sc7180/Kconfig1
-rw-r--r--src/soc/qualcomm/sc7180/Makefile.inc4
-rw-r--r--src/soc/qualcomm/sc7180/bootblock.c2
-rw-r--r--src/soc/qualcomm/sc7180/decompressor.c9
-rw-r--r--src/soc/qualcomm/sc7180/memlayout.ld2
6 files changed, 16 insertions, 3 deletions
diff --git a/src/arch/arm64/Makefile.inc b/src/arch/arm64/Makefile.inc
index 920ff5db51..44517cb577 100644
--- a/src/arch/arm64/Makefile.inc
+++ b/src/arch/arm64/Makefile.inc
@@ -31,6 +31,7 @@ bootblock-y += id.S
$(call src-to-obj,decompressor,$(dir)/id.S): $(obj)/build.h
$(call src-to-obj,bootblock,$(dir)/id.S): $(obj)/build.h
+decompressor-$(CONFIG_ARM64_USE_ARCH_TIMER) += arch_timer.c
bootblock-$(CONFIG_ARM64_USE_ARCH_TIMER) += arch_timer.c
bootblock-y += transition.c transition_asm.S
diff --git a/src/soc/qualcomm/sc7180/Kconfig b/src/soc/qualcomm/sc7180/Kconfig
index 570b68a119..c66dc92768 100644
--- a/src/soc/qualcomm/sc7180/Kconfig
+++ b/src/soc/qualcomm/sc7180/Kconfig
@@ -18,6 +18,7 @@ config SOC_QUALCOMM_SC7180
select MAINBOARD_FORCE_NATIVE_VGA_INIT
select HAVE_LINEAR_FRAMEBUFFER
select CACHE_MRC_SETTINGS
+ select COMPRESS_BOOTBLOCK
if SOC_QUALCOMM_SC7180
diff --git a/src/soc/qualcomm/sc7180/Makefile.inc b/src/soc/qualcomm/sc7180/Makefile.inc
index a0d3bc6cda..7f52a9a178 100644
--- a/src/soc/qualcomm/sc7180/Makefile.inc
+++ b/src/soc/qualcomm/sc7180/Makefile.inc
@@ -1,6 +1,10 @@
ifeq ($(CONFIG_SOC_QUALCOMM_SC7180),y)
+decompressor-y += decompressor.c
+decompressor-y += mmu.c
+decompressor-y += timer.c
+
################################################################################
bootblock-y += bootblock.c
bootblock-y += mmu.c
diff --git a/src/soc/qualcomm/sc7180/bootblock.c b/src/soc/qualcomm/sc7180/bootblock.c
index 7dbaeecdf7..cfeb6f94f2 100644
--- a/src/soc/qualcomm/sc7180/bootblock.c
+++ b/src/soc/qualcomm/sc7180/bootblock.c
@@ -2,13 +2,11 @@
#include <bootblock_common.h>
#include <soc/clock.h>
-#include <soc/mmu.h>
#include <soc/qspi.h>
#include <soc/qupv3_config.h>
void bootblock_soc_init(void)
{
- sc7180_mmu_init();
clock_init();
quadspi_init(37500 * KHz);
qupv3_fw_init();
diff --git a/src/soc/qualcomm/sc7180/decompressor.c b/src/soc/qualcomm/sc7180/decompressor.c
new file mode 100644
index 0000000000..ac55150600
--- /dev/null
+++ b/src/soc/qualcomm/sc7180/decompressor.c
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <bootblock_common.h>
+#include <soc/mmu.h>
+
+void decompressor_soc_init(void)
+{
+ sc7180_mmu_init();
+}
diff --git a/src/soc/qualcomm/sc7180/memlayout.ld b/src/soc/qualcomm/sc7180/memlayout.ld
index 9b0adc4d5d..ce084780c6 100644
--- a/src/soc/qualcomm/sc7180/memlayout.ld
+++ b/src/soc/qualcomm/sc7180/memlayout.ld
@@ -22,7 +22,7 @@ SECTIONS
AOPSRAM_END(0x0B100000)
SSRAM_START(0x14680000)
- OVERLAP_VERSTAGE_ROMSTAGE(0x14680000, 100K)
+ OVERLAP_DECOMPRESSOR_VERSTAGE_ROMSTAGE(0x14680000, 100K)
REGION(qcsdi, 0x14699000, 52K, 4K)
SSRAM_END(0x146AE000)