[U-Boot] [PATCH v1 0/8] rockchip: mkimage: refactor rksd/rkspi padding calculation and add dumpimage support

Dr. Philipp Tomsich philipp.tomsich at theobroma-systems.com
Wed May 17 10:12:51 UTC 2017


Kever,

What are the requirements for BACK_TO_BROM?
All I can see about how BACK_TO_BROM works is that it needs to save the register
context on the stack for returning to the ROM, but that seems to be only half the story.

Assuming that the header0 structure plays into this, the only significant change there
is that I don’t set the 'hdr->init_boot_size’ to the maximum SPL size any longer...

Regards,
Philipp.

> On 17 May 2017, at 11:50, Kever Yang <kever.yang at rock-chips.com> wrote:
> 
> Hi Philipp,
> 
> This patch makes all the Rockchip SoCs with BACK_TO_BROM enabled can not work,
> 
> does the size correct for the SPL correct?
> 
> Thanks,
> - Kever
> On 04/17/2017 11:47 PM, Philipp Tomsich wrote:
>> We support booting both from SD/MMC images and SPI images on the
>> RK3399-Q7 for different use-cases (e.g. external boot in development
>> from the SD card, internal boot from MMC or SPI depending on whether
>> the SPI flash is populated on any given configuration option).
>> 
>> In getting the SPI image support ready for production, we found a
>> few areas that warranted improvements:
>> - we had broken SPI bootstrap earlier in the changes introducting
>>   boot0-style images for the RK3399 (this needed fixing)
>> - in fixing the broken SPI padding calculation, it became apparent
>>   that it's best to refactor and document things before we make
>>   the same mistake again in the future
>> - with both SD/MMC and SPI images being used for various purposes
>>   by various people, the wrong image style was inadvertendly used
>>   in some tests... so we support for 'dumpimage' (i.e. verify_header
>>   and print_header) had to be added to quickly check the image
>>   type being handled
>> 
>> Note that with the refactored calculation of the image-size, we
>> don't pad the image to the maximum SPL size any longer, but pad
>> SD/MMC to the next 512 byte block (RK_BLK_SIZE) and SPI to the
>> next 2K boundary.
>> 
>> 
>> Philipp Tomsich (8):
>>   rockchip: mkimage: rkspi: include the header sector in the SPI size
>>     calculation
>>   rockchip: mkimage: rewrite padding calculation for SD/MMC and SPI
>>     images
>>   rockchip: mkimage: Update comments for header size
>>   rockchip: mkimage: rksd: pad SD/MMC images to a full blocksize
>>   rockchip: mkimage: clarify header0 initialisation
>>   rockchip: mkimage: play nice with dumpimage
>>   rockchip: mkimage: remove placeholder functions from rkimage
>>   rockchip: mkimage: add support for verify_header/print_header
>> 
>>  tools/rkcommon.c | 195 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
>>  tools/rkcommon.h |  29 ++++++++-
>>  tools/rkimage.c  |  21 +-----
>>  tools/rksd.c     |  47 +++++---------
>>  tools/rkspi.c    |  62 +++++++++---------
>>  5 files changed, 255 insertions(+), 99 deletions(-)
>> 
> 
> 



More information about the U-Boot mailing list