[PATCH RFC u-boot-mvebu 00/59] arm: mvebu: Various fixes

Pali Rohár
2023-02-21T20:28:10Z

This patch series contains various improvements and fixes for existing
logical errors. Boot phase was adjusted to match behavior of Armada 385
BootROM by inspecting and disassembling of BootROM binary dump itself.
Important information are included in documentation patch for kwboot.
Most of the changes are untested, hence this patch series is just RFC.
So please test changes before applying, idealy on SPI, SATA and SD/MMC.
Nevertheless all patches on github passed CI testing in this PR:
https://github.com/u-boot/u-boot/pull/275

Pali Rohár (59):
tools: kwbimage: Fix generating, verifying and extracting SDIO
kwbimage
tools: kwboot: Fix parsing SDIO kwbimage
arm: mvebu: spl: Fix parsing SDIO kwbimage
cmd: mvebu/bubt: Fix parsing SDIO kwbimage
tools: kwbimage: Fix generating, verifying and extracting SATA
kwbimage
tools: kwboot: Fix parsing SATA kwbimage
arm: mvebu: spl: Fix parsing SATA kwbimage
cmd: mvebu/bubt: Fix parsing SATA kwbimage
arm: mvebu: spl: Remove checks for BOOT_DEVICE_MMC2 and
BOOT_DEVICE_MMC2_2
arm: mvebu: spl: Load proper U-Boot from selected eMMC boot partition
spl: mmc: Allow to disable SYS_MMCSD_FS_BOOT_PARTITION
arm: mvebu: spl: Fix support for loading U-Boot proper from SD card
tools: kwboot: Add more documentation references
tools: kwboot: Add image type documentation
tools: kwboot: Fix parsing UART image without data checksum
tools: kwboot: Validate optional kwbimage v1 headers
tools: kwboot: Add check that kwbimage contains DDR init code
tools: kwboot: Fix patching of SPI/NOR XIP images
tools: kwboot: Show image type and error parsing reasons
cmd: mvebu/bubt: Add support for selecting eMMC HW partition
cmd: mvebu/bubt: Add support for writing image to SATA disk
cmd: mvebu/bubt: Add support for reading image from the SATA disk
partition
cmd: mvebu/bubt: Rename variable image_size to hdr_size
cmd: mvebu/bubt: Mark all local symbols as static
cmd: mvebu/bubt: Do not modify image in A8K check_image_header()
cmd: mvebu/bubt: Check also A8K boot image checksum
cmd: mvebu/bubt: Set correct default image name for 32-bit Armada SoCs
cmd: mvebu/bubt: Better guess default MVEBU_*_BOOT option
cmd: mvebu/bubt: Fix warnings: unused variable 'secure_mode' and
'fuse_read_u64' defined but not used
cmd: mvebu/bubt: Enable command by default
tools: kwbimage: Fix dumping register set / DATA commands
tools: kwbimage: Fix endianity when dumping NAND_PAGE_SIZE
tools: kwbimage: Fix dumping NAND_BADBLK_LOCATION
tools: kwbimage: Fix dumping NAND_BLKSZ
tools: kwbimage: Fix generating of kwbimage v0 header checksum
tools: kwbimage: Fix endianity when printing kwbimage header
tools: kwbimage: Reject mkimage -F option
tools: kwbimage: Add support for dumping NAND_BLKSZ for v0 images
tools: kwbimage: Print binary image offset as size
tools: kwbimage: Print image data offset when printing kwbimage header
tools: kwbimage: Simplify add_secure_header_v1()
tools: kwbimage: Rename imagesz to dataoff
tools: kwbimage: Fix generating secure boot data image signature
tools: kwbimage: Fix invalid secure boot header signature
tools: mkimage: Do not fill legacy_img_hdr for non-legacy XIP images
tools: kwbimage: Add support for XIP SPI/NOR images
tools: mkimage: Print human readable error when -d is not specified
tools: mkimage: Do not try to open datafile when it is skipped
tools: kwbimage: Add support for creating an image with no data
arm: mvebu: Add support for generating NAND kwbimage
arm: mvebu: Add support for generating PEX kwbimage
arm: mvebu: Fix description of MVEBU_SPL_BOOT_DEVICE_(SPI|MMC) options
arm: mvebu: db-88f6820-amc: Add defconfig for NAND booting
arm: mvebu: clearfog: Add defconfig for SATA booting
arm: mvebu: Remove A39x relicts
arm: mvebu: Fix comment about CPU_ATTR_BOOTROM mapping
arm: mvebu: Define env_sf_get_env_addr() also for Proper U-Boot
arm: mvebu: Define SPL memory maps
doc/kwboot.1: Update example description

arch/arm/mach-mvebu/Kconfig | 23 +-
arch/arm/mach-mvebu/Makefile | 13 +
arch/arm/mach-mvebu/cpu.c | 11 +-
arch/arm/mach-mvebu/include/mach/cpu.h | 21 ++
arch/arm/mach-mvebu/kwbimage.cfg.in | 5 +
.../serdes/a38x/high_speed_env_spec.c | 4 +-
.../serdes/a38x/high_speed_env_spec.h | 4 +-
arch/arm/mach-mvebu/serdes/a38x/sys_env_lib.c | 14 +-
arch/arm/mach-mvebu/serdes/a38x/sys_env_lib.h | 30 --
arch/arm/mach-mvebu/spl.c | 84 +++--
cmd/mvebu/Kconfig | 18 ++
cmd/mvebu/bubt.c | 253 ++++++++++++---
common/spl/Kconfig | 9 +
common/spl/spl_mmc.c | 12 +-
...rfog_defconfig => clearfog_sata_defconfig} | 2 +-
...efconfig => db-88f6820-amc_nand_defconfig} | 6 +-
doc/kwboot.1 | 3 +-
doc/mvebu/cmd/bubt.txt | 25 +-
drivers/mtd/nand/raw/Kconfig | 4 +-
tools/kwbimage.c | 297 +++++++++++-------
tools/kwboot.c | 200 +++++++++++-
tools/mkimage.c | 11 +-
22 files changed, 768 insertions(+), 281 deletions(-)
copy configs/{clearfog_defconfig => clearfog_sata_defconfig} (98%)
copy configs/{db-88f6820-amc_defconfig => db-88f6820-amc_nand_defconfig} (92%)

--
2.20.1