diff --git a/configs/config.storm b/configs/config.storm index efae1ea83c..d1d3891f25 100644 --- a/configs/config.storm +++ b/configs/config.storm @@ -1,6 +1,7 @@ CONFIG_VENDOR_GOOGLE=y CONFIG_BOARD_GOOGLE_STORM=y -CONFIG_COREBOOT_ROMSIZE_KB_1024=y +CONFIG_COREBOOT_ROMSIZE_KB_4096=y # CONFIG_CONSOLE_SERIAL is not set CONFIG_COLLECT_TIMESTAMPS=y CONFIG_CONSOLE_CBMEM=y +CONFIG_USE_BLOBS=y diff --git a/src/soc/qualcomm/ipq806x/Kconfig b/src/soc/qualcomm/ipq806x/Kconfig index 5aa8906cf6..8e471ba893 100644 --- a/src/soc/qualcomm/ipq806x/Kconfig +++ b/src/soc/qualcomm/ipq806x/Kconfig @@ -15,11 +15,11 @@ config BOOTBLOCK_ROM_OFFSET config CBFS_HEADER_ROM_OFFSET hex "offset of master CBFS header in ROM" - default 0x18000 + default 0x221000 config CBFS_ROM_OFFSET hex "offset of CBFS data in ROM" - default 0x18080 + default 0x221080 config MBN_ENCAPSULATION depends on USE_BLOBS @@ -36,7 +36,7 @@ config SBL_BLOB vendor. config BOOTBLOCK_BASE - hex "64K bytes left for TZBSP" - default 0x2a010000 + hex "256K bytes left for TZBSP" + default 0x2a040000 endif diff --git a/src/soc/qualcomm/ipq806x/Makefile.inc b/src/soc/qualcomm/ipq806x/Makefile.inc index 7c4b48deb0..80e80fbf9b 100644 --- a/src/soc/qualcomm/ipq806x/Makefile.inc +++ b/src/soc/qualcomm/ipq806x/Makefile.inc @@ -7,12 +7,25 @@ romstage-y += timer.c ramstage-y += cbfs.c ramstage-y += timer.c -ifeq ($(CONFIG_MBN_ENCAPSULATION),y) +ifeq ($(CONFIG_USE_BLOBS),y) -$(objcbfs)/%.bin: $(objcbfs)/%.elf +# Generate the actual coreboot bootblock code +$(objcbfs)/bootblock.raw: $(objcbfs)/bootblock.elf @printf " OBJCOPY $(subst $(obj)/,,$(@))\n" - $(OBJCOPY) -O binary $< $@.prembn - @printf " ADD MBN $(subst $(obj)/,,$(@))\n" - ./util/ipqheader/ipqheader.py $(CONFIG_BOOTBLOCK_BASE) $@.prembn $@.tmp + $(OBJCOPY) -O binary $< $@.tmp @mv $@.tmp $@ -endif \ No newline at end of file + +# Add MBN header to allow SBL3 to start coreboot bootblock +$(objcbfs)/bootblock.mbn: $(objcbfs)/bootblock.raw + @printf " ADD MBN $(subst $(obj)/,,$(@))\n" + ./util/ipqheader/ipqheader.py $(CONFIG_BOOTBLOCK_BASE) $< $@.tmp + @mv $@.tmp $@ + +# Create a complete bootblock which will start up the system +$(objcbfs)/bootblock.bin: ./$(call strip_quotes,$(CONFIG_SBL_BLOB)) \ + $(objcbfs)/bootblock.mbn + @printf " CAT $(subst $(obj)/,,$(@))\n" + @cat $^ > $@.tmp + @mv $@.tmp $@ + +endif