arm: socfpga: dts: soc64: Add binman node of FIT image with ATF support
authorSiew Chin Lim <elly.siew.chin.lim@intel.com>
Thu, 24 Dec 2020 10:21:11 +0000 (18:21 +0800)
committerLey Foon Tan <ley.foon.tan@intel.com>
Fri, 15 Jan 2021 09:48:38 +0000 (17:48 +0800)
Add binman node to device tree to generate the FIT image for u-boot
(u-boot.itb) and OS kernel (kernel.itb).

u-boot.itb contains arm trusted firmware (ATF), u-boot proper and
u-boot device tree for ATF u-boot flow.

kernel.itb contains Linux Image and Linux device tree.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
arch/arm/dts/socfpga_agilex-u-boot.dtsi
arch/arm/dts/socfpga_soc64_fit-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/socfpga_stratix10-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/socfpga_stratix10_socdk-u-boot.dtsi

index f0528a9..08f7cf7 100644 (file)
@@ -2,9 +2,11 @@
 /*
  * U-Boot additions
  *
- * Copyright (C) 2019 Intel Corporation <www.intel.com>
+ * Copyright (C) 2019-2020 Intel Corporation <www.intel.com>
  */
 
+#include "socfpga_soc64_fit-u-boot.dtsi"
+
 /{
        memory {
                #address-cells = <2>;
diff --git a/arch/arm/dts/socfpga_soc64_fit-u-boot.dtsi b/arch/arm/dts/socfpga_soc64_fit-u-boot.dtsi
new file mode 100644 (file)
index 0000000..cf36559
--- /dev/null
@@ -0,0 +1,120 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * U-Boot additions
+ *
+ * Copyright (C) 2020 Intel Corporation <www.intel.com>
+ */
+
+#if defined(CONFIG_FIT)
+
+/ {
+       binman: binman {
+               multiple-images;
+       };
+};
+
+&binman {
+       u-boot {
+               filename = "u-boot.itb";
+               fit {
+                       fit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;
+                       description = "FIT with firmware and bootloader";
+                       #address-cells = <1>;
+
+                       images {
+                               uboot {
+                                       description = "U-Boot SoC64";
+                                       type = "standalone";
+                                       os = "U-Boot";
+                                       arch = "arm64";
+                                       compression = "none";
+                                       load = <0x00200000>;
+
+                                       uboot_blob: blob-ext {
+                                               filename = "u-boot-nodtb.bin";
+                                       };
+                               };
+
+                               atf {
+                                       description = "ARM Trusted Firmware";
+                                       type = "firmware";
+                                       os = "arm-trusted-firmware";
+                                       arch = "arm64";
+                                       compression = "none";
+                                       load = <0x00001000>;
+                                       entry = <0x00001000>;
+
+                                       atf_blob: blob-ext {
+                                               filename = "bl31.bin";
+                                       };
+                               };
+
+                               fdt {
+                                       description = "U-Boot SoC64 flat device-tree";
+                                       type = "flat_dt";
+                                       compression = "none";
+
+                                       uboot_fdt_blob: blob-ext {
+                                               filename = "u-boot.dtb";
+                                       };
+                               };
+                       };
+
+                       configurations {
+                               default = "conf";
+                               conf {
+                                       description = "Intel SoC64 FPGA";
+                                       firmware = "atf";
+                                       loadables = "uboot";
+                                       fdt = "fdt";
+                               };
+                       };
+               };
+       };
+
+       kernel {
+               filename = "kernel.itb";
+               fit {
+                       description = "FIT with Linux kernel image and FDT blob";
+                       #address-cells = <1>;
+
+                       images {
+                               kernel {
+                                       description = "Linux Kernel";
+                                       type = "kernel";
+                                       arch = "arm64";
+                                       os = "linux";
+                                       compression = "none";
+                                       load = <0x4080000>;
+                                       entry = <0x4080000>;
+
+                                       kernel_blob: blob-ext {
+                                               filename = "Image";
+                                       };
+                               };
+
+                               fdt {
+                                       description = "Linux DTB";
+                                       type = "flat_dt";
+                                       arch = "arm64";
+                                       compression = "none";
+
+                                       kernel_fdt_blob: blob-ext {
+                                               filename = "linux.dtb";
+                                       };
+                               };
+                       };
+
+                       configurations {
+                               default = "conf";
+                               conf {
+                                       description = "Intel SoC64 FPGA";
+                                       kernel = "kernel";
+                                       fdt = "fdt";
+                               };
+                       };
+               };
+       };
+};
+
+#endif
diff --git a/arch/arm/dts/socfpga_stratix10-u-boot.dtsi b/arch/arm/dts/socfpga_stratix10-u-boot.dtsi
new file mode 100644 (file)
index 0000000..3e3a378
--- /dev/null
@@ -0,0 +1,8 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * U-Boot additions
+ *
+ * Copyright (C) 2020 Intel Corporation <www.intel.com>
+ */
+
+#include "socfpga_soc64_fit-u-boot.dtsi"
index 2669abb..61df425 100755 (executable)
@@ -2,9 +2,11 @@
 /*
  * U-Boot additions
  *
- * Copyright (C) 2019 Intel Corporation <www.intel.com>
+ * Copyright (C) 2019-2020 Intel Corporation <www.intel.com>
  */
 
+#include "socfpga_stratix10-u-boot.dtsi"
+
 /{
        aliases {
                spi0 = &qspi;