
On Fri, Apr 29, 2022 at 10:35 AM Stefan Roese sr@denx.de wrote:
While working on an LX2160 based board and updating to latest mainline I noticed problems using the HW accelerated hash functions on this platform, when trying to boot a FIT Kernel image. Here the resulting error message:
Using 'conf-freescale_lx2160a.dtb' configuration Trying 'kernel-1' kernel subimage Verifying Hash Integrity ... sha256Error: Address arguments are not aligned CAAM was not setup properly or it is faulty error! Bad hash value for 'hash-1' hash node in 'kernel-1' image node Bad Data Hash ERROR: can't get kernel image!
Testing and checking with Gaurav Jain from NXP has revealed, that this alignment check is not necessary here at all. So let's remove this check completely.
Signed-off-by: Stefan Roese sr@denx.de Cc: Gaurav Jain gaurav.jain@nxp.com Cc: dullfire@yahoo.com
I applied this patch against top of tree U-Boot, but I am still getting the following error on a kontron-sl-mx8mm board with the options below selected:
CONFIG_IMX_HAB=y CONFIG_SPL_DRIVERS_MISC=y
### Loading kernel from FIT Image at 42000000 ... Using 'conf-freescale_imx8mm-kontron-n801x-s.dtb' configuration Trying 'kernel-1' kernel subimage Description: Linux kernel Created: 2022-06-07 1:58:57 UTC Type: Kernel Image Compression: gzip compressed Data Start: 0x42000100 Data Size: 7609360 Bytes = 7.3 MiB Architecture: AArch64 OS: Linux Load Address: 0x40480000 Entry Point: 0x40480000 Hash algo: sha256 Hash value: d20b5d533e123096edb05a6433d850c0fafb4b39a6e6d47e9bade3f6fa7c26ce Verifying Hash Integrity ... sha256dev_get_priv: null device
Hi Fabio, I had the very same problem/error on i.MX6 and figured out that CONFIG_ARCH_MISC_INIT=y must be enabled otherwise the caam_jr driver is not initialized.
I also tried this patch. Now the caam_hash() returns OK and I can boot the board but I am still seeing a warning regarding wrong alignment from cache lib:
=> bootm 12000000#conf-4 ## Loading kernel from FIT Image at 12000000 ... Using 'conf-4' configuration Verifying Hash Integrity ... OK Trying 'kernel' kernel subimage Description: Kernel Type: Kernel Image Compression: uncompressed Data Start: 0x120000dc Data Size: 2901024 Bytes = 2.8 MiB Architecture: ARM OS: Linux Load Address: 0x10800000 Entry Point: 0x10800000 Hash algo: sha256 Hash value: a3343f1df615f14677176ea4966644fcaa25b31bd3808682567b7fedf704cfb8 Verifying Hash Integrity ... sha256CACHE: Misaligned operation at range [120000dc, 122c451c] + OK ## Loading fdt from FIT Image at 12000000 ... Using 'conf-4' configuration Verifying Hash Integrity ... OK Trying 'fdt-4' fdt subimage Description: Orion Flattened Device Tree blob Type: Flat Device Tree Compression: uncompressed Data Start: 0x122c4604 Data Size: 41038 Bytes = 40.1 KiB Architecture: ARM Load Address: 0x18000000 Hash algo: sha256 Hash value: 13e0b23bd49f9e86a0425080fc788db67bf318d6f103f217d5705a455737e91c Verifying Hash Integrity ... sha256CACHE: Misaligned operation at range [122c4604, 122ce684] + OK Loading fdt from 0x122c4604 to 0x18000000 Booting using the fdt blob at 0x18000000 Loading Kernel Image Using Device Tree in place at 18000000, end 1800d04d
Starting kernel ...
Michal