[PATCH] verdin-am62: fix FASTBOOT_BUF_ADDR and FASTBOOT_BUF_SIZE
Hiago De Franco
hiagofranco at gmail.com
Mon Dec 2 17:23:52 CET 2024
On Fri, Nov 29, 2024 at 10:09:25AM -0600, Tom Rini wrote:
> On Fri, Nov 29, 2024 at 12:12:57PM -0300, Hiago De Franco wrote:
>
> > From: Hiago De Franco <hiago.franco at toradex.com>
> >
> > The current value of CONFIG_FASTBOOT_BUF_ADDR is incorrect for hardware
> > with 512MB and 1GB of RAM. The RAM address ranges for these devices are:
> >
> > - 512MB:
> > - Start: 0x80000000
> > - End: 0xA0000000
> > - 1GB:
> > - Start: 0x80000000
> > - End: 0xC0000000
> >
> > The current buffer address makes fastboot downloads work only on
> > hardware with 2GB of RAM.
> >
> > To fix this issue:
> > 1. Lower CONFIG_FASTBOOT_BUF_ADDR to 0x80080000. This places the buffer
> > near the beginning of RAM with a 512KB offset, as starting at exactly
> > 0x80000000 conflicts with the ATF load address. Following
> > K3_ATF_LOAD_ADDR configuration, ATF is loaded at 0x80000000:
> >
> > config K3_ATF_LOAD_ADDR
> > hex "Load address of ATF image"
> > default 0x80000000 if (SOC_K3_AM625 || SOC_K3_AM62A7 || SOC_K3_AM62P5 || SOC_K3_J722S)
> > default 0x70000000
> > help
> > The load address for the ATF image. This value is used to build the
> > FIT image header that places ATF in memory where it will run.
> >
> > 2. Reduce the size of the download buffer to 128MB, avoiding overlaps
> > with RAMDISK_ADDR_R. This is a good enough value for individual
> > downloads.
> >
> > Theses changes make fastboot downloads work with 512MB and 1GB devices.
> >
> > Fixes: defe30a78b76 ("verdin-am62: add DFU, USB and UUU fastboot support")
> > Signed-off-by: Hiago De Franco <hiago.franco at toradex.com>
> > ---
> > configs/verdin-am62_a53_defconfig | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/configs/verdin-am62_a53_defconfig b/configs/verdin-am62_a53_defconfig
> > index 49fb9790e295..6fa1a9d2c552 100644
> > --- a/configs/verdin-am62_a53_defconfig
> > +++ b/configs/verdin-am62_a53_defconfig
> > @@ -122,8 +122,8 @@ CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
> > CONFIG_DMA_CHANNELS=y
> > CONFIG_TI_K3_NAVSS_UDMA=y
> > CONFIG_USB_FUNCTION_FASTBOOT=y
> > -CONFIG_FASTBOOT_BUF_ADDR=0xC0000000
> > -CONFIG_FASTBOOT_BUF_SIZE=0x2F000000
> > +CONFIG_FASTBOOT_BUF_ADDR=0x80080000
> > +CONFIG_FASTBOOT_BUF_SIZE=0x8000000
> > CONFIG_FASTBOOT_UUU_SUPPORT=y
> > CONFIG_TI_SCI_PROTOCOL=y
> > CONFIG_GPIO_HOG=y
>
> Why not 0x88200000 which is what CONFIG_SYS_LOAD_ADDR is?
We were downloading a file at this address, that is why we decided to
not use it. However it is better to use SYS_LOAD_ADDR and then download
this file to a different value.
Thanks Tom, I will send a v2.
>
> --
> Tom
Cheers,
Hiago.
More information about the U-Boot
mailing list