[U-Boot] NXP lpc31xx support
Paul B. Henson
henson at acm.org
Thu Dec 13 02:13:29 CET 2012
A friend of mine (who is more of a low-level hardware guy) is trying to
put together a project based on the NXP lpc3130 processor, and asked me
to help him out. I've got a reasonable OS/development background, but
not much of any experience in the embedded realm, so apologies in
advance for any cluelessness I might spew :).
NXP has a board support package for this processor:
http://ics.nxp.com/support/software/lpc313x.bsp.linux/
It includes a patch based on top of u-boot 2009.11 that adds
functionality specific to their processor. They also have a community
site for that processor (and others), including a git repo of their
u-boot 2009.11 fork:
http://git.lpclinux.com/?p=uboot-2009.11-lpc313x.git;a=summary
That looks pretty dead though, and it doesn't appear NXP has any plans
to update their BSP to a current u-boot or try to integrate support into
upstream u-boot.
My friend would prefer to use a more current u-boot; while the rather
old NXP fork would probably work for now, if he ever wanted to use more
current features such as device trees he'd rather already be in a
position to do so than have to scramble at that point. Ideally it would
also be nice for the processor to be directly supported by upstream
u-boot so it would just come along for the ride as features were added ;).
Jon Smirl started porting the NXP patch to u-boot 2011.12:
https://github.com/jonsmirl/lpc31xx-uboot
With some help from Jon, I've got that running on a dev board. However,
he was only interested in booting from SD/mmc, which is all his current
work supports. I'd like to get NAND booting working, and ideally get
support accepted upstream, which presumably will require updating his
work to current u-boot. I started working on the NAND boot support, but
as already confessed my background in embedded is a bit light and I'm
having some trouble with it.
I thought I'd take a step back and ask for some more general advice. NXP
to some extent went and did their own thing (for example, evidently
u-boot 2009.11 didn't support SPL, so they implemented their own), and
while Jon has modified the original NXP implementation to a point to fit
better within the u-boot 2011.12 he's working with, from my
(inexperienced) eye it still differs a bit from the rest of the u-boot
code. If the end goal is to get lpc31xx support in upstream u-boot, what
would be the most efficient path to pursue? If the code currently in
Jon's 2011.12 repo was fleshed out to full functionality, then brought
up to a current u-boot version, is that something that would be accepted
into upstream? Or would you recommend a different path?
Thanks much…
More information about the U-Boot
mailing list