xref: /freebsd/sys/tools/fdt/make_dtb.sh (revision 031beb4e239bfce798af17f5fe8dba8bcaf13d99)
1eeb913c9SWarner Losh#!/bin/sh
2eeb913c9SWarner Losh#
3eeb913c9SWarner Losh
4eeb913c9SWarner Losh# Script generates dtb file ($3) from dts source ($2) in build tree S ($1)
5eeb913c9SWarner LoshS=$1
60edb7351SWarner Loshdts="$2"
70edb7351SWarner Loshdtb_path=$3
8eeb913c9SWarner Losh
9382b6bbaSWarner Loshif [ -z "$dts" ]; then
1056d78e82SWarner Losh    echo "No DTS specified"
1156d78e82SWarner Losh    exit 1
1256d78e82SWarner Loshfi
1356d78e82SWarner Losh
141ec2d237SIan Leporeif [ -z "${MACHINE}" ]; then
151ec2d237SIan Lepore    MACHINE=$(uname -m)
161ec2d237SIan Leporefi
171ec2d237SIan Lepore
180a65536cSAlex Richardson: "${DTC:=dtc}"
190a65536cSAlex Richardson: "${ECHO:=echo}"
200a65536cSAlex Richardson: "${CPP:=cpp}"
2146375c65SEmmanuel Vadot
220edb7351SWarner Loshfor d in ${dts}; do
230a65536cSAlex Richardson    dtb="${dtb_path}/$(basename "$d" .dts).dtb"
24*8e53cd70SAdrian Chadd    ${CPP} -P -x assembler-with-cpp -I "$S/dts/include" -I "$S/contrib/device-tree/include" -I "$S/dts/${MACHINE}" -I "$S/contrib/device-tree/src/${MACHINE}" -I "$S/contrib/device-tree/src/" -include "$d" -include "$S/dts/freebsd-compatible.dts" /dev/null |
25efdf8079SEmmanuel Vadot	${DTC} -@ -O dtb -o "$dtb" -b 0 -p 1024 -i "$S/dts/${MACHINE}" -i "$S/contrib/device-tree/src/${MACHINE}" -i "$S/contrib/device-tree/src/"
260edb7351SWarner Loshdone
27