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

Stefan Roese
2023-02-28T09:16:44Z

Hi Pali,

On 2/28/23 08:03, Stefan Roese wrote:
> Hi Martin,
> Hi Pali,
>
> On 2/27/23 12:29, Martin Rowe wrote:
>> On Mon, 27 Feb 2023 at 08:04, Pali Rohár <pali@kernel.org
>> <mailto:pali@kernel.org>> wrote:
>>
>>     On Monday 27 February 2023 08:44:30 Stefan Roese wrote:
>>      > Hi Pali,
>>      >
>>      > On 2/25/23 23:00, Pali Rohár wrote:
>>      > > On Tuesday 21 February 2023 21:18:26 Pali Rohár wrote:
>>      > > > 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
>>     <https://github.com/u-boot/u-boot/pull/275>
>>      > >
>>      > > Patches were tested on more boards and seems there is no
>>     reported issue,
>>      > > but other improvements.
>>      > >
>>      > > So do you need something to modify in this relatively big patch
>>     series?
>>      > > If it is not really needed I would like to not send it again
>>     because
>>      > > denx servers are not able to handle it. And it take me lot of
>>     time to
>>      > > send patches over emails to denx servers.
>>      >
>>      > I'm fine with applying the series as-is. I'm a bit hesitant
>>     though, if
>>      > it should be applied to master or to next. As Tom clearly
>>     noticed, that
>>      > only fixes should be added after rc2 this time.
>>      >
>>      > What is your thinking on this?
>>
>>     Well, I do not know. AFAIK more patches here are fixing broken mvebu
>>     boards (e.g. eMMC or SATA parts). Maybe Martin or Josua could
>> comment?
>>
>>
>> A388 Clearfog was definitely broken prior to this patchset. There is
>> quite a bit of churn that this has caused for some OpenWRT users [1]
>> as well as for me. It would be nice to have a stable build for these
>> boards.
>>
>> [1] https://github.com/openwrt/openwrt/issues/11661
>> <https://github.com/openwrt/openwrt/issues/11661>
>
> Okay. Thanks for the explanation. So it makes sense to pull this
> patchset at this stage IMHO.

Short update: I've just now seen that rc3 has been released. And Tom
explicitly mentioned, that bigger pull requests are "not very welcome"
any more from now on. I'll push this patchset to "next" now instead,
once the problems mentioned below are resolved.

Thanks,
Stefan

> BUT: While trying to apply the patches sent to me directly this fails at
> this patch:
>
> tools: kwbimage: Add support for XIP SPI/NOR images
>
> I tried to fix this merge problem manually, but this looks a bit bogus.
> That's why I followed your instruction to pull the patches directly from
> github:
>
> git fetch https://github.com/u-boot/u-boot.git refs/pull/275/merge:mvebu
>
> This works and all patches apply clean. But looking into the patches I
> noticed, that these patches from github do not include all patches
> sent to the list. refs/pull/275/merge:mvebu stops after
>
> tools: mkimage: Do not fill legacy_img_hdr for non-legacy XIP images
>
> This is the patch directly before the failing patch mentioned above.
>
> Pali, could you please explain what went wrong here? Maybe I'm missing
> something?
>
> Thanks,
> Stefan
>
>>
>>      > Thanks,
>>      > Stefan
>>      >
>>      > >
>>      > > >
>>      > > > 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
>>     <http://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
>>      > > >
>>      >
>>      > Viele Grüße,
>>      > Stefan Roese
>>      >
>>      > --
>>      > DENX Software Engineering GmbH,      Managing Director: Erika
>> Unter
>>      > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell,
>> Germany
>>      > Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email:
>>     sr@denx.de <mailto:sr@denx.de>
>>
>
> Viele Grüße,
> Stefan Roese
>

Viele Grüße,
Stefan Roese

--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr@denx.de