[U-Boot-Users] 440EPX is not booting from 1Gb/128MB NAND flash
Nikhil Gautam
nikhilgautam1 at gmail.com
Fri Feb 8 00:46:02 CET 2008
Thanks Stefan,
I figured couple of more things that needed change
In ndfc.c
#ifdef CFG_NAND_4_ADDR_CYCLE
/* Set NandFlash Core Configuration Register */
/* 2 col x 2 rows */
out32(base + NDFC_CCR, 0x00002000 | (cs << 24));
#else
/* Set NandFlash Core Configuration Register */
/* 1 col x 2 rows */
out32(base + NDFC_CCR, 0x00000000 | (cs << 24));
#endif /* CFG_NAND_4_ADDR_CYCLE */
Also for 1Gb NAND flash, the address fetch is different then 256Mb,
here is what I changed
#ifdef CFG_NAND_4_ADDR_CYCLE
/* Column address */
this->write_byte(mtd, 0);
/* A[7:0] */
this->write_byte(mtd, (uchar)(page_addr & 0x0f));
/* A[11:8] */
this->write_byte(mtd, (uchar)((page_addr >> 4) & 0xff));
/* A[19:12] */
/* One more address cycle for devices > 32MiB */
this->write_byte(mtd, (uchar)((page_addr >> 12) & 0xff));
/* A[27:20] */
#else
/* Column address */
this->write_byte(mtd, 0);
/* A[7:0] */
this->write_byte(mtd, (uchar)(page_addr & 0xff));
/* A[16:9] */
this->write_byte(mtd, (uchar)((page_addr >> 8) & 0xff));
/* A[24:17] */
#endif
Even with these two changes, the board is not booting??
Nikhil
- Show
On Feb 6, 2008 9:24 PM, Stefan Roese <sr at denx.de> wrote:
>
> On Thursday 07 February 2008, Nikhil Gautam wrote:
> > I am trying to boot my board which is based on Sequoia 440EPX. The
> > only difference between my board and the reference board is that I
> > have a 1 Gb NAND flash ( NAND01GW3B2A) instead of 256Mb flash present
> > on reference board.
> >
> > In U-boot I have changed the board configuration file to reflect correct
> > specs.
> >
> > * Now the NAND chip has to be defined (no autodetection used!)
> > */
> > #define CFG_NAND_PAGE_SIZE (2048) /* NAND chip page
> > size */
> > #define CFG_NAND_BLOCK_SIZE (128 << 10) /* NAND chip block
> > size */
> > #define CFG_NAND_PAGE_COUNT (64) /* NAND chip page
> > count */
> > #define CFG_NAND_BAD_BLOCK_POS (5) /* Location of bad
> > block marker */
> > #define CFG_NAND_4_ADDR_CYCLE /* Fourth addr used
> > (>32MB) */
> >
> > I have also changed the eeprom configuration word to
> > 0x87788252
> > 0x0947D010
> > 0xA0A82358
> > 0x0D050000
> >
> > Is there any other place where some NAND configuration is defined?
>
> Could be that nand_spl/nand_boot.c needs to be changed to support booting from
> 2k page sized devices too. It was only tested on 512 byte page devices till
> now.
>
> I can only recommend to debug using an BDI2000. But you have probably already
> realized, that NAND booting debugging is not that easy.
>
> Best regards,
> 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