On Mon, Jul 10, 2017 at 7:16 PM, Kenny Koller
<[email protected]> wrote:
>
> I am assuming the following which may be incorrect so please correct as
> necessary:
>
> The load address of the SPL (MLO) is determined by the PPL/ROM code.
>
> The SPL (MLO) must know the load address of U-Boot as it is not interactive.

Correct, it does...

http://git.denx.de/?p=u-boot.git;a=tree

Somewhere in teh u-boot tree you'll find, these magic numbers:

sudo dd if=./u-boot/MLO of=${DISK} count=1 seek=1 bs=128k
sudo dd if=./u-boot/u-boot.img of=${DISK} count=2 seek=1 bs=384k

>
> U-Boot must be linked with the above address in mind.
>
> U-Boot can load the DTB and the kernel anywhere it likes. The DTB address
> can be passed to the kernel (I believe through a register). The kernel
> itself must loaded at the address at which is was linked.
>
> I'd like to understand where each of these are defined so I can
> intelligently configure U-Boot to do the right things (rather than simply
> copy a uEnv.txt and assume it is correct).

http://git.denx.de/?p=u-boot.git;a=blob;f=include/configs/ti_armv7_common.h;h=a4676d3a7ffb98d896d562172ef6941700b6135c;hb=HEAD#l33

33 /*
34  * We setup defaults based on constraints from the Linux kernel, which should
35  * also be safe elsewhere.  We have the default load at 32MB into DDR (for
36  * the kernel), FDT above 128MB (the maximum location for the end of the
37  * kernel), and the ramdisk 512KB above that (allowing for hopefully never
38  * seen large trees).  We say all of this must be within the first 256MB
39  * as that will normally be within the kernel lowmem and thus visible via
40  * bootm_size and we only run on platforms with 256MB or more of memory.
41  */
42 #define DEFAULT_LINUX_BOOT_ENV \
43         "loadaddr=0x82000000\0" \
44         "kernel_addr_r=0x82000000\0" \
45         "fdtaddr=0x88000000\0" \
46         "fdt_addr_r=0x88000000\0" \
47         "rdaddr=0x88080000\0" \
48         "ramdisk_addr_r=0x88080000\0" \
49         "scriptaddr=0x80000000\0" \
50         "pxefile_addr_r=0x80100000\0" \
51         "bootm_size=0x10000000\0" \
52         "boot_fdt=try\0"

>
> I'm using Yocto/Poky Pyro. Where do I find all these bits of information so
> I can tie everything together?

aka, use ^ those variables.. Best of all, they are distro_boot
defaults, so it's transferable to different boards.

Regards,
-- 
Robert Nelson
https://rcn-ee.com/

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CAOCHtYiPo2Od81qh00hB1HSWuKofwqehFo0UvGdybk2MxvOigQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to