[PATCH v1] imx: imx8qm: enable relocation of fdt and initrd
Tom Rini
trini at konsulko.com
Fri Feb 7 15:28:16 CET 2020
On Fri, Feb 07, 2020 at 11:46:11AM +0100, Oliver Graute wrote:
> On 05/02/20, Tom Rini wrote:
> > On Wed, Feb 05, 2020 at 03:51:42PM +0000, Oliver Graute wrote:
> >
> > > Remove 'fdt_high' and 'initrd_high' environment variables (set to 0xFFFFFFFF)
> > > from default environment which prevents relocation of FDT and initrd.
> > >
> > > Signed-off-by: Oliver Graute <oliver.graute at kococonnector.com>
> > > Cc: Stefano Babic <sbabic at denx.de>
> > > Cc: Fabio Estevam <festevam at gmail.com>
> > > Cc: Peng Fan <peng.fan at nxp.com>
> > > Cc: Simon Glass <sjg at chromium.org>
> > > Cc: Ye Li <ye.li at nxp.com>
> > > Cc: uboot-imx <uboot-imx at nxp.com>
> > > ---
> > > include/configs/imx8qm_rom7720.h | 2 --
> > > 1 file changed, 2 deletions(-)
> > >
> > > diff --git a/include/configs/imx8qm_rom7720.h b/include/configs/imx8qm_rom7720.h
> > > index 865863eb7c..8beb65e96b 100644
> > > --- a/include/configs/imx8qm_rom7720.h
> > > +++ b/include/configs/imx8qm_rom7720.h
> > > @@ -63,11 +63,9 @@
> > > "panel=NULL\0" \
> > > "console=ttyLP0\0" \
> > > "fdt_addr=0x83000000\0" \
> > > - "fdt_high=0xffffffffffffffff\0" \
> > > "boot_fdt=try\0" \
> > > "fdt_file=imx8qm-rom7720-a1.dtb\0" \
> > > "initrd_addr=0x83800000\0" \
> > > - "initrd_high=0xffffffffffffffff\0" \
> > > "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
> > > "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
> > > "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
> >
> > Is bootm_size or CONFIG_SYS_BOOTMAPSZ already being set somewhere for
> > these platforms? In Linux, Documentation/arm64/booting.rst does
> > describe limitations on where FDT/initrd can reside in memory so we need
> > to make sure they're obeyed. That's best done by using bootm_size in
> > environment or CONFIG_SYS_BOOTMAPSZ at build time to ensure alignment
> > and non-overlap within those limits and not "don't move anything ever"
> > as fdt_high/initrd_high=0xff... does. Thanks!
>
> No currently not. Because I do not know the exact value I have to set
> for CONFIG_SYS_BOOTMAPSZ here. How do I find that out for my board?
To quote the README:
- CONFIG_SYS_BOOTMAPSZ:
Maximum size of memory mapped by the startup code of
the Linux kernel; all data that must be processed by
the Linux kernel (bd_info, boot arguments, FDT blob if
used) must be put below this limit, unless "bootm_low"
environment variable is defined and non-zero. In such case
all data for the Linux kernel must be between "bootm_low"
and "bootm_low" + CONFIG_SYS_BOOTMAPSZ. The environment
variable "bootm_mapsize" will override the value of
CONFIG_SYS_BOOTMAPSZ. If CONFIG_SYS_BOOTMAPSZ is undefined,
then the value in "bootm_size" will be used instead.
And you want to use that plus what Linux's
Documentation/arm64/booting.rst says with respect to locations of the
various items, and the smallest amount of DRAM that will be used by a
platform running this config. Hope this helps!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200207/7bbf540b/attachment.sig>
More information about the U-Boot
mailing list