[U-Boot] Multiple chip support in ndfc driver

Stefan Roese sr at denx.de
Mon Dec 6 11:09:36 CET 2010


Hi Felix,

On Sunday 05 December 2010 15:27:02 Felix Radensky wrote:
> On a custom 460EX board I have a 2Gbyte NAND device, 1Gbyte per chip
> select. I'm trying to enable support for the second NAND CS, so far
> without success.
> 
> U-Boot properly detects both devices, (manufacturer, size, bus width).
> First device
> works as expected, on second device bad blocks are reported correctly,
> but attempt
> to erase the device results in I/O errors on every block. The bank
> settings are identical
> for both chips.
> 
> What am I missing ?

Perhaps a misconfiguration in your board config header? How did you configure 
the NAND driver? Take a look at DU440.h or bamboo.h for example. Those boards 
use multiple NAND devices.
 
> BTW, I was wandering why NAND TLB window size on Canyonlands is 16Mbytes.

Yes. This TLB could be smaller. 1KiB should be enough. Patch welcome. ;)

> Also, why NAND start address for TLB mapping is calculated as
> CONFIG_SYS_NAND_ADDR + CONFIG_SYS_NAND_CS

This is because of the NAND booting config option. NOR booting Canyonlands has 
NAND conntected to chip-select 3 and NAND booting has it connected to chip-
select 0. And the lower 2 bits (value 0...3) of CONFIG_SYS_NAND_BASE are used 
to configure the chip-select the NAND device is connected to (see ndfc.c for 
more details).

Cheers,
Stefan

--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office at denx.de


More information about the U-Boot mailing list