summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arch/arm/armv7/bootblock.S12
-rw-r--r--src/soc/samsung/exynos5250/Kconfig11
-rw-r--r--src/soc/samsung/exynos5250/Makefile.inc17
-rw-r--r--src/soc/samsung/exynos5420/Kconfig6
-rw-r--r--src/soc/samsung/exynos5420/Makefile.inc17
5 files changed, 24 insertions, 39 deletions
diff --git a/src/arch/arm/armv7/bootblock.S b/src/arch/arm/armv7/bootblock.S
index b28a787839..82bd79e19a 100644
--- a/src/arch/arm/armv7/bootblock.S
+++ b/src/arch/arm/armv7/bootblock.S
@@ -31,17 +31,7 @@
.section ".start", "a", %progbits
.globl _start
-_start: b reset
- .balignl 16,0xdeadbeef
-
-_cbfs_master_header:
- /* The CBFS master header is inserted by cbfstool at the first
- * aligned offset after the above anchor string is found.
- * Hence, we leave some space for it.
- */
- .skip 128 @ Assumes 64-byte alignment
-
-reset:
+_start:
/*
* Set the cpu to System mode with IRQ and FIQ disabled. Prefetch/Data
* aborts may happen early and crash before the abort handlers are
diff --git a/src/soc/samsung/exynos5250/Kconfig b/src/soc/samsung/exynos5250/Kconfig
index 2b4ad3995b..8d7c867fe0 100644
--- a/src/soc/samsung/exynos5250/Kconfig
+++ b/src/soc/samsung/exynos5250/Kconfig
@@ -15,21 +15,22 @@ if CPU_SAMSUNG_EXYNOS5250
#
# 0x0000: vendor-provided BL1 (8k).
# 0x2000: bootblock
-# 0x2010-0x2090: reserved for CBFS master header.
-# 0xA000: Free for CBFS data.
+# 0x9FFC-0xA000: BL2 checksum
+# 0xA000-0xA080: reserved for CBFS master header.
+# 0xA080: Free for CBFS data.
config BOOTBLOCK_ROM_OFFSET
hex
- default 0x2000
+ default 0
config CBFS_HEADER_ROM_OFFSET
hex "offset of master CBFS header in ROM"
- default 0x2010
+ default 0x9F80
config CBFS_ROM_OFFSET
# Calculated by BOOTBLOCK_ROM_OFFSET + max bootblock size.
hex "offset of CBFS data in ROM"
- default 0x0A000
+ default 0x0A080
config SYS_SDRAM_BASE
hex
diff --git a/src/soc/samsung/exynos5250/Makefile.inc b/src/soc/samsung/exynos5250/Makefile.inc
index a15bc9c6a3..cc89f2d7b5 100644
--- a/src/soc/samsung/exynos5250/Makefile.inc
+++ b/src/soc/samsung/exynos5250/Makefile.inc
@@ -50,13 +50,10 @@ ramstage-y += fb.c
ramstage-y += usb.c
ramstage-y += cbmem.c
-# Run an intermediate step when producing coreboot.rom
-# that adds additional components to the final firmware
-# image outside of CBFS
-.PHONY: exynos5250_add_bl1
-$(obj)/coreboot.rom: exynos5250_add_bl1
-exynos5250_add_bl1: $(obj)/coreboot.pre
- printf " DD Adding Samsung Exynos5250 BL1\n"
- # TODO(hungte) Change this 'cpu' to soc when build scripts are changed.
- dd if=3rdparty/cpu/samsung/exynos5250/bl1.bin \
- of=$(obj)/coreboot.pre conv=notrunc >/dev/null 2>&1
+$(objcbfs)/bootblock.raw.elf: $(objcbfs)/bootblock.elf
+ cp $< $@
+
+$(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin
+ @printf " BL1, CKSUM $(subst $(obj)/,,$(@))\n"
+ util/exynos/fixed_cksum.py $< $<.cksum 32768
+ cat 3rdparty/cpu/samsung/exynos5250/bl1.bin $<.cksum > $@
diff --git a/src/soc/samsung/exynos5420/Kconfig b/src/soc/samsung/exynos5420/Kconfig
index a0d6c9882c..904091e5ba 100644
--- a/src/soc/samsung/exynos5420/Kconfig
+++ b/src/soc/samsung/exynos5420/Kconfig
@@ -17,16 +17,16 @@ if CPU_SAMSUNG_EXYNOS5420
# 0x0000: vendor-provided BL1 (8k).
# 0x2000: variable length bootblock checksum header
# 0x2010: bootblock
-# 0x2020-0x20A0: reserved for CBFS master header.
+# 0x9F80-0xA000: reserved for CBFS master header.
# 0xA000: Free for CBFS data.
config BOOTBLOCK_ROM_OFFSET
hex
- default 0x2010
+ default 0
config CBFS_HEADER_ROM_OFFSET
hex "offset of master CBFS header in ROM"
- default 0x2020
+ default 0x9F80
config CBFS_ROM_OFFSET
# Calculated by BOOTBLOCK_ROM_OFFSET + max bootblock size.
diff --git a/src/soc/samsung/exynos5420/Makefile.inc b/src/soc/samsung/exynos5420/Makefile.inc
index ef77b1b728..5f37e7eba5 100644
--- a/src/soc/samsung/exynos5420/Makefile.inc
+++ b/src/soc/samsung/exynos5420/Makefile.inc
@@ -50,13 +50,10 @@ ramstage-y += dp.c dp_lowlevel.c fimd.c
ramstage-y += usb.c
ramstage-y += cbmem.c
-# Run an intermediate step when producing coreboot.rom
-# that adds additional components to the final firmware
-# image outside of CBFS
-.PHONY: exynos5420_add_bl1
-$(obj)/coreboot.rom: exynos5420_add_bl1
-exynos5420_add_bl1: $(obj)/coreboot.pre
- printf " DD Adding Samsung Exynos5420 BL1\n"
- # TODO(hungte) Change this 'cpu' to soc when build scripts are changed.
- dd if=3rdparty/cpu/samsung/exynos5420/bl1.bin \
- of=$(obj)/coreboot.pre conv=notrunc >/dev/null 2>&1
+$(objcbfs)/bootblock.raw.elf: $(objcbfs)/bootblock.elf
+ cp $< $@
+
+$(objcbfs)/bootblock.bin: $(objcbfs)/bootblock.raw.bin
+ @printf " BL1, CKSUM $(subst $(obj)/,,$(@))\n"
+ util/exynos/variable_cksum.py $< $<.cksum
+ cat 3rdparty/cpu/samsung/exynos5420/bl1.bin $<.cksum > $@