rockchip: mkimage: refactor rksd/rkspi padding calculation and add dumpimage support
Get series with b4
b4 am 1828214.9pp2RnOGsf@philVersions newest first
- v1 Latest0 of 8 patches 0 repliesNew
Patches in v1 No applies recorded yet
None of the 8 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [U-Boot] [PATCH v1 0/8] rockchip: mkimage: refactor rksd/rkspi padding calculation and add dumpimage support
Hi Philipp,
Am Mittwoch, 17. Mai 2017, 12:12:51 CEST schrieb Dr. Philipp Tomsich:
Quoted 6 lines
What are the requirements for
BACK_TO_BROM?
All I can see about howBACK_TO_BROMworks 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...
Which is most likely the problem. back_to_bootrom-images are concatenated with the spl in front (init_size) and when returned to the bootrom it reads the rest up to init_boot_size into the sdram.
So ideally we would return that line back to RK_MAX_BOOT_SIZE (512KB). Somewhat safe value and boards not using back_to_bootrom, as this value really only affects that second stage and not the actual spl loading.
I'm sadly away from my boardfarm this and next week, so testing bootloader on my rk3188 board can only happend after that, but I'm somewhat confident that this would solve the problem. Maybe Kever can test that meanwhile.
Heiko
Quoted 63 lines
Regards,
Philipp.Quoted 56 lines · Kever Yang
Hi Philipp,
This patch makes all the Rockchip SoCs with
BACK_TO_BROMenabled can not work,does the size correct for the SPL correct?
Thanks,
- KeverQuoted 43 lines · Philipp Tomsich
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_headerandprint_header) had to be added to quickly check the image type being handledNote 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_headertools/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(-)