tools: k3_fit_atf: add DM binary to the FIT image

Add DM (device manager) firmware image to the fit image that is loaded by
R5 SPL. This is needed with the HSM rearch where the firmware allocation
has been changed slightly.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tero Kristo <kristo@kernel.org>
diff --git a/arch/arm/mach-k3/config.mk b/arch/arm/mach-k3/config.mk
index 6744890..da458bc 100644
--- a/arch/arm/mach-k3/config.mk
+++ b/arch/arm/mach-k3/config.mk
@@ -49,6 +49,10 @@
 
 ifdef CONFIG_ARM64
 
+ifeq ($(CONFIG_SOC_K3_J721E),)
+export DM := /dev/null
+endif
+
 ifeq ($(CONFIG_TI_SECURE_DEVICE),y)
 SPL_ITS := u-boot-spl-k3_HS.its
 $(SPL_ITS): export IS_HS=1
diff --git a/tools/k3_fit_atf.sh b/tools/k3_fit_atf.sh
index 2c0287a..3a476ce 100755
--- a/tools/k3_fit_atf.sh
+++ b/tools/k3_fit_atf.sh
@@ -21,6 +21,13 @@
 	TEE=/dev/null
 fi
 
+[ -z "$DM" ] && DM="dm.bin"
+
+if [ ! -e $DM ]; then
+	echo "WARNING DM file $DM NOT found, resulting might be non-functional" >&2
+	DM=/dev/null
+fi
+
 if [ ! -z "$IS_HS" ]; then
 	HS_APPEND=_HS
 fi
@@ -53,6 +60,16 @@
 			load = <0x9e800000>;
 			entry = <0x9e800000>;
 		};
+		dm {
+			description = "DM binary";
+			data = /incbin/("$DM");
+			type = "firmware";
+			arch = "arm32";
+			compression = "none";
+			os = "DM";
+			load = <0xa0000000>;
+			entry = <0xa0000000>;
+		};
 		spl {
 			description = "SPL (64-bit)";
 			data = /incbin/("spl/u-boot-spl-nodtb.bin$HS_APPEND");
@@ -94,7 +111,7 @@
 		$(basename $dtname) {
 			description = "$(basename $dtname .dtb)";
 			firmware = "atf";
-			loadables = "tee", "spl";
+			loadables = "tee", "dm", "spl";
 			fdt = "$(basename $dtname)";
 		};
 __CONF_SECTION_EOF