Skip to main content
Visitor II
January 25, 2023
Solved

ETZPC and kernel FIT image

  • January 25, 2023
  • 2 replies
  • 3410 views

Hi all!!

Follow the wiki page, I added support to kernel FIT image in my Yocto distro for the board stm32mp157c-dk2 based on openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23.

Just I added the option: MACHINE_FEATURES += "fit" and I selected BOOTSCHEME_LABELS += "trusted" in stm32mp15-disco.conf and finally I generated the new image.

The problem is thar after start kernel I see a ETZPC trace that does not appear in the typical configuration.

FIT image traces:

## Loading kernel from FIT Image at c2000000 ...
 Using 'conf-stm32mp157c-dk2.dtb' configuration
 Trying 'kernel-1' kernel subimage
 Description: Linux kernel
 Created: 2022-09-08 10:32:54 UTC
 Type: Kernel Image
 Compression: uncompressed
 Data Start: 0xc2000120
 Data Size: 7903152 Bytes = 7.5 MiB
 Architecture: ARM
 OS: Linux
 Load Address: 0xc0800000
 Entry Point: 0xc0800000
...
 Verifying Hash Integrity ... sha256+ OK
## Flattened Device Tree blob at dbb017b0
 Booting using the fdt blob at 0xdbb017b0
 Loading Kernel Image
 Loading Ramdisk to cfc21000, end cfffffe1 ... OK
 Loading Device Tree to cfc00000, end cfc206c7 ... OK
ETZPC: 0x5a003000 node disabled, decprot 10=1

NO FIT traces:

Retrieving file: /uImage
7903216 bytes read in 645 ms (11.7 MiB/s)
Retrieving file: /st-image-resize-initrd
4059103 bytes read in 404 ms (9.6 MiB/s)
append: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200
Retrieving file: /stm32mp157c-dk2.dtb
118549 bytes read in 156 ms (741.2 KiB/s)
## Booting kernel from Legacy Image at c2000000 ...
 Image Name: Linux-5.15.67
 Created: 2022-09-08 10:32:54 UTC
 Image Type: ARM Linux Kernel Image (uncompressed)
 Data Size: 7903152 Bytes = 7.5 MiB
 Load Address: c2000040
 Entry Point: c2000040
 Verifying Checksum ... OK
## Flattened Device Tree blob at c4000000
 Booting using the fdt blob at 0xc4000000
 XIP Kernel Image
 Loading Ramdisk to cfc21000, end cfffffdf ... OK
 Loading Device Tree to cfc01000, end cfc20f14 ... OK
 
Starting kernel ...

Besides, in the kernel logs, I see some changes for example, it changes the I2C bus where the devices are located.

FIT Kernel trace:

[ 2.144266] i2c 4-0039: Fixing up cyclic dependency with 4000b000.audio-controller
[ 2.150680] i2c 4-0039: Fixing up cyclic dependency with 5a001000.display-controller

Normail Kernel trace:

[ 2.118101] i2c 0-0039: Fixing up cyclic dependency with 4000b000.audio-controller
[ 2.124495] i2c 0-0039: Fixing up cyclic dependency with 5a001000.display-controller

Are any additional steps necessary for use kernel FIT with the distro openstlinux-5.15-yocto-kirkstone-mp1-v22.11.23?

Is it possible to disable the ETZPC node? In previous versions of tf-a it was disabled by default but in this commit, it says it is always enabled.

Thanks!

A.

    This topic has been closed for replies.
    Best answer by AVazquez

    It's a bug with FIT image and exlinux.conf

    In this commit, the oficial repo u-boot revert the commit "cmd: pxe_utils: Check fdtcontroladdr in label_boot"

    https://github.com/u-boot/u-boot/commit/ed6251187afabf811a5fd49a44ebd61c53c7b378

    For stm32 u-boot it's necesary revert this commit.

    Regards.

    A.

    2 replies

    AVazquezAuthor
    Visitor II
    January 26, 2023

    I add more trace in u-boot, and I can see the follow error:

    Wrong FIT format: not a flattened device tree (err=-9)

    I review the its file and I has all mandatory params, so I don't know what the problem is.

    Add its file from Yocto

    AVazquezAuthorAnswer
    Visitor II
    January 30, 2023

    It's a bug with FIT image and exlinux.conf

    In this commit, the oficial repo u-boot revert the commit "cmd: pxe_utils: Check fdtcontroladdr in label_boot"

    https://github.com/u-boot/u-boot/commit/ed6251187afabf811a5fd49a44ebd61c53c7b378

    For stm32 u-boot it's necesary revert this commit.

    Regards.

    A.