[PATCH] imx8m{m,n}_venice: update env memory layout

Tim Harvey tharvey at gateworks.com
Thu Mar 10 16:59:30 CET 2022


On Sun, Feb 27, 2022 at 4:22 AM Fabio Estevam <festevam at gmail.com> wrote:
>
> Hi Tim,
>
> [Adding Tom on Cc]
>
> On Sat, Feb 26, 2022 at 6:37 PM Tim Harvey <tharvey at gateworks.com> wrote:
> >
> > On Sat, Feb 26, 2022 at 5:15 AM Fabio Estevam <festevam at gmail.com> wrote:
> > >
> > > Hi Tim,
> > >
> > > On Fri, Feb 18, 2022 at 8:20 PM Tim Harvey <tharvey at gateworks.com> wrote:
> > > >
> > > > Update distro config env memory layout:
> > > >  - loadaddr=0x48200000 allows for 130MB area for uncompressing (ie FIT
> > > >    images, kernel_comp_addr_r)
> > > >  - fdt_addr_r = loadaddr + 128MB - allows for 128MB kernel
> > > >  - scriptaddr = fdt_addr_r + 512KB - allows for 512KB fdt
> > > >  - ramdisk_addr_r = scriptaddr + 512KB - allows for 512KB script
> > > >
> > > > Signed-off-by: Tim Harvey <tharvey at gateworks.com>
> > >
> > > What about following the suggestion from Heiko at:
> > > https://patchwork.ozlabs.org/project/uboot/patch/20220216122514.1659879-2-heiko.thiery@gmail.com/
> >
> > Fabio,
> >
> > I don't understand why include/configs/ti_armv7_common.h is always
> > recommended when it comes to address maps. The comment there doesn't
> > read that well and there are several addresses that I believe are
> > outdated or uncommon (fdtaddr,rdaddr are outdated and it seems
> > loadaddr could be used for dtboaddr)
> >
> > In my opinion what is relevant when choosing an addressing scheme is
> > how much space you want to allow for kernel, fdt, scripts, ramdisk.
> >
> > ti_armv7_common.h allows for
> > kernel/loadaddr:96M (too small in my opinion on modern boards)
> > fdt:512M (makes sense)
> > script:32M (excessive, and I don't understand why this is below
> > loadaddr vs stacked on top of loadaddr like fdt)
> > ramdisk: depends on mem size as its the highest addr (makes sense)
> >
> > For my more modern boards with typically 1-4GiB of dram, I wanted to
> > allow for more than 96M for a kernel (kernel+ramdisk, fit image etc)
> > as I commonly exceed 96M when using a buildroot kernel+rootfs that has
> > something like gstreamer support for imx6/imx8 which is why I came up
> > with a different scheme which I document well in the commit log as
> >  - loadaddr=0x48200000 allows for 130MB area for uncompressing (ie FIT
> >    images, kernel_comp_addr_r)
> >  - fdt_addr_r = loadaddr + 128MB - allows for 128MB kernel
> >  - scriptaddr = fdt_addr_r + 512KB - allows for 512KB fdt
> >  - ramdisk_addr_r = scriptaddr + 512KB - allows for 512KB script
>
> You bring good points and maybe we could use
> include/configs/imx8mm_venice.h as a good standard to follow :-)
>
> Reviewed-by: Fabio Estevam <festevam at denx.de>

Tom,

DId you have any feedback on this conversation about memory addresses?
I'm also wondering if anyone knows how we can define them to make it a
bit clearer about their sizes (some sort of macro foo that allows us
to defined them as sizes on top of a previous address).

Best regards,

Tim


More information about the U-Boot mailing list