It looks to me like the header on the kernel image contains the entry-point and the load-address...U-Boot appears to look these items up from the header of the image file. I'm using the uImage file created from LTIB...perhaps I need to use the zImage? I'm not completely sure the differences...
(from the u-boot-imx source code common/image.c in function image_print_contents)
printf("%sLoad Address: %08x\n", p, image_get_load(hdr));
printf("%sEntry Point: %08x\n", p, image_get_ep(hdr));
I do not see anywhere in the source that has that address hardcoded. FWIW here's my boot command for booting from mmc (all these are in environment variables):
bootargs=root=/dev/mmcblk0p1 rootwait rw max17135:pass=2,vcom=-2030000 video=mxcepdcfb:E060SCM,bpp=16
bootargs_base=setenv bootargs console=ttymxc0,115200
bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw max17135:pass=2,vcom=-2030000 video=mxcepdcfb:E060SCM,bpp=16
bootcmd_mmc=run bootargs_base bootargs_mmc;mmc dev 0;mmc read ${loadaddr} 800 2000; bootm
bootcmd=run bootcmd_mmc
**note that all of the above was from the i.MX6SoloLite EVK Linux Users Guide and I don't expect it fully work, but I do expect it to load the kernel; I expect the kernel to crash elsewhere
then while running U-Boot I type: run bootcmd.
It does appear that in the bootcmd_mmc env variable, the expression ${loadaddr} is being expanded properly because it is loading the contents of the mmc to that address.
So do you know how the header of the uImage file is generated? Is this LTIB's doing?