[U-Boot] NXP lpc31xx support

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…
participants (1)
-
Paul B. Henson