]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/tools/fdt/make_dtb.sh
THIS BRANCH IS OBSOLETE, PLEASE READ:
[FreeBSD/FreeBSD.git] / sys / tools / fdt / make_dtb.sh
1 #!/bin/sh
2 #
3 # $FreeBSD$
4
5 # Script generates dtb file ($3) from dts source ($2) in build tree S ($1)
6 S=$1
7 dts="$2"
8 dtb_path=$3
9
10 if [ -z "$dts" ]; then
11     echo "No DTS specified"
12     exit 1
13 fi
14
15 if [ -z "${MACHINE}" ]; then
16     MACHINE=$(uname -m)
17 fi
18
19 : "${DTC:=dtc}"
20 : "${ECHO:=echo}"
21 : "${CPP:=cpp}"
22
23 LINUX_DTS_VERSION=$(make -C $S/gnu/dts -V LINUX_DTS_VERSION)
24
25 for d in ${dts}; do
26     dtb="${dtb_path}/$(basename "$d" .dts).dtb"
27     ${ECHO} "converting $d -> $dtb"
28     ${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 |
29         ${DTC} -@ -O dtb -o "$dtb" -b 0 -p 1024 -i "$S/dts/${MACHINE}" -i "$S/gnu/dts/${MACHINE}" -i "$S/gnu/dts/"
30 done