arm: socfpga: Enable FIT signature with crc32 for SOC64 devices
authorSiew Chin Lim <elly.siew.chin.lim@intel.com>
Wed, 24 Mar 2021 15:56:37 +0000 (23:56 +0800)
committerLey Foon Tan <ley.foon.tan@intel.com>
Thu, 8 Apr 2021 09:29:13 +0000 (17:29 +0800)
Add signature with crc32 value for all images in binman node for FIT
image in device tree. And, enable FIT signature checking for Stratix10
and Agilex ATF and VAB sdmmc boot.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
arch/arm/dts/socfpga_soc64_fit-u-boot.dtsi
configs/socfpga_agilex_atf_defconfig
configs/socfpga_agilex_vab_defconfig
configs/socfpga_stratix10_atf_defconfig

index 4b30473..84b91e8 100644 (file)
                                        arch = "arm64";
                                        compression = "none";
                                        load = <0x00200000>;
-
                                        uboot_blob: blob-ext {
                                                filename = "u-boot-nodtb.bin";
                                        };
+                                       hash {
+                                               algo = "crc32";
+                                       };
                                };
 
                                atf {
                                        compression = "none";
                                        load = <0x00001000>;
                                        entry = <0x00001000>;
-
                                        atf_blob: blob-ext {
                                                filename = "bl31.bin";
                                        };
+                                       hash {
+                                               algo = "crc32";
+                                       };
                                };
 
                                fdt {
                                        description = "U-Boot SoC64 flat device-tree";
                                        type = "flat_dt";
                                        compression = "none";
-
                                        uboot_fdt_blob: blob-ext {
                                                filename = "u-boot.dtb";
                                        };
+                                       hash {
+                                               algo = "crc32";
+                                       };
                                };
                        };
 
                                        firmware = "atf";
                                        loadables = "uboot";
                                        fdt = "fdt";
+                                       signature {
+                                               algo = "crc32";
+                                               key-name-hint = "dev";
+                                               sign-images = "atf", "fdt", "uboot";
+                                       };
                                };
                        };
                };
                                        compression = "none";
                                        load = <0x4080000>;
                                        entry = <0x4080000>;
-
                                        kernel_blob: blob-ext {
                                                filename = "Image";
                                        };
+                                       hash {
+                                               algo = "crc32";
+                                       };
                                };
 
                                fdt {
                                        type = "flat_dt";
                                        arch = "arm64";
                                        compression = "none";
-
                                        kernel_fdt_blob: blob-ext {
                                                filename = "linux.dtb";
                                        };
+                                       hash {
+                                               algo = "crc32";
+                                       };
                                };
                        };
 
                                        description = "Intel SoC64 FPGA";
                                        kernel = "kernel";
                                        fdt = "fdt";
+                                       signature {
+                                               algo = "crc32";
+                                               key-name-hint = "dev";
+                                               sign-images = "fdt", "kernel";
+                                       };
                                };
                        };
                };
index 7adda02..e5b7f4b 100644 (file)
@@ -14,6 +14,10 @@ CONFIG_IDENT_STRING="socfpga_agilex"
 CONFIG_SPL_FS_FAT=y
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_agilex_socdk"
 CONFIG_FIT=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000
+CONFIG_SPL_FIT_SIGNATURE=y
+CONFIG_SPL_CRC32_SUPPORT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x02000000
 # CONFIG_USE_SPL_FIT_GENERATOR is not set
index bca663e..fac9cf7 100644 (file)
@@ -15,6 +15,10 @@ CONFIG_IDENT_STRING="socfpga_agilex"
 CONFIG_SPL_FS_FAT=y
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_agilex_socdk"
 CONFIG_FIT=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000
+CONFIG_SPL_FIT_SIGNATURE=y
+CONFIG_SPL_CRC32_SUPPORT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x02000000
 # CONFIG_USE_SPL_FIT_GENERATOR is not set
index 8dbb742..7466025 100644 (file)
@@ -14,6 +14,10 @@ CONFIG_IDENT_STRING="socfpga_stratix10"
 CONFIG_SPL_FS_FAT=y
 CONFIG_DEFAULT_DEVICE_TREE="socfpga_stratix10_socdk"
 CONFIG_FIT=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_FIT_SIGNATURE_MAX_SIZE=0x10000000
+CONFIG_SPL_FIT_SIGNATURE=y
+CONFIG_SPL_CRC32_SUPPORT=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x02000000
 # CONFIG_USE_SPL_FIT_GENERATOR is not set