From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul B. Henson Date: Wed, 12 Dec 2012 17:13:29 -0800 Subject: [U-Boot] NXP lpc31xx support Message-ID: <50C92BB9.2040007@acm.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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?