summaryrefslogtreecommitdiffstats
path: root/sys/tools
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-10-27 00:47:55 +0000
committerian <ian@FreeBSD.org>2014-10-27 00:47:55 +0000
commit8f1520bd133cfba0b19d94312e81e5aa5bedfcbe (patch)
treea9b51dcfa8c4216b3b19dbd316d1c695aaea66f3 /sys/tools
parent348b464642751e4ce8fc20685e7ebd86821b51c1 (diff)
downloadFreeBSD-src-8f1520bd133cfba0b19d94312e81e5aa5bedfcbe.zip
FreeBSD-src-8f1520bd133cfba0b19d94312e81e5aa5bedfcbe.tar.gz
MFC r262626, r262626, r264979, r265154, r265162, r265163, r267319, r270863,
r270991, r271045: Enhancements related to compiling FDT data... - Use proper include path for dtc as well as cpp. - Call cpp with -P to avoid printing line markings. - Allow FDT_DTS_FILE to be a list, either in the makedtb target, or in a kernel config file. - Add the dts include directory to the -I list when doing arm builds. - Invoke make_dtb with MACHINE defined for cross building friendliness. - Allow the make_dtb script to work outside of a "make buildkernel" context by setting MACHINE from uname -m if it's not set already. - Use sh -c '...' to launch the dtb build scripts with env prepended, otherwise it tries to treat the env var stuff as a script file name.
Diffstat (limited to 'sys/tools')
-rwxr-xr-xsys/tools/fdt/make_dtb.sh19
1 files changed, 16 insertions, 3 deletions
diff --git a/sys/tools/fdt/make_dtb.sh b/sys/tools/fdt/make_dtb.sh
index 900ad9b..643fdd6 100755
--- a/sys/tools/fdt/make_dtb.sh
+++ b/sys/tools/fdt/make_dtb.sh
@@ -4,8 +4,21 @@
# Script generates dtb file ($3) from dts source ($2) in build tree S ($1)
S=$1
-dts=$2
-dtb=$3
+dts="$2"
+dtb_path=$3
-cpp -x assembler-with-cpp -I $S/gnu/dts/include -I $S/boot/fdt/dts/${MACHINE} -I $S/gnu/dts/${MACHINE} -include $dts /dev/null |
+if [ -z "$dts" ]; then
+ echo "No DTS specified"
+ exit 1
+fi
+
+if [ -z "${MACHINE}" ]; then
+ MACHINE=$(uname -m)
+fi
+
+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}
+done
OpenPOWER on IntegriCloud