On Fri, Jun 11, 2021 at 04:09:56AM +0200, Marek Vasut wrote: > The current fitImage DTO implementation expects each fitImage image > subnode containing DTO to have 'load' property, pointing somewhere > into memory where the DTO will be loaded. The address in the 'load' > property must be different then the base DT load address and there > must be sufficient amount of space between those two addresses. > Selecting and using such hard-coded addresses is fragile, error > prone and difficult to port even across devices with the same SoC > and different DRAM sizes. > > The DTO cannot be applied in-place because fdt_overlay_apply_verbose() > modifies the DTO when applying it onto the base DT, so if the DTO was > used in place within the fitImage, call to fdt_overlay_apply_verbose() > would corrupt the fitImage. > > Instead of copying the DTO to a specific hard-coded load address, > allocate a buffer, copy the DTO into that buffer, apply the DTO onto > the base DT, and free the buffer. > > The upside of this approach is that it is no longer necessary to > select and hard-code specific DTO load address into the DTO. The > slight downside is the new malloc()/free() overhead for each DTO, > but that is negligible (*). > > (*) on iMX8MM/MN and STM32MP1 > > Signed-off-by: Marek Vasut <ma...@denx.de> > Cc: Pantelis Antoniou <pantelis.anton...@konsulko.com> > Cc: Simon Glass <s...@chromium.org> > Cc: Tom Rini <tr...@konsulko.com> > Reviewed-by: Simon Glass <s...@chromium.org>
Applied to u-boot/master, thanks! -- Tom
signature.asc
Description: PGP signature