Stefan Reinauer | 77c04e9 | 2015-04-27 14:03:47 -0700 | [diff] [blame] | 1 | ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC),y) |
| 2 | |
Martin Roth | 7d1593a | 2018-03-06 14:36:08 -0700 | [diff] [blame] | 3 | bootblock-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c |
Furquan Shaikh | a209483 | 2017-09-25 08:04:49 -0700 | [diff] [blame] | 4 | romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c |
| 5 | ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDID) += ec_boardid.c |
| 6 | |
Subrata Banik | 50b9258 | 2016-07-21 23:47:38 +0530 | [diff] [blame] | 7 | bootblock-y += ec.c |
Aaron Durbin | fbb3e6c | 2016-05-10 17:00:06 -0500 | [diff] [blame] | 8 | bootblock-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c |
Subrata Banik | 50b9258 | 2016-07-21 23:47:38 +0530 | [diff] [blame] | 9 | bootblock-$(CONFIG_EC_GOOGLE_CHROMEEC_MEC) += ec_mec.c |
Duncan Laurie | e2cea4f | 2015-12-01 19:14:09 -0800 | [diff] [blame] | 10 | ramstage-y += ec.c crosec_proto.c vstore.c |
Hung-Te Lin | 6bfbb33 | 2013-04-15 18:27:24 +0800 | [diff] [blame] | 11 | ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_I2C) += ec_i2c.c |
Hung-Te Lin | a904f9e | 2013-04-11 15:58:12 +0800 | [diff] [blame] | 12 | ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c |
Shawn Nematbakhsh | 5725ea3 | 2015-04-01 16:52:37 -0700 | [diff] [blame] | 13 | ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_MEC) += ec_mec.c |
Hung-Te Lin | 0ee7062 | 2013-06-26 19:42:12 +0800 | [diff] [blame] | 14 | ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SPI) += ec_spi.c |
Aaron Durbin | 996b15c | 2016-07-14 00:29:03 -0500 | [diff] [blame] | 15 | smm-y += ec.c crosec_proto.c smihandler.c vstore.c |
Hung-Te Lin | 6bfbb33 | 2013-04-15 18:27:24 +0800 | [diff] [blame] | 16 | smm-$(CONFIG_EC_GOOGLE_CHROMEEC_I2C) += ec_i2c.c |
Hung-Te Lin | a904f9e | 2013-04-11 15:58:12 +0800 | [diff] [blame] | 17 | smm-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c |
Shawn Nematbakhsh | 5725ea3 | 2015-04-01 16:52:37 -0700 | [diff] [blame] | 18 | smm-$(CONFIG_EC_GOOGLE_CHROMEEC_MEC) += ec_mec.c |
Hung-Te Lin | 0ee7062 | 2013-06-26 19:42:12 +0800 | [diff] [blame] | 19 | smm-$(CONFIG_EC_GOOGLE_CHROMEEC_SPI) += ec_spi.c |
Duncan Laurie | e2cea4f | 2015-12-01 19:14:09 -0800 | [diff] [blame] | 20 | romstage-y += ec.c crosec_proto.c vstore.c |
Hung-Te Lin | 6bfbb33 | 2013-04-15 18:27:24 +0800 | [diff] [blame] | 21 | romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_I2C) += ec_i2c.c |
Hung-Te Lin | a904f9e | 2013-04-11 15:58:12 +0800 | [diff] [blame] | 22 | romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c |
Shawn Nematbakhsh | 5725ea3 | 2015-04-01 16:52:37 -0700 | [diff] [blame] | 23 | romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_MEC) += ec_mec.c |
Hung-Te Lin | 0ee7062 | 2013-06-26 19:42:12 +0800 | [diff] [blame] | 24 | romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SPI) += ec_spi.c |
Duncan Laurie | e2cea4f | 2015-12-01 19:14:09 -0800 | [diff] [blame] | 25 | verstage-y += ec.c crosec_proto.c vstore.c |
Daisuke Nojiri | 224f922 | 2014-06-30 09:56:32 -0700 | [diff] [blame] | 26 | verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_I2C) += ec_i2c.c |
| 27 | verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c |
Shawn Nematbakhsh | 5725ea3 | 2015-04-01 16:52:37 -0700 | [diff] [blame] | 28 | verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_MEC) += ec_mec.c |
Daisuke Nojiri | 224f922 | 2014-06-30 09:56:32 -0700 | [diff] [blame] | 29 | verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SPI) += ec_spi.c |
Stefan Reinauer | 77c04e9 | 2015-04-27 14:03:47 -0700 | [diff] [blame] | 30 | |
Furquan Shaikh | 2a12e2e | 2016-07-25 11:48:03 -0700 | [diff] [blame] | 31 | ramstage-$(CONFIG_VBOOT) += vboot_storage.c |
| 32 | smm-$(CONFIG_VBOOT) += vboot_storage.c |
| 33 | romstage-$(CONFIG_VBOOT) += vboot_storage.c |
| 34 | verstage-$(CONFIG_VBOOT) += vboot_storage.c |
Aaron Durbin | 49b2383 | 2016-01-22 14:42:54 -0600 | [diff] [blame] | 35 | |
Furquan Shaikh | cd2afc0 | 2016-11-15 20:33:29 -0800 | [diff] [blame] | 36 | verstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SWITCHES) += switches.c |
| 37 | romstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SWITCHES) += switches.c |
| 38 | ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_SWITCHES) += switches.c |
| 39 | |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 40 | CHROMEEC_SOURCE ?= $(top)/3rdparty/chromeec |
| 41 | |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 42 | # These are Chrome EC firmware images that a payload (such as depthcharge) can |
| 43 | # use to update the EC. ecrw is the main embedded controller's firmware, |
| 44 | # pdrw is for a USB PD controller. |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 45 | |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 46 | ifneq ($(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_NONE),y) |
| 47 | |
| 48 | cbfs-files-y += ecrw |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 49 | ecrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/ecrw |
| 50 | ecrw-name := ecrw |
| 51 | ecrw-type := raw |
Julius Werner | 8e97d00 | 2016-05-31 18:11:10 -0700 | [diff] [blame] | 52 | ecrw-compression := $(CBFS_COMPRESS_FLAG) |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 53 | cbfs-files-y += ecrw.hash |
Julius Werner | 8e97d00 | 2016-05-31 18:11:10 -0700 | [diff] [blame] | 54 | ecrw.hash-file := $(obj)/mainboard/$(MAINBOARDDIR)/ecrw.hash |
| 55 | ecrw.hash-name := ecrw.hash |
| 56 | ecrw.hash-type := raw |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 57 | |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 58 | ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_EXTERNAL),y) |
| 59 | CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_FILE := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_FILE)) |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 60 | |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 61 | $(obj)/mainboard/$(MAINBOARDDIR)/ecrw: $(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_FILE) |
| 62 | cp $(CONFIG_EC_GOOGLE_CHROMEEC_FIRMWARE_FILE) $@ |
| 63 | else |
| 64 | CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME)) |
Paul Kocialkowski | 94938fb | 2016-07-20 18:38:54 +0200 | [diff] [blame] | 65 | |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 66 | $(obj)/mainboard/$(MAINBOARDDIR)/ecrw: |
Martin Roth | 09ae1d5 | 2016-08-02 15:32:51 -0600 | [diff] [blame] | 67 | $(MAKE) -C $(CHROMEEC_SOURCE) $(if $(CONFIG_CCACHE),,CCACHE=) \ |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 68 | out=$(abspath $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME)) \ |
| 69 | CROSS_COMPILE=$(subst -cpp,-,$(CPP_arm)) \ |
| 70 | HOST_CROSS_COMPILE= \ |
| 71 | BOARD=$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME) \ |
| 72 | rw |
| 73 | cp $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_BOARDNAME)/RW/ec.RW.flat $@ |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 74 | endif |
| 75 | |
| 76 | $(obj)/mainboard/$(MAINBOARDDIR)/ecrw.hash: $(obj)/mainboard/$(MAINBOARDDIR)/ecrw |
| 77 | openssl dgst -sha256 -binary $< > $@ |
| 78 | |
| 79 | endif |
| 80 | |
Ben Pye | 067a340 | 2018-03-06 22:41:20 +0000 | [diff] [blame] | 81 | ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC_PD),y) |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 82 | |
| 83 | ifneq ($(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_NONE),y) |
| 84 | |
| 85 | cbfs-files-y += pdrw |
| 86 | pdrw-file := $(obj)/mainboard/$(MAINBOARDDIR)/pdrw |
| 87 | pdrw-name := pdrw |
| 88 | pdrw-type := raw |
| 89 | pdrw-compression := $(CBFS_COMPRESS_FLAG) |
| 90 | cbfs-files-y += pdrw.hash |
| 91 | pdrw.hash-file := $(obj)/mainboard/$(MAINBOARDDIR)/pdrw.hash |
| 92 | pdrw.hash-name := pdrw.hash |
| 93 | pdrw.hash-type := raw |
| 94 | |
| 95 | ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_EXTERNAL),y) |
| 96 | CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE)) |
| 97 | |
| 98 | $(obj)/mainboard/$(MAINBOARDDIR)/pdrw: $(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE) |
| 99 | cp $(CONFIG_EC_GOOGLE_CHROMEEC_PD_FIRMWARE_FILE) $@ |
| 100 | else |
| 101 | CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME := $(call strip_quotes,$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)) |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 102 | |
| 103 | $(obj)/mainboard/$(MAINBOARDDIR)/pdrw: |
Martin Roth | 09ae1d5 | 2016-08-02 15:32:51 -0600 | [diff] [blame] | 104 | $(MAKE) -C $(CHROMEEC_SOURCE) $(if $(CONFIG_CCACHE),,CCACHE=) \ |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 105 | out=$(abspath $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)) \ |
| 106 | CROSS_COMPILE=$(subst -cpp,-,$(CPP_arm)) \ |
| 107 | HOST_CROSS_COMPILE= \ |
| 108 | BOARD=$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME) \ |
| 109 | rw |
| 110 | cp $(obj)/external/chromeec/$(CONFIG_EC_GOOGLE_CHROMEEC_PD_BOARDNAME)/RW/ec.RW.flat $@ |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 111 | endif |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 112 | |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 113 | $(obj)/mainboard/$(MAINBOARDDIR)/pdrw.hash: $(obj)/mainboard/$(MAINBOARDDIR)/pdrw |
Julius Werner | 8e97d00 | 2016-05-31 18:11:10 -0700 | [diff] [blame] | 114 | openssl dgst -sha256 -binary $< > $@ |
| 115 | |
Paul Kocialkowski | 8ff2480 | 2016-08-02 14:28:26 +0200 | [diff] [blame] | 116 | endif |
| 117 | |
Patrick Georgi | 14caed8 | 2016-05-12 15:13:23 +0200 | [diff] [blame] | 118 | endif |
Patrick Georgi | e995dad2 | 2016-02-01 15:26:26 +0100 | [diff] [blame] | 119 | |
Stefan Reinauer | 77c04e9 | 2015-04-27 14:03:47 -0700 | [diff] [blame] | 120 | endif |