summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIcarus Sparry <icarus.w.sparry@intel.com>2015-02-28 16:24:06 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-04-15 22:58:27 +0000
commit4fce69d39497d5f20e7429b6675e5361b9922f0a (patch)
treeb62f5dcce8e82fb5c2fbc66869e9c074b9f43ada
parent6ab1f5b703ed76195f12df67fd0af6aa37ee9473 (diff)
downloadchrome-ec-4fce69d39497d5f20e7429b6675e5361b9922f0a.tar.gz
mec1322: Changed to generate ec.bin for the firmware binary.
Previously for the mec1322 chip an ec.bin file was created in the normal way and then it was "packed" in a post-processing stage to produce ec.spi.bin. This change allows a chip or board build.mk file to specify the rules used to produce ec.bin, and uses this for the mec1322 to do the packing. This means that we can use the standard "ec.bin" name, and do not need to alter other scripts, such as the script which creates chromeos-firmwareupdate. BUG=None TEST=buildall -j, flash on strago and see it still works. BRANCH=NONE Change-Id: I3f880d64e60d14f82cb1d21c8b3f2d4ae5e0dfef Signed-off-by: Icarus Sparry <icarus.w.sparry@intel.com> Reviewed-on: https://chromium-review.googlesource.com/265544 Tested-by: Kevin K Wong <kevin.k.wong@intel.com> Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Queue: Kevin K Wong <kevin.k.wong@intel.com>
-rw-r--r--Makefile.rules7
-rw-r--r--board/cyan/build.mk4
-rw-r--r--board/glower/build.mk3
-rw-r--r--board/strago/build.mk4
-rw-r--r--chip/mec1322/build.mk14
5 files changed, 11 insertions, 21 deletions
diff --git a/Makefile.rules b/Makefile.rules
index b38313c126..b129550199 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -36,7 +36,8 @@ silent_err = $(if $(V),,2>/dev/null)
cmd_lds = $(CPP) -P -C -MMD -MF $@.d -MT $@ $(CPPFLAGS) \
-D$(call section_is,$*) \
-DSECTION=$(call section,$*) $< -o $@
-cmd_obj_to_bin = $(OBJCOPY) --gap-fill=0xff -O binary $^ $(out)/$*.bin.tmp
+# Allow obj_to_bin to be overridden by board or chip specific commands
+cmd_obj_to_bin ?= $(OBJCOPY) --gap-fill=0xff -O binary $^ $(out)/$*.bin.tmp
cmd_flat_to_obj = $(CC) -T $(out)/firmware_image.lds -nostdlib $(CPPFLAGS) \
-Wl,--build-id=none -o $@ $<
cmd_elf_to_flat = $(OBJCOPY) -O binary $^ $@
@@ -158,10 +159,6 @@ $(out)/%.bin: $(out)/%.obj
$(call quiet,copyrw-y,COPY_RW))
$(call quiet,mv_from_tmp,MV )
-# Beware of ec.spi.spi.bin.
-$(out)/%.spi.bin: $(out)/%.bin
- $(call quiet,pack_package,PACK )
-
flat-y = $(out)/$(PROJECT).RW.flat
flat-$(CONFIG_FW_INCLUDE_RO) += $(out)/$(PROJECT).RO.flat
diff --git a/board/cyan/build.mk b/board/cyan/build.mk
index 041d45c752..51dfe75e15 100644
--- a/board/cyan/build.mk
+++ b/board/cyan/build.mk
@@ -12,7 +12,3 @@ CHIP_SPI_SIZE_KB:=512
board-y=board.o led.o
board-$(CONFIG_BATTERY_SMART)+=battery.o
-
-# As this file is read more than once, must put the rules
-# elsewhere (Makefile.rules) and just use variable to trigger them
-PROJECT_EXTRA+=${out}/ec.spi.bin
diff --git a/board/glower/build.mk b/board/glower/build.mk
index 5019d5e909..e28777724e 100644
--- a/board/glower/build.mk
+++ b/board/glower/build.mk
@@ -11,6 +11,3 @@ CHIP:=mec1322
CHIP_SPI_SIZE_KB:=512
board-y=board.o
-# As this file is read more than once, must put the rules
-# elsewhere (Makefile.rules) and just use variable to trigger them
-PROJECT_EXTRA+=${out}/ec.spi.bin
diff --git a/board/strago/build.mk b/board/strago/build.mk
index 89c42061bc..06e3c66f91 100644
--- a/board/strago/build.mk
+++ b/board/strago/build.mk
@@ -12,7 +12,3 @@ CHIP_SPI_SIZE_KB:=512
board-y=board.o
board-$(CONFIG_BATTERY_SMART)+=battery.o
-
-# As this file is read more than once, must put the rules
-# elsewhere (Makefile.rules) and just use variable to trigger them
-PROJECT_EXTRA+=${out}/ec.spi.bin
diff --git a/chip/mec1322/build.mk b/chip/mec1322/build.mk
index 9c9ecd16b5..8e137b336b 100644
--- a/chip/mec1322/build.mk
+++ b/chip/mec1322/build.mk
@@ -27,8 +27,12 @@ chip-$(CONFIG_SPI)+=spi.o
# location of the scripts and keys used to pack the SPI flash image
SCRIPTDIR:=./chip/${CHIP}/util
-# commands to package something
-cmd_pack_package = ${SCRIPTDIR}/pack_ec.py -o $@ -i $^ \
- --payload_key ${SCRIPTDIR}/rsakey_sign_payload.pem \
- --header_key ${SCRIPTDIR}/rsakey_sign_header.pem \
- --spi_size ${CHIP_SPI_SIZE_KB}
+# Allow SPI size to be overridden by board specific size, default to 256KB.
+CHIP_SPI_SIZE_KB?=256
+
+# Commands to convert $^ to $@.tmp
+cmd_obj_to_bin = $(OBJCOPY) --gap-fill=0xff -O binary $^ $@.tmp1 ; \
+ ${SCRIPTDIR}/pack_ec.py -o $@.tmp -i $@.tmp1 \
+ --payload_key ${SCRIPTDIR}/rsakey_sign_payload.pem \
+ --header_key ${SCRIPTDIR}/rsakey_sign_header.pem \
+ --spi_size ${CHIP_SPI_SIZE_KB} ; rm -f $@.tmp1