Index: head/sys/conf/Makefile.arm =================================================================== --- head/sys/conf/Makefile.arm +++ head/sys/conf/Makefile.arm @@ -32,6 +32,9 @@ 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 Index: head/sys/dts/freebsd-compatible.dts =================================================================== --- head/sys/dts/freebsd-compatible.dts +++ head/sys/dts/freebsd-compatible.dts @@ -0,0 +1,3 @@ +/ { + freebsd,dts-version = LINUX_DTS_VERSION; +}; Index: head/sys/gnu/dts/Makefile =================================================================== --- head/sys/gnu/dts/Makefile +++ head/sys/gnu/dts/Makefile @@ -0,0 +1,3 @@ +# $FreeBSD$ + +LINUX_DTS_VERSION=5.8 Index: head/sys/tools/fdt/make_dtb.sh =================================================================== --- head/sys/tools/fdt/make_dtb.sh +++ head/sys/tools/fdt/make_dtb.sh @@ -20,9 +20,11 @@ : "${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