summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--payloads/Makefile.inc2
-rw-r--r--payloads/external/Makefile.inc9
-rw-r--r--payloads/external/depthcharge/Kconfig7
-rw-r--r--payloads/external/depthcharge/Kconfig.name8
-rw-r--r--payloads/external/depthcharge/Makefile.inc71
6 files changed, 98 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 7b3797f78c..912aa85eb2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,7 @@ abuild*.xml
.ccwrap
build/
coreboot-builds/
+payloads/external/depthcharge/depthcharge/
payloads/external/FILO/filo/
payloads/external/GRUB2/grub2/
payloads/external/SeaBIOS/seabios/
diff --git a/payloads/Makefile.inc b/payloads/Makefile.inc
index 4269715a72..792df606f9 100644
--- a/payloads/Makefile.inc
+++ b/payloads/Makefile.inc
@@ -23,6 +23,7 @@ payloads/coreinfo/build/coreinfo.elf coreinfo:
clean-payloads:
$(MAKE) -C payloads/coreinfo clean
$(MAKE) -C payloads/libpayload clean
+ $(MAKE) -C payloads/external/depthcharge -f Makefile.inc clean
$(MAKE) -C payloads/external/SeaBIOS -f Makefile.inc clean
$(MAKE) -C payloads/external/U-Boot -f Makefile.inc clean
$(MAKE) -C payloads/external/Memtest86Plus -f Makefile.inc clean
@@ -31,6 +32,7 @@ clean-payloads:
distclean-payloads:
$(MAKE) -C payloads/coreinfo distclean
$(MAKE) -C payloads/libpayload distclean
+ $(MAKE) -C payloads/external/depthcharge -f Makefile.inc distclean
$(MAKE) -C payloads/external/SeaBIOS -f Makefile.inc distclean
$(MAKE) -C payloads/external/U-Boot -f Makefile.inc distclean
$(MAKE) -C payloads/external/Memtest86Plus -f Makefile.inc distclean
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc
index 3c20e13cdf..5a6f6254ad 100644
--- a/payloads/external/Makefile.inc
+++ b/payloads/external/Makefile.inc
@@ -25,6 +25,10 @@ ifeq ($(CONFIG_PAYLOAD_FILO),y)
PAYLOAD_CONFIG=payloads/external/FILO/filo/.config
PAYLOAD_VERSION=payloads/external/FILO/filo/build/version.h
endif
+ifeq ($(CONFIG_PAYLOAD_DEPTHCHARGE),y)
+PAYLOAD_CONFIG=payloads/external/depthcharge/depthcharge/.config
+#TODO: Figure out version
+endif
cbfs-files-$(CONFIG_INCLUDE_CONFIG_FILE) += payload_config
payload_config-file := $(PAYLOAD_CONFIG)
@@ -59,6 +63,11 @@ payloads/external/SeaBIOS/seabios/out/vgabios.bin: seabios
payloads/external/SeaBIOS/seabios/.config: payloads/external/SeaBIOS/seabios/out/bios.bin.elf
payloads/external/SeaBIOS/seabios/out/autoversion.h: payloads/external/SeaBIOS/seabios/out/bios.bin.elf
+payloads/external/depthcharge/depthcharge/build/depthcharge.elf depthcharge: $(top)/$(DOTCONFIG) $(CBFSTOOL)
+ $(MAKE) -C payloads/external/depthcharge -f Makefile.inc \
+ BOARD=$(call ws_to_under,$(call strip_quotes,$(call tolower,$(CONFIG_MAINBOARD_PART_NUMBER)))) \
+ MFLAGS= MAKEFLAGS=
+
filo:
$(MAKE) -C payloads/external/FILO -f Makefile.inc \
HOSTCC="$(HOSTCC)" \
diff --git a/payloads/external/depthcharge/Kconfig b/payloads/external/depthcharge/Kconfig
new file mode 100644
index 0000000000..84b36e5a99
--- /dev/null
+++ b/payloads/external/depthcharge/Kconfig
@@ -0,0 +1,7 @@
+if PAYLOAD_DEPTHCHARGE
+
+config PAYLOAD_FILE
+ string
+ default "payloads/external/depthcharge/depthcharge/build/depthcharge.elf"
+
+endif
diff --git a/payloads/external/depthcharge/Kconfig.name b/payloads/external/depthcharge/Kconfig.name
new file mode 100644
index 0000000000..bc564ec60d
--- /dev/null
+++ b/payloads/external/depthcharge/Kconfig.name
@@ -0,0 +1,8 @@
+config PAYLOAD_DEPTHCHARGE
+ bool "Depthcharge"
+ depends on CHROMEOS
+ help
+ Select this option if you want to build a coreboot image
+ with a depthcharge payload.
+
+ See http://coreboot.org/Payloads for more information.
diff --git a/payloads/external/depthcharge/Makefile.inc b/payloads/external/depthcharge/Makefile.inc
new file mode 100644
index 0000000000..4e766870fc
--- /dev/null
+++ b/payloads/external/depthcharge/Makefile.inc
@@ -0,0 +1,71 @@
+# release-R50-7978.B
+STABLE_COMMIT_ID=124af94fa5599a0698e59bf3d73675eb52fc6879
+
+project_name=depthcharge
+project_dir=$(CURDIR)/depthcharge
+project_git_repo=https://chromium.googlesource.com/chromiumos/platform/depthcharge
+project_config_file=$(project_dir)/.config
+output_dir=$(project_dir)/build
+libpayload_dir=$(abspath $(CURDIR)/../../libpayload)
+libpayload_install_dir=$(output_dir)/lp_$(BOARD)
+vboot_dir=$(abspath $(CURDIR)/../../../3rdparty/vboot)
+
+TAG-$(DEPTHCHARGE_MASTER)=origin/master
+TAG-$(DEPTHCHARGE_STABLE)=$(STABLE_COMMIT_ID)
+
+unexport KCONFIG_AUTOHEADER
+unexport KCONFIG_AUTOCONFIG
+unexport KCONFIG_DEPENDENCIES
+unexport KCONFIG_SPLITCONFIG
+unexport KCONFIG_TRISTATE
+unexport KCONFIG_NEGATIVES
+unexport src srck obj objk
+
+BOARD:=$(notdir $(CONFIG_MAINBOARD_DIR))
+
+all: build
+
+$(project_dir):
+ echo " Cloning $(project_name) from Git"
+ git clone $(project_git_repo)
+
+fetch: $(project_dir)
+ cd $(project_dir); git show $(TAG-y) >/dev/null 2>&1 ; if [ $$? -ne 0 ] || \
+ [ "$(TAG-y)" = "origin/master" ]; then \
+ echo " Fetching new commits from the $(project_name) git repo"; \
+ git fetch; fi
+
+checkout: fetch
+ echo " Checking out $(project_name) revision $(TAG-y)"
+ cd $(project_dir) ; git checkout master; git branch -D coreboot 2>/dev/null; git checkout -b coreboot $(TAG-y)
+
+$(libpayload_install_dir): $(project_dir)
+ test -f $(libpayload_dir)/configs/config.$(BOARD) || \
+ (echo "Error: $(libpayload_dir)/configs/config.$(BOARD) is not present" && \
+ false)
+ cp $(libpayload_dir)/configs/config.$(BOARD) $(libpayload_dir)/.config
+ $(MAKE) -C $(libpayload_dir) olddefconfig
+ $(MAKE) -C $(libpayload_dir)
+ $(MAKE) -C $(libpayload_dir) install DESTDIR=$(libpayload_install_dir)
+# rm -f $(libpayload_dir)/.config
+
+config: $(libpayload_install_dir) checkout
+ echo " CONFIG project_name $(TAG-y)"
+ export VERSION=$$(cd depthcharge && \
+ git describe --tags --long --dirty 2>/dev/null || \
+ echo "unknown") ; \
+ cd $(project_dir) && $(MAKE) BOARD=$(BOARD) LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
+ VB_SOURCE=$(vboot_dir) defconfig
+
+build: config
+ echo " MAKE $(project_name) $(TAG-y)"
+ cd $(project_dir) && $(MAKE) BOARD=$(BOARD) LIBPAYLOAD_DIR=$(libpayload_install_dir)/libpayload \
+ VB_SOURCE=$(vboot_dir) PATH="$(abspath ../../../build/util/cbfstool):$$PATH" depthcharge_unified
+
+clean:
+ test -d $(output_dir) && rm -rf $(output_dir) || exit 0
+
+distclean:
+ rm -rf $(project_dir)
+
+.PHONY: checkout config build clean distclean clone fetch