summaryrefslogtreecommitdiff
path: root/util/build.mk
diff options
context:
space:
mode:
authorSam Hurst <shurst@google.com>2017-03-15 10:36:06 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-05-03 23:17:46 -0700
commite13695c0175dcb7854de74ed7c69e6054b0481dc (patch)
treea66e832c8c080a99172e053b50fb0d9b6ad83427 /util/build.mk
parent4444702e858a8fa3d51c948f509450e136a9482a (diff)
downloadchrome-ec-e13695c0175dcb7854de74ed7c69e6054b0481dc.tar.gz
pd: Support auto generation of USB Type-C VIF
Create an app to extract relevant information from the EC code base that's used to create Vendor Information Files (VIFs) needed for USB Type-C compliance testing. BUG=chromium:701852 BRANCH=none TEST=make -j buildall Compared generated VIFs to expected values Change-Id: I600ca78b9fb5d2de78aa65a58264c6f79b36ea17 Reviewed-on: https://chromium-review.googlesource.com/455280 Commit-Ready: Sam Hurst <shurst@google.com> Tested-by: Sam Hurst <shurst@google.com> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'util/build.mk')
-rw-r--r--util/build.mk15
1 files changed, 15 insertions, 0 deletions
diff --git a/util/build.mk b/util/build.mk
index 89772f9746..a21fb29561 100644
--- a/util/build.mk
+++ b/util/build.mk
@@ -22,3 +22,18 @@ ec_sb_firmware_update-objs+=powerd_lock.o
lbplay-objs=lbplay.o $(comm-objs)
ec_parse_panicinfo-objs=ec_parse_panicinfo.o ec_panicinfo.o
+
+# USB type-C Vendor Information File generation
+ifeq ($(CONFIG_USB_POWER_DELIVERY),y)
+build-util-bin+=genvif
+build-util-art+=$(BOARD)_vif.txt
+$(out)/util/genvif: $(out)/util/usb_pd_policy.o board/$(BOARD)/board.h \
+ include/usb_pd.h include/usb_pd_tcpm.h
+$(out)/util/genvif: BUILD_LDFLAGS+=$(out)/util/usb_pd_policy.o -flto
+
+STANDALONE_FLAGS=-ffreestanding -fno-builtin -nostdinc -Ibuiltin/ -D"__keep= "
+$(out)/util/usb_pd_policy.o: board/$(BOARD)/usb_pd_policy.c
+ $(BUILDCC) $(BUILD_CFLAGS) $(STANDALONE_FLAGS) \
+ -MMD -MF $@.d -c $< -flto -o $@
+deps += $(out)/util/usb_pd_policy.o.d
+endif # CONFIG_USB_POWER_DELIVERY