mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-30 02:20:48 +00:00
cbi-util is a build command line tool, which creates a blob containing board information. When invoked with '--show' option, it prints the information stored in a blob and validates the data. BUG=b:70294260 BRANCH=none TEST=Run the command as follows: $ cbi-util --create /path/to/cbi.bin \ --board_version 0xabcd --oem_id 2 --sku_id 3 --size 256 $ cbi-util --show /path/to/cbi.bin CBI blob: /path/to/cbi.bin BOARD_VERSION: 0.1 (0xab.cd) OEM_ID: 2 (0x02) SKU_ID: 3 (0x03) Data validated successfully $ cbi-util --create /path/to/cbi.bin \ --board_version 0xabcd --oem_id 2 --sku_id 3 Missing required arguments $ cbi-util --create /path/to/cbi.bin --board_version 0xabcde Invalid --board_version Change-Id: I7e7b439c50943523039c3cafda3bdf7d08962c61 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/860961 Reviewed-by: Randall Spangler <rspangler@chromium.org>
77 lines
2.6 KiB
Makefile
77 lines
2.6 KiB
Makefile
# -*- makefile -*-
|
|
# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
#
|
|
# Host tools build
|
|
#
|
|
|
|
host-util-bin=ectool lbplay stm32mon ec_sb_firmware_update lbcc \
|
|
ec_parse_panicinfo
|
|
build-util-bin=ec_uartd iteflash
|
|
build-util-art+=util/export_taskinfo.so
|
|
ifeq ($(CHIP),npcx)
|
|
build-util-bin+=ecst
|
|
endif
|
|
# Build on a limited subset of boards to save build time
|
|
ifeq ($(BOARD),meowth_fp)
|
|
build-util-bin+=ectool_servo
|
|
endif
|
|
|
|
comm-objs=$(util-lock-objs:%=lock/%) comm-host.o comm-dev.o
|
|
comm-objs+=comm-lpc.o comm-i2c.o misc_util.o
|
|
|
|
ectool-objs=ectool.o ectool_keyscan.o ec_flash.o ec_panicinfo.o $(comm-objs)
|
|
ectool_servo-objs=$(ectool-objs) comm-servo-spi.o
|
|
ec_sb_firmware_update-objs=ec_sb_firmware_update.o $(comm-objs) misc_util.o
|
|
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= " -DVIF_BUILD
|
|
$(out)/util/usb_pd_policy.o: board/$(BOARD)/usb_pd_policy.c
|
|
$(call quiet,c_to_vif,BUILDCC)
|
|
deps-$(CONFIG_USB_POWER_DELIVERY) += $(out)/util/usb_pd_policy.o.d
|
|
endif # CONFIG_USB_POWER_DELIVERY
|
|
|
|
ifneq ($(CONFIG_TOUCHPAD_HASH_FW),)
|
|
build-util-bin += gen_touchpad_hash
|
|
|
|
# Assume RW section (touchpad FW must be identical for both RO+RW)
|
|
$(out)/util/gen_touchpad_hash: BUILD_LDFLAGS += -DSECTION_IS_RW
|
|
|
|
OPENSSL_CFLAGS := $(shell $(PKG_CONFIG) --libs openssl)
|
|
OPENSSL_LDFLAGS := $(shell $(PKG_CONFIG) --libs openssl)
|
|
|
|
$(out)/util/gen_touchpad_hash: BUILD_CFLAGS += $(OPENSSL_CFLAGS)
|
|
$(out)/util/gen_touchpad_hash: BUILD_LDFLAGS += $(OPENSSL_LDFLAGS)
|
|
endif # CONFIG_TOUCHPAD_VIRTUAL_OFF
|
|
|
|
build-util-bin += cbi-util
|
|
$(out)/util/cbi-util: $(out)/util/crc8.o
|
|
$(out)/util/cbi-util: BUILD_LDFLAGS=$(out)/util/crc8.o -static
|
|
$(out)/util/crc8.o: common/crc8.c
|
|
$(call quiet,c_to_vif,BUILDCC)
|
|
|
|
$(out)/util/export_taskinfo.so: $(out)/util/export_taskinfo_ro.o \
|
|
$(out)/util/export_taskinfo_rw.o
|
|
$(call quiet,link_taskinfo,BUILDLD)
|
|
|
|
$(out)/util/export_taskinfo_ro.o: util/export_taskinfo.c
|
|
$(call quiet,c_to_taskinfo,BUILDCC,RO)
|
|
|
|
$(out)/util/export_taskinfo_rw.o: util/export_taskinfo.c
|
|
$(call quiet,c_to_taskinfo,BUILDCC,RW)
|
|
|
|
deps-y += $(out)/util/export_taskinfo_ro.o.d $(out)/util/export_taskinfo_rw.o.d
|