diff options
author | Icarus Sparry <icarus.w.sparry@intel.com> | 2015-02-28 16:24:06 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-04-15 22:58:27 +0000 |
commit | 4fce69d39497d5f20e7429b6675e5361b9922f0a (patch) | |
tree | b62f5dcce8e82fb5c2fbc66869e9c074b9f43ada | |
parent | 6ab1f5b703ed76195f12df67fd0af6aa37ee9473 (diff) | |
download | chrome-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.rules | 7 | ||||
-rw-r--r-- | board/cyan/build.mk | 4 | ||||
-rw-r--r-- | board/glower/build.mk | 3 | ||||
-rw-r--r-- | board/strago/build.mk | 4 | ||||
-rw-r--r-- | chip/mec1322/build.mk | 14 |
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 |