1 ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC),y)
3 bootblock-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c
4 verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c
5 romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c
6 ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c
7 smm-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c
10 bootblock-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c
11 ramstage-y += ec.c crosec_proto.c vstore.c
12 ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_I2C) += ec_i2c.c
13 ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c
14 ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SPI) += ec_spi.c
15 smm-y += ec.c crosec_proto.c smihandler.c vstore.c
16 smm-$(CONFIG_EC_GOOGLE_CHROMEEC_I2C) += ec_i2c.c
17 smm-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c
18 smm-$(CONFIG_EC_GOOGLE_CHROMEEC_SPI) += ec_spi.c
19 romstage-y += ec.c crosec_proto.c vstore.c
20 romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_I2C) += ec_i2c.c
21 romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c
22 romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SPI) += ec_spi.c
23 verstage-y += ec.c crosec_proto.c vstore.c
24 verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_I2C) += ec_i2c.c
25 verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c
26 verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SPI) += ec_spi.c
28 ramstage-$(CONFIG_VBOOT) += vboot_storage.c
29 smm-$(CONFIG_VBOOT) += vboot_storage.c
30 romstage-$(CONFIG_VBOOT) += vboot_storage.c
31 verstage-$(CONFIG_VBOOT) += vboot_storage.c
33 verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SWITCHES) += switches.c
34 romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SWITCHES) += switches.c
35 ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SWITCHES) += switches.c
37 CHROMEEC_SOURCE ?= $(top)/3rdparty/chromeec
39 # These are Chrome EC firmware images that a payload (such as depthcharge) can
40 # use to update the EC. ecrw is the main embedded controller's firmware,
41 # pdrw is for a USB PD controller.
43 ifneq ($(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE),y)
46 ecrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/ecrw
49 ecrw-compression := $(CBFS_COMPRESS_FLAG)
50 cbfs-files-y += ecrw.hash
51 ecrw.hash-file := $(obj)/mainboard/$(MAINBOARDDIR)/ecrw.hash
52 ecrw.hash-name := ecrw.hash
55 ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL),y)
56 CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_FILE := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_FILE))
58 $(obj)/mainboard/$(MAINBOARDDIR)/ecrw: $(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_FILE)
59 cp $(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_FILE) $@
61 CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME))
63 $(obj)/mainboard/$(MAINBOARDDIR)/ecrw:
64 $(MAKE) -C $(CHROMEEC_SOURCE) $(if $(CONFIG_CCACHE),,CCACHE=) \
65 out=$(abspath $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME)) \
66 CROSS_COMPILE=$(subst -cpp,-,$(CPP_arm)) \
68 BOARD=$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME) \
70 cp $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME)/RW/ec.RW.flat $@
73 $(obj)/mainboard/$(MAINBOARDDIR)/ecrw.hash: $(obj)/mainboard/$(MAINBOARDDIR)/ecrw
74 openssl dgst -sha256 -binary $< > $@
78 ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC_PD),y)
80 ifneq ($(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_NONE),y)
83 pdrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/pdrw
86 pdrw-compression := $(CBFS_COMPRESS_FLAG)
87 cbfs-files-y += pdrw.hash
88 pdrw.hash-file := $(obj)/mainboard/$(MAINBOARDDIR)/pdrw.hash
89 pdrw.hash-name := pdrw.hash
92 ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_EXTERNAL),y)
93 CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE))
95 $(obj)/mainboard/$(MAINBOARDDIR)/pdrw: $(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE)
96 cp $(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE) $@
98 CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME))
100 $(obj)/mainboard/$(MAINBOARDDIR)/pdrw:
101 $(MAKE) -C $(CHROMEEC_SOURCE) $(if $(CONFIG_CCACHE),,CCACHE=) \
102 out=$(abspath $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)) \
103 CROSS_COMPILE=$(subst -cpp,-,$(CPP_arm)) \
104 HOST_CROSS_COMPILE= \
105 BOARD=$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME) \
107 cp $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)/RW/ec.RW.flat $@
110 $(obj)/mainboard/$(MAINBOARDDIR)/pdrw.hash: $(obj)/mainboard/$(MAINBOARDDIR)/pdrw
111 openssl dgst -sha256 -binary $< > $@