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.
