From e995dad2e1088e6895c01055997249bd2aa0d7ad Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Mon, 1 Feb 2016 15:26:26 +0100 Subject: build system: Build Chrome EC firmware on request With the Chrome EC's "board" name set in Kconfig, the build system will build and add the EC firmware, too. Available for the EC and the USB PD controller. Change-Id: I017d3a44d6ab8a540fcd198b4b09c35e4b98a8cf Signed-off-by: Patrick Georgi Reviewed-on: https://review.coreboot.org/13547 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- src/ec/google/chromeec/Makefile.inc | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src/ec/google/chromeec/Makefile.inc') diff --git a/src/ec/google/chromeec/Makefile.inc b/src/ec/google/chromeec/Makefile.inc index ad9de9e2a5..759c0da5a2 100644 --- a/src/ec/google/chromeec/Makefile.inc +++ b/src/ec/google/chromeec/Makefile.inc @@ -26,4 +26,42 @@ smm-$(CONFIG_VBOOT_VERIFY_FIRMWARE) += vboot_storage.c romstage-$(CONFIG_VBOOT_VERIFY_FIRMWARE) += vboot_storage.c verstage-$(CONFIG_VBOOT_VERIFY_FIRMWARE) += vboot_storage.c +# These are Chrome EC firmware images that a payload (such as depthcharge) can +# use to update the EC. ecrw is the main embedded controller's firmware, +# pdrw is for a USB PD controller. +CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME)) +CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)) + +cbfs-files-$(if $(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME),y) += ecrw +ecrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/ecrw +ecrw-name := ecrw +ecrw-type := raw +ecrw-options := -A sha256 + +cbfs-files-$(if $(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME),y) += pdrw +pdrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/pdrw +pdrw-name := pdrw +pdrw-type := raw +pdrw-options := -A sha256 + +$(obj)/mainboard/$(MAINBOARDDIR)/ecrw: + $(MAKE) -C $(top)/3rdparty/chromeec \ + out=$(abspath $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME)) \ + CROSS_COMPILE=$(subst -cpp,-,$(CPP_arm)) \ + HOST_CROSS_COMPILE= \ + BOARD=$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME) \ + rw + cp $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME)/RW/ec.RW.flat $@ + +$(obj)/mainboard/$(MAINBOARDDIR)/pdrw: + $(MAKE) -C $(top)/3rdparty/chromeec \ + out=$(abspath $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)) \ + CROSS_COMPILE=$(subst -cpp,-,$(CPP_arm)) \ + HOST_CROSS_COMPILE= \ + BOARD=$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME) \ + rw + cp $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)/RW/ec.RW.flat $@ + +.PHONY: $(obj)/mainboard/$(MAINBOARDDIR)/ecrw $(obj)/mainboard/$(MAINBOARDDIR)/pdrw + endif -- cgit v1.2.3