
Hi Group -
I am working with the imx.51 on the Freescale EVK. Up to this point, have been working with the version of U-Boot (and Kernel) from the Freescale web site; the SDK which is LTIB based. Pretty stale stuff; U-Boot is rather old (8/2009), as with Kernel (2.6.31).
I pulled U-Boot before Christmas, got this version:
[tbesemer@t4linux1 u-boot]$ git describe v2010.12-82-gcdc51c2
Main interest being the IPU code, so I can do a Splash Screen. Compiles fine, boots fine on EVK, but I can't get it to boot my old Kernel; I put my own command line stuff in place, which is pulling kernel from a known offset in SD card:
mmc read 0 ${loadaddr} 0x800 0x1800;bootm
Kernel loads, but hangs on start (shows that U-Boot found it, parsed header). Passes CRC. Have not looked into issue further. My Kernel command line all the same; what I did was take the default boot parameters from existing U-Boot and put them into current U-Boot, re-compile. ${loadaddr} same from before, same as what is in current U-Boot.
A couple of comments/questions:
- Is above version of U-Boot known to work on EVK? It appears that this version supports DOS partitions on SD card, and default command line is to load from those. But, I can't find any documentation on how to partition the SD card to try this. Help on how to set up the SD card appreciated.
- Should above "raw" load from SD work? Probably my preference, but have an open mind. My Root FS is on two partitions that U-Boot does not need to know about; one is primary/recovery, one is working copy on release.
- The Freescale supplied SDK applies over 100 patches to the 8/09 release of U-Boot; wondering how many made it into current version of U-Boot, and how much I should care.
- I pulled the 2.6.37 Kernel from kernel.org to maybe try that with current U-Boot, but it doesn't seem to have IPU support, so not viable on my end. Might be willing to pull IPU code into Kernel from 2.6.31->2.6.37 to get it current, but outside scope of this mailing list.
End game:
- Get the Splash Screen working on imx.51 EVK. I will provide patch set back to mailing list once I do. I will derive from vision2 board.
- Get it to boot old 2.6.31 SDK supplied Kernel (which also has a bunch of Freescale patches that don't seem to have made it into kernel.org).
Any help on this appreciated; I will be more than happy to provide patch set work for anything I do for EVK back to this list for evaluation and incorporation.
Thanks,
tom

On 01/11/2011 03:02 AM, Thomas Besemer wrote:
Hi Group -
Hi Thomas,
- Is above version of U-Boot known to work on EVK?
As far as I know, yes.
It appears that this version supports DOS partitions on SD card,
They are additional features, as reading files from a formatted SD is very common on several boards.
and default command line is to load from those. But, I can't find any documentation on how to partition the SD card to try this. Help on how to set up the SD card appreciated.
There is some hidden documentation. How to prepare a SD card (partition table, u-boot image) is described in doc/README.imximage. Getting files form the SD card is a generic issue, and it is not board specific. You find examples for fatload in code.
- Should above "raw" load from SD work? Probably my preference, but have
an open mind.
It should work, but I admit I tested booting from partitions and from network. Your assumption that CRC is ok let me think that there should be no problem to read the kernel from the SD card, even in raw mode.
You could verify if your kernel boots independently from storage. Try to load the kernel from net instead from SD.
My Root FS is on two partitions that U-Boot does not need to know about;
Correct. u-boot does not need to read the root partition. It is enough to pass the correct root device to the kernel.
one is primary/recovery, one is working copy on release.
- The Freescale supplied SDK applies over 100 patches to the 8/09 release
of U-Boot; wondering how many made it into current version of U-Boot, and how much I should care.
Rather if they are not pushed to this ML, they cannot be integrated in the official releases. However, are you sure they are related to the i.MX51 ? Most of them are probably related to other processors.
- I pulled the 2.6.37 Kernel from kernel.org to maybe try that with
current U-Boot, but it doesn't seem to have IPU support,
I know, but as I see on Linux ARM ML, there is already someone working on this issue.
End game:
- Get the Splash Screen working on imx.51 EVK.
As reference, take a closer look at the vision2 board. The IPU driver was ported from Freescale's 2.6.31 linux exactly for this goal. The splashimage is shown with the help of the "preboot" variable, because the image is stored on a device not directly addressable (SPI-Flash for vision2). It is the same for the mx51evk, because the image must be loaded (in raw mode or from a partition) from the SD card.
I will provide patch set back to mailing list once I do. I will derive from vision2 board.
There is already some work on this issue. A patchset was already sent to ML, but it requires changes to be included. You could use it as starting point ;-).
http://www.mail-archive.com/u-boot@lists.denx.de/msg41631.html
Technically, the actual IPU drive in u-boot supports only diu0 (required by the vision board). So changes are minimal in the IPU driver itself. However, please read the whole discussion on ML, so you can find which are the open points to be fixed.
- Get it to boot old 2.6.31 SDK supplied Kernel (which also has a bunch of
Freescale patches that don't seem to have made it into kernel.org).
Any help on this appreciated; I will be more than happy to provide patch set work for anything I do for EVK back to this list for evaluation and incorporation.
Best regards, Stefano Babic

Hi Stefano -
Thanks for your very quick response to my posting. I'm going to follow up just for informational purposes, as I was able to get Freescale SDK (LTIB) Kernel to boot find with current U-Boot.
- Should above "raw" load from SD work? Probably my preference, but
have
an open mind.
It should work, but I admit I tested booting from partitions and from network. Your assumption that CRC is ok let me think that there should be no problem to read the kernel from the SD card, even in raw mode.
You could verify if your kernel boots independently from storage. Try to load the kernel from net instead from SD.
Looks like the problem I was having is the Freescale SDK (LTIB) had a .config file that ended up with the wrong load address; was picking up the MX53 (0x70008000 versus 0x90008000) load/build addys. Don't know why it ever worked.... I hacked the right address into Makefile.boot, and comes up fine. Basic regression testing shows no issues right now.
I was also able to boot over network without issues.
I don't install uImage on a partition, rather, hand install it on SD card with DD, and then load with this:
bootcmd_mmc=run bootargs_base bootargs_mmc; mmc read 0 ${loadaddr} 0x800 0x1800;bootm
Just pulls from an offset in SD card. Works fine.
- The Freescale supplied SDK applies over 100 patches to the 8/09
release
of U-Boot; wondering how many made it into current version of U-Boot, and how much I should care.
Rather if they are not pushed to this ML, they cannot be integrated in the official releases. However, are you sure they are related to the i.MX51 ? Most of them are probably related to other processors.
I spot checked this; yes, a lot of patches for other processors. I'm going to spot check the key ones for MX51, and if I see needed installs (that are missing), will do, and provide a clean patch set to this ML (with comment tied back to the original FS patch set I found needs in).
End game:
- Get the Splash Screen working on imx.51 EVK.
As reference, take a closer look at the vision2 board. The IPU driver was ported from Freescale's 2.6.31 linux exactly for this goal. The splashimage is shown with the help of the "preboot" variable, because the image is stored on a device not directly addressable (SPI-Flash for vision2). It is the same for the mx51evk, because the image must be loaded (in raw mode or from a partition) from the SD card.
I will provide patch set back to mailing list once I do. I will derive from vision2 board.
There is already some work on this issue. A patchset was already sent to ML, but it requires changes to be included. You could use it as starting point ;-).
http://www.mail-archive.com/u-boot@lists.denx.de/msg41631.html
Technically, the actual IPU drive in u-boot supports only diu0 (required by the vision board). So changes are minimal in the IPU driver itself. However, please read the whole discussion on ML, so you can find which are the open points to be fixed.
Looked briefly at this list; thanks. I'm going to move forward now to get IPU support going on EVK with both display ports so that Splash Screen works on both.
I will post a clean patch set back to ML as I go on (or if I have trouble, explain what I am seeing). I'll try to keep my work clean, so it does not interfere with mainline development, possibly setting up environment variables to pick output channel.
Thanks again for fast response.
Regards,
tom

Hi, Thomas
2011/1/12 Thomas Besemer thomas.besemer@gmail.com:
Hi Stefano -
Looks like the problem I was having is the Freescale SDK (LTIB) had a .config file that ended up with the wrong load address; was picking up the MX53 (0x70008000 versus 0x90008000) load/build addys. Don't know why it ever worked.... I hacked the right address into Makefile.boot, and comes up fine. Basic regression testing shows no issues right now.
For picking up MX53 DDR address, it will due to that FSL BSP support i.mx5 family such as mx51/mx53/mx50 with one single image. So it take mx53 DDR address by default by kernel and uboot will make the adjustment if you take a look at the FSL uboot version.
I was also able to boot over network without issues.
Regards,
tom
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

On 01/12/2011 02:34 AM, Thomas Besemer wrote:
Hi Stefano -
Hi Thomas,
Looks like the problem I was having is the Freescale SDK (LTIB) had a .config file that ended up with the wrong load address; was picking up the MX53 (0x70008000 versus 0x90008000) load/build addys.
Well, then it is clear why the board does not boot...
Don't know why it ever worked....
I can only say I have tested with Freescale's kernel, too, and it worked. Probably I tried with a version before the introduction of MX53, and the address was correct.
I was also able to boot over network without issues.
I don't install uImage on a partition, rather, hand install it on SD card with DD, and then load with this:
bootcmd_mmc=run bootargs_base bootargs_mmc; mmc read 0 ${loadaddr} 0x800 0x1800;bootm
Just pulls from an offset in SD card. Works fine.
Fine, thanks to report to the ML your results.
Best regards, Stefano Babic
participants (3)
-
Jason Liu
-
Stefano Babic
-
Thomas Besemer