[U-Boot-Users] RE: problems with the strataflash driver in U-boot

Brad Kemp Brad.Kemp at Seranoa.com
Mon Feb 16 01:18:36 CET 2004


Josh,
Use the flash driver in drivers/cfi_flash.c - this is a much better version. A number of people have helped 
make improvements over the original strataflash driver.
I use this driver in a 4 chip16 x 64 and a 2 chip 16 x 32 implementations.
If you have 4 chips in parrallel it should detect a 16x64 bit interface.
Brad

	-----Original Message----- 
	From: Josh Fryman [mailto:fryman at cc.gatech.edu] 
	Sent: Sun 2/15/2004 2:48 PM 
	To: u-boot-users at lists.sourceforge.net 
	Cc: Brad Kemp 
	Subject: problems with the strataflash driver in U-boot
	
	


	hi,
	
	the strataflash driver (used in the U-boot boot loader project) is getting
	confused by the configuration of flash i've got.  i'm CC'ing Brad Kemp, the
	author of the driver, as i'm not sure he's a developer of U-boot.
	
	the intel sitsang platform has the 28F128J3 (A150) on it.  it has 4 of these
	16MB chips, set up to make a 32-bit wide flash interface.  the address lines
	and flash bank enables are shared for both chips in a block.
	
	ie:
	
	   0-32MB:   high-data chip 1      low-data chip 0
	
	  32-64MB:   high-data chip 3      low-data chip 2
	
	should the driver support this?  it seems to be getting very confused right
	in the beginnining of initialization, with flash_get_size() calling
	flash_isequal() which does this pattern of data xfer... (i've tossed in a lot
	of debug statements :)
	
	Flash Driver initializing...                                                        
	        flash_isequal: tgt = 00000010 (sect 0 ofs 16)                               
	        flash_isequal: cptr-8[0]=0x14, cword=0x51                                   
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 00000020 (sect 0 ofs 16)                               
	        flash_isequal: cptr-16[0]=0x0000, cword=0x5151                              
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 00000020 (sect 0 ofs 16)                               
	        flash_isequal: cptr-16[0]=0x0260, cword=0x5100                              
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 00000040 (sect 0 ofs 16)                               
	        flash_isequal: cptr-32[0]=0x00510051, cword=0x51515151                      
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 00000040 (sect 0 ofs 16)                               
	        flash_isequal: cptr-32[0]=0xa1fe0000, cword=0x51005100                      
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 00000040 (sect 0 ofs 16)                               
	        flash_isequal: cptr-32[0]=0xa1fe0000, cword=0x51000000                      
	        flash_isequal: retval = 0                                                   
	flash detect base 0, bank 0 failed                                                  
	Flash bank 0 reported size 0x00000000                                               
	## Unknown FLASH on Bank 0 - Size = 0x00000000 = 0x00000000 MB                      
	        flash_isequal: tgt = 02000010 (sect 0 ofs 16)                               
	        flash_isequal: cptr-8[0]=0x0e, cword=0x51                                   
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 02000020 (sect 0 ofs 16)                               
	        flash_isequal: cptr-16[0]=0x0000, cword=0x5151                              
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 02000020 (sect 0 ofs 16)                               
	        flash_isequal: cptr-16[0]=0xe195, cword=0x5100                              
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 02000040 (sect 0 ofs 16)                               
	        flash_isequal: cptr-32[0]=0x00510051, cword=0x51515151                      
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 02000040 (sect 0 ofs 16)                               
	        flash_isequal: cptr-32[0]=0x2523fa29, cword=0x51005100                      
	        flash_isequal: retval = 0                                                   
	        flash_isequal: tgt = 02000040 (sect 0 ofs 16)                               
	        flash_isequal: cptr-32[0]=0x2523fa29, cword=0x51000000                      
	        flash_isequal: retval = 0                                                   
	flash detect base 33554432, bank 1 failed                                           
	Flash bank 1 reported size 0x00000000                                               
	## Unknown FLASH on Bank 1 - Size = 0x00000000 = 0x00000000 MB                      
	Flash driver done... returning size 0                                               
	Flash:  0 kB                                                                        
	
	do i just have the permutation of CFG_foo flags set wrong?
	
	thanks for any input,
	
	-josh
	



More information about the U-Boot mailing list