|
@@ -0,0 +1,94 @@
|
|
|
+#!/bin/sh
|
|
|
+#
|
|
|
+# SPDX-License-Identifier: GPL-2.0+
|
|
|
+#
|
|
|
+# Copyright (C) 2019 Jagan Teki <jagan@amarulasolutions.com>
|
|
|
+#
|
|
|
+# Based on the board/sunxi/mksunxi_fit_atf.sh
|
|
|
+#
|
|
|
+# Script to generate FIT image source for 64-bit puma boards with
|
|
|
+# U-Boot proper, ATF, PMU firmware and devicetree.
|
|
|
+#
|
|
|
+# usage: $0 <dt_name> [<dt_name> [<dt_name] ...]
|
|
|
+
|
|
|
+[ -z "$BL31" ] && BL31="bl31.bin"
|
|
|
+
|
|
|
+if [ ! -f $BL31 ]; then
|
|
|
+ echo "WARNING: BL31 file $BL31 NOT found, resulting binary is non-functional" >&2
|
|
|
+ echo "Please read Building section in doc/README.rockchip" >&2
|
|
|
+ BL31=/dev/null
|
|
|
+fi
|
|
|
+
|
|
|
+[ -z "$PMUM0" ] && PMUM0="rk3399m0.bin"
|
|
|
+
|
|
|
+if [ ! -f $PMUM0 ]; then
|
|
|
+ echo "WARNING: PMUM0 file $PMUM0 NOT found, resulting binary is non-functional" >&2
|
|
|
+ echo "Please read Building section in doc/README.rockchip" >&2
|
|
|
+ PMUM0=/dev/null
|
|
|
+fi
|
|
|
+
|
|
|
+cat << __HEADER_EOF
|
|
|
+/* SPDX-License-Identifier: GPL-2.0+ OR X11 */
|
|
|
+/*
|
|
|
+ * Copyright (C) 2017 Theobroma Systems Design und Consulting GmbH
|
|
|
+ *
|
|
|
+ * Minimal dts for a SPL FIT image payload.
|
|
|
+ */
|
|
|
+
|
|
|
+/dts-v1/;
|
|
|
+
|
|
|
+/ {
|
|
|
+ description = "FIT image with U-Boot proper, ATF bl31, M0 Firmware, DTB";
|
|
|
+ #address-cells = <1>;
|
|
|
+
|
|
|
+ images {
|
|
|
+ uboot {
|
|
|
+ description = "U-Boot (64-bit)";
|
|
|
+ data = /incbin/("u-boot-nodtb.bin");
|
|
|
+ type = "standalone";
|
|
|
+ arch = "arm64";
|
|
|
+ compression = "none";
|
|
|
+ load = <0x4a000000>;
|
|
|
+ };
|
|
|
+ atf {
|
|
|
+ description = "ARM Trusted Firmware";
|
|
|
+ data = /incbin/("$BL31");
|
|
|
+ type = "firmware";
|
|
|
+ arch = "arm64";
|
|
|
+ os = "arm-trusted-firmware";
|
|
|
+ compression = "none";
|
|
|
+ load = <0x1000>;
|
|
|
+ entry = <0x1000>;
|
|
|
+ };
|
|
|
+ pmu {
|
|
|
+ description = "Cortex-M0 firmware";
|
|
|
+ data = /incbin/("$PMUM0");
|
|
|
+ type = "pmu-firmware";
|
|
|
+ compression = "none";
|
|
|
+ load = <0x180000>;
|
|
|
+ };
|
|
|
+ fdt {
|
|
|
+ description = "RK3399-Q7 (Puma) flat device-tree";
|
|
|
+ data = /incbin/("u-boot.dtb");
|
|
|
+ type = "flat_dt";
|
|
|
+ compression = "none";
|
|
|
+ };
|
|
|
+__HEADER_EOF
|
|
|
+
|
|
|
+cat << __CONF_HEADER_EOF
|
|
|
+ };
|
|
|
+
|
|
|
+ configurations {
|
|
|
+ default = "conf";
|
|
|
+ conf {
|
|
|
+ description = "Theobroma Systems RK3399-Q7 (Puma) SoM";
|
|
|
+ firmware = "atf";
|
|
|
+ loadables = "uboot", "pmu";
|
|
|
+ fdt = "fdt";
|
|
|
+ };
|
|
|
+__CONF_HEADER_EOF
|
|
|
+
|
|
|
+cat << __ITS_EOF
|
|
|
+ };
|
|
|
+};
|
|
|
+__ITS_EOF
|