[U-Boot] u-boot spl with FIT images

Simon Glass sjg at chromium.org
Mon Feb 17 00:12:43 CET 2014


Hi Michal,

On 3 February 2014 01:20, Michal Simek <monstr at monstr.eu> wrote:
> Hi Simon,
>
> On 02/01/2014 01:28 AM, Simon Glass wrote:
>> +U-Boot (good to copy the list)
>
> yes, sure.
>
>>
>> Hi Michal,
>>
>> On 28 January 2014 06:23, Michal Simek <monstr at monstr.eu> wrote:
>>> Hi Simon,
>>>
>>> hope that you are good.
>>> IRC you mentioned at u-boot minisummit that you are enabling
>>> FIT support for u-boot SPL.
>>> I have checked the code and there is support for legacy format
>>> not for FIT images.
>>> IRC that you have done that.
>>> Have you sent any patches regarding that?
>>
>> Yes I have certainly had FIT support built into SPL. However my memory
>> is a little unclear at this stage. I did submit quite a long list of
>> image-related improvements:
>
> ok.
>
>> 689a197 sandbox: image: Create a test for loading FIT images
>> af732a6 sandbox: image: Adjust FIT image printing to work with sandbox
>> 4aec530 image: Use fit_image_load() to load kernel
>> 63544a0 image: Use fit_image_load() to load FDT
>> 48b7e7a image: Use fit_image_load() to load ramdisk
>> d48eed3 image: Introduce fit_image_load() to load images from FITs
>> 2ce9f76 mkimage: Add map_sysmem() and IH_ARCH_DEFAULT to simplfy building
>> 13d0698 image: Add device tree setup to image library
>> 44d3a30 image: Split libfdt code into image-fdt.c
>> 87ebee3 image: Add CONFIG_FIT_SPL_PRINT to control FIT image printing in SPL
>> 1fe7d93 image: Remove remaining #ifdefs in image-fit.c
>> aa6d6db mkimage: Put FIT loading in function and tidy error handling
>> 35e7b0f sandbox: image: Add support for booting images in sandbox
>> d8b7536 image: Rename hash printing to fit_image_print_verification_data()
>> bbb467d image: Rename fit_add_hashes() to fit_add_verification_data()
>> 003efd7 image: Export fit_conf_get_prop_node()
>> e754da2 image: Move error! string to common place
>> ab9efc6 image: Move hash checking into its own function
>> b8da836 image: Rename fit_image_check_hashes() to fit_image_verify()
>> b726091 image: Convert fit_image_hash_set_value() to static, and rename
>> 94e5fa4 image: Split hash node processing into its own function
>> 604f23d image: Move HOSTCC image code to tools/
>> 53fbb7e image: Split FIT code into new image-fit.c
>> 61a439a image: Export fit_check_ramdisk()
>> 859e92b image: Move timestamp #ifdefs to header file
>> 816cb03 mkimage: Move ARRAY_SIZE to header file
>> 0ccff50 image: Use crc header file instead of C prototypes
>>
>>
>> However I am not sure exactly what I had to do to enable FIT in SPL.
>> Have you tried it? What support do you think is missing? That might
>> help jog my memory.
>
>
> spl_parse_image_header() is that function I am talking about.
> There is this checking
> image_get_magic(header) == IH_MAGIC
> where IH_MAGIC is 0x27051956 which is old u-boot image format.
>
> What I thought that you have is support for images in doc/uImage.FIT
> format in u-boot SPL.
> Just to have kernel/dtb/ramdisk in one file.

I think what I did was call fit_image_load() from SPL, or similar. A
lot of my effort was to get FIT into a single place so it was easy to
load an image from a FIT without having to know the internals of how
it worked. So if you make that call and tell it the image to load, it
will return the address and size.

I'm pretty sure you can call that from SPL, although you may need to
link with additional files.

Regards,
Simon


More information about the U-Boot mailing list