[U-Boot-Users] u-boot on nadflash for at91sam9260ek

Victor Librado vlibrado at bioingenieria.es
Thu Jun 7 11:55:45 CEST 2007


Thanks all,

By now I use u-boot-1.1.5 version with atmel 1.3 patch. Definitions of 
timing access for nandflash in my board.h as in linux board initialization.

The configuration nand parameters as follows:

#define NAND_MAX_CHIPS                 1        /* Max number of NAND 
devices   */
#define CFG_MAX_NAND_DEVICE            1        /* Max number of NAND 
devices   */
#define SECTORSIZE                     512
#define CFG_NAND_BASE                  0x40000000
#define CONFIG_NEW_NAND_CODE

#define ADDR_COLUMN                    1
#define ADDR_PAGE                      2
#define ADDR_COLUMN_PAGE               3

#define NAND_ChipID_UNKNOWN            0
#define NAND_MAX_FLOORS                1
#undef  CFG_NAND_WP

#define CFG_NO_FLASH                    1

#undef  CFG_ENV_IS_IN_FLASH
#undef  CFG_ENV_IS_IN_DATAFLASH
#define CFG_ENV_IS_IN_NAND              1

/*#define CONFIG_MTD_DEBUG              1
#define CONFIG_MTD_DEBUG_VERBOSE        MTD_DEBUG_LEVEL3
*/
#ifdef CFG_ENV_IS_IN_NAND
#define CFG_ENV_OFFSET  0x60000         /* environment starts here  */
#define CFG_ENV_SIZE    0x20000         /* 1 sector = 128kB */
#endif

Now when I try to erase nand sector of environment variables or saveenv 
environment variables I get these messages:

U-Boot> nand erase 0x60000 0x20000

NAND erase: device 0 offset 0x60000, size 0x20000
Skipping bad block at  0x00060000

OK
U-Boot> saveenv
Saving Environment to NAND...
Erasing Nand...nand_erase: attempt to erase a bad block at page 0x000000c0
U-Boot>

I looked into source code and when saving environmet variables the erase 
functions exits if it finds a bad block, as in this case. environment 
variables are not saved.

Is it a problem of this sector of my nandflash that is kaputt (change my 
nandflash of my board?)? I read in nandflash datasheet that is normal 
the presence of bad blocks in a flash and that it should be created a 
table with the index of the bad blocks and skip them... U-boot can 
process in this way activiting some variables? (maybe i should use the 
old nand_legacy way ...?)

Or it must be configured u-boot in some way to skip bad block and 
continuing with the erasing and saving variables process ....

Or may be I am totally puzzled....

 

 

 

Victor Librado Sancho
Departamento I+D
------------------------------------------------------------------------


Chris Sharman escribió:
>  
>
>   
>> -----Original Message-----
>> From: u-boot-users-bounces at lists.sourceforge.net 
>> [mailto:u-boot-users-bounces at lists.sourceforge.net] On Behalf 
>> Of Victor Librado
>> Sent: Thursday, 7 June 2007 2:34 AM
>> To: u-boot-users at lists.sourceforge.net
>> Subject: [U-Boot-Users] u-boot on nadflash for at91sam9260ek
>>
>>
>>
>> Hello all,
>> I'm working with u-boot for booting in nandflash with the 
>> evaluation board atmel at91sam9260ek. Nandflash reads ok, but 
>> performing and erase doesn`t work.
>>
>> I get these messages trying to erase a block of the nand and 
>> writing the environment variables to nandflash.
>>
>> Any help? I'm missing a configuration parameter in config or 
>> what may happens?
>>
>>
>> U-Boot> saveenv
>> Saving Environment to NAND...
>> Erasing redundant Nand...Timeout!U-Boot>
>> U-Boot>
>>
>>
>> U-Boot> nand erase 0x60000 0x20000
>>
>> NAND erase: device 0 offset 0x60000, size 0x20000
>> Timeout!
>> SAM NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
>>
>> OK
>>
>>  
>>
>>  
>>
>>  
>>
>> Victor Librado Sancho
>> Departamento I+D
>> --------------------------------------------------------------
>> ----------
>>     
>
> Hi Victor,
>
> I also have this exact same problem on my at91sam9260ek. Nand works fine
> in linux but not in U-boot.
>
> However when I use the patched u-boot from Atmel (based on an older
> version of u-boot) nand works.
>
> Maybe there are some clues in there somewhere.
>
> Regards
> Chris 
>
>
>
>   




More information about the U-Boot mailing list