Brand our DTS with the Linux version it was imported from

DTS must be synced with the kernel, add a freebsd,dts-version string in
the root node of each DTS that we compile so we can later in the kernel
check that it contain a correct value.

Reviewed by:	imp, mmel
Differential Revision:	https://reviews.freebsd.org/D26724
This commit is contained in:
Emmanuel Vadot 2020-10-10 07:18:51 +00:00
parent a4bcd20486
commit 4a63c1c1ed
4 changed files with 12 additions and 1 deletions

View File

@ -32,6 +32,9 @@ S= ../../..
INCLUDES+= -I$S/contrib/libfdt -I$S/gnu/dts/include
LINUX_DTS_VERSION!= make -C $S/gnu/dts/ -V LINUX_DTS_VERSION
CFLAGS += -DLINUX_DTS_VERSION=\"${LINUX_DTS_VERSION}\"
.if !defined(DEBUG) && !defined(PROFLEVEL)
STRIP_FLAGS = -S
.endif

View File

@ -0,0 +1,3 @@
/ {
freebsd,dts-version = LINUX_DTS_VERSION;
};

3
sys/gnu/dts/Makefile Normal file
View File

@ -0,0 +1,3 @@
# $FreeBSD$
LINUX_DTS_VERSION=5.8

View File

@ -20,9 +20,11 @@ fi
: "${ECHO:=echo}"
: "${CPP:=cpp}"
LINUX_DTS_VERSION=$(make -C $S/gnu/dts -V LINUX_DTS_VERSION)
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/dts/${MACHINE}" -I "$S/gnu/dts/${MACHINE}" -I "$S/gnu/dts/" -include "$d" /dev/null |
${CPP} -DLINUX_DTS_VERSION=\"${LINUX_DTS_VERSION}\" -P -x assembler-with-cpp -I "$S/gnu/dts/include" -I "$S/dts/${MACHINE}" -I "$S/gnu/dts/${MACHINE}" -I "$S/gnu/dts/" -include "$d" -include "$S/dts/freebsd-compatible.dts" /dev/null |
${DTC} -@ -O dtb -o "$dtb" -b 0 -p 1024 -i "$S/dts/${MACHINE}" -i "$S/gnu/dts/${MACHINE}" -i "$S/gnu/dts/"
done