[U-Boot] [PATCH] ARM: omap3: evm: Do not relocate FDT address
Tom Rini
trini at konsulko.com
Thu Dec 28 18:43:43 UTC 2017
On Thu, Dec 28, 2017 at 11:48:29AM -0600, Derald D. Woods wrote:
> On Thu, Dec 28, 2017 at 10:37:18AM -0500, Tom Rini wrote:
> > On Thu, Dec 28, 2017 at 01:25:43AM -0600, Derald D. Woods wrote:
> >
> > > This commit keeps the 'fdtaddr' as provided by DEFAULT_LINUX_BOOT_ENV.
> > >
> > > Signed-off-by: Derald D. Woods <woods.technical at gmail.com>
> > > ---
> > > include/configs/omap3_evm.h | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
> > > index 629d60b961..d95ccdf035 100644
> > > --- a/include/configs/omap3_evm.h
> > > +++ b/include/configs/omap3_evm.h
> > > @@ -127,6 +127,7 @@
> > > "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
> > > "mtdids=" CONFIG_MTDIDS_DEFAULT "\0" \
> > > "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
> > > + "fdt_high=0xffffffff\0" \
> > > "bootenv=uEnv.txt\0" \
> > > "optargs=\0" \
> > > "mmcdev=0\0" \
> >
> > What's the problem this solves, and how much memory is on the system in
> > question? bootm_size should be ensuring we never relocate it outside of
> > the first 256MB of memory. Thanks!
> >
>
> The logic within "common/image-fdt.c" lead me down this path. The
> addition of this fairly common environment variable allowed my
> OMAP34XX board to boot the kernel without an appended devicetree.
> When I use the variable to trigger 'disable_relocation', as the code
> indicates, the kernel boot behavior is what I expect. I spent a few
> hours following the code path to a single line edition that works.
>
>
> Without 'fdt_high'
> ==================
>
> U-Boot SPL 2018.01-rc2-00028-gaf9da945cd-dirty (Dec 28 2017 - 11:16:52)
> Trying to boot from MMC1
> reading u-boot.img
> reading u-boot.img
>
>
> U-Boot 2018.01-rc2-00028-gaf9da945cd-dirty (Dec 28 2017 - 11:16:52 -0600)
>
> OMAP3530-GP ES3.1, CPU-OPP2, L3-165MHz, Max CPU Clock 720 MHz
> Model: TI OMAP35XX EVM (TMDSEVM3530)
> OMAP3 EVM board + LPDDR/NAND
> I2C: ready
> DRAM: 256 MiB
> NAND: 256 MiB
> MMC: OMAP SD/MMC: 0
> Read back SMSC id 0x92200000
> OMAP die ID: 265a002400000000040365fa1801b01f
> Net: smc911x-0
> starting USB...
> USB0: USB EHCI 1.00
> scanning bus 0 for devices... 1 USB Device(s) found
> Hit any key to stop autoboot: 0
> switch to partitions #0, OK
> mmc0 is current device
> Scanning mmc 0:1...
> switch to partitions #0, OK
> mmc0 is current device
> ** Unable to read file uEnv.txt **
> reading zImage
> 4637344 bytes read in 407 ms (10.9 MiB/s)
> reading omap3-evm.dtb
> 62832 bytes read in 10 ms (6 MiB/s)
> Booting zImage from mmc ...
> * fdt: cmdline image address = 0x88000000
> ## Checking for 'FDT'/'FDT Image' at 88000000
> * fdt: raw FDT blob
> ## Flattened Device Tree blob at 88000000
> Booting using the fdt blob at 0x88000000
> of_flat_tree at 0x88000000 size 0x0000f570
> ## device tree at 88000000 ... 8800f56f (len=75120 [0x12570])
> Loading Device Tree to 8ffed000, end 8ffff56f ... OK
>
> Starting kernel ...
>
> [HANG]
>
>
> Make note of the "of_flat_tree" and "Loading Device Tree" lines.
Ah, hmmm. Can you please try setting bootm_size, as an experiment, to
0x0a000000 ? I wonder if, since you have 256MB of memory we're not
putting the DTB into where U-Boot is and we stomp on it a bit, causing
Linux to boot, see an invalid DTB and not have a console available to
tell us. Thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171228/66245181/attachment.sig>
More information about the U-Boot
mailing list