[U-Boot-Users] [PATCH 8/8] New board SIMPC8313 support: nand_boot.c, sdram.c, simpc8313.c

Scott Wood scottwood at freescale.com
Mon Jun 2 21:06:27 CEST 2008


Stefan Roese wrote:
> On Monday 02 June 2008, Scott Wood wrote:
>> but even then I'd 
>> rather use the space for things like SPD-based SDRAM initialization.
> 
> Are you talking about a full-blown I2C SPD DIMM detection and 
> autoconfiguration? The code I know from 4xx is much too complicated and big 
> for a 4k NAND booting image.

Yeah, it may not be possible; my point was more along the the lines of 
if I were going to spend effort to squeeze in some bit of complex code, 
it wouldn't be the fully generic NAND driver with all the API glue.

>> The NAND controller on the 8313 exposes a very different programming
>> interface than what nand_spl expects.  I don't think there's much that
>> could be re-used, other than the high-level functions like nand_load().
> 
> Isn't there a chance to change those NAND handling functions (like 
> nand_read_page()) in nand_boot.c to be more flexible, that they can be used 
> by "different" NAND drivers too? Could be that we need to simplify the 
> current implementation somehow. Perhaps to use something as you did in your 
> implementation like nand_read_next_block() instead of this nand_read_page(). 
> Addressing arbitrary blocks/pages seems not needed and could cut down the 
> current code quite a bit.

Possibly -- but the code in nand_command() and nand_read_page() is 
pretty much entirely inapplicable to the elbc fcm nand controller.  The 
programming interface of elbc fcm is higher level than that.

We can share nand_load(), but that's about it.

> I would really like to avoid that all newer NAND booting platforms (and I 
> expact there will come more and more in the near future), to implement their 
> own NAND loading routines.

Agreed -- but at the very least we'll need a couple different 
implementations of nand_read_next_block().

-Scott





More information about the U-Boot mailing list