[coreboot-gerrit] Patch set updated for coreboot: build system: Build Chrome EC firmware on request

Patrick Georgi (pgeorgi@google.com) gerrit at coreboot.org
Thu Feb 4 18:12:43 CET 2016


Patrick Georgi (pgeorgi at google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13547

-gerrit

commit 3973c69c111debb7c592c203a3d73e7c2e377887
Author: Patrick Georgi <pgeorgi at chromium.org>
Date:   Mon Feb 1 15:26:26 2016 +0100

    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 <pgeorgi at chromium.org>
---
 src/ec/google/chromeec/Kconfig      | 25 +++++++++++++++++++++++++
 src/ec/google/chromeec/Makefile.inc | 27 +++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/src/ec/google/chromeec/Kconfig b/src/ec/google/chromeec/Kconfig
index 2600593..59a9781 100644
--- a/src/ec/google/chromeec/Kconfig
+++ b/src/ec/google/chromeec/Kconfig
@@ -73,3 +73,28 @@ config EC_GOOGLE_CHROMEEC_SPI_CHIP
 	depends on EC_GOOGLE_CHROMEEC_SPI
 	hex
 	default 0
+
+config EC_EXTERNAL_FIRMWARE
+	depends on EC_GOOGLE_CHROMEEC
+	def_bool n
+	help
+	  Disable building EC firmware if it's already built externally (and
+	  added manually.)
+
+config EC_GOOGLE_CHROMEEC_BOARDNAME
+	depends on EC_GOOGLE_CHROMEEC && !EC_EXTERNAL_FIRMWARE
+	string "Chrome EC board name for EC"
+	default ""
+	help
+	  The board name used in the Chrome EC code base to build
+	  the EC firmware.  If set, the coreboot build with also
+	  build the EC firmware and add it to the image.
+
+config EC_GOOGLE_CHROMEEC_PD_BOARDNAME
+	depends on EC_GOOGLE_CHROMEEC_PD && !EC_EXTERNAL_FIRMWARE
+	string "Chrome EC board name for PD"
+	default ""
+	help
+	  The board name used in the Chrome EC code base to build
+	  the PD firmware.  If set, the coreboot build with also
+	  build the EC firmware and add it to the image.
diff --git a/src/ec/google/chromeec/Makefile.inc b/src/ec/google/chromeec/Makefile.inc
index 59758ca..9adad4a 100644
--- a/src/ec/google/chromeec/Makefile.inc
+++ b/src/ec/google/chromeec/Makefile.inc
@@ -21,4 +21,31 @@ verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c
 verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_MEC) += ec_mec.c
 verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SPI) += ec_spi.c
 
+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)/ecrw
+ecrw-name := ecrw
+ecrw-type := raw
+ecrw-options := -A sha256
+
+$(obj)/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)/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 $@
+
 endif



More information about the coreboot-gerrit mailing list