make.conf: Add the possibility to use another DTC

Add a make.conf DTC variable that control which DTC (Device Tree Compiler)
to use.

Reviewed by:	bdrewery, imp
Differential Revision:	https://reviews.freebsd.org/D9577
This commit is contained in:
Emmanuel Vadot 2017-06-17 23:34:53 +00:00
parent 8239734079
commit 46375c65f6
3 changed files with 14 additions and 2 deletions

View File

@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd March 29, 2016
.Dd February 23, 2017
.Dt MAKE.CONF 5
.Os
.Sh NAME
@ -176,6 +176,11 @@ value, use
.Dq Li +=
instead of
.Dq Li = .
.It Va DTC
.Pq Vt str
Select the compiler for DTS (Device Tree Syntax) file.
.Va DTC
is initially set to the value of dtc
.It Va INSTALL
.Pq Vt str
the default install command.

View File

@ -4,6 +4,8 @@
#
# +++ variables +++
#
# DTC The Device Tree Compiler to use
#
# DTS List of the dts files to build and install.
#
# DTBDIR Base path for dtb modules [/boot/dtb]
@ -31,6 +33,8 @@
# do this after bsd.own.mk.
.include "kern.opts.mk"
DTC?= dtc
# Search for kernel source tree in standard places.
.for _dir in ${.CURDIR}/../.. ${.CURDIR}/../../.. /sys /usr/src/sys
.if !defined(SYSDIR) && exists(${_dir}/kern/)
@ -50,6 +54,7 @@ DTB=${DTS:R:S/$/.dtb/}
all: ${DTB}
.if defined(DTS)
.export DTC
.for _dts in ${DTS}
${_dts:R:S/$/.dtb/}: ${_dts} ${OP_META}
@echo Generating ${.TARGET} from ${_dts}

View File

@ -16,9 +16,11 @@ if [ -z "${MACHINE}" ]; then
MACHINE=$(uname -m)
fi
: ${DTC:=dtc}
for d in ${dts}; do
dtb=${dtb_path}/`basename $d .dts`.dtb
echo "converting $d -> $dtb"
cpp -P -x assembler-with-cpp -I $S/gnu/dts/include -I $S/boot/fdt/dts/${MACHINE} -I $S/gnu/dts/${MACHINE} -include $d /dev/null |
dtc -@ -O dtb -o $dtb -b 0 -p 1024 -i $S/boot/fdt/dts/${MACHINE} -i $S/gnu/dts/${MACHINE}
${DTC} -@ -O dtb -o $dtb -b 0 -p 1024 -i $S/boot/fdt/dts/${MACHINE} -i $S/gnu/dts/${MACHINE}
done