Hi Stefan, Does the latest code supports S29GL512P chip, since I am not seeing any instance of this chip in 2010.03 uboot code.
>>So you have chipwidth *and* portwidth of 16! This is the most common use case. But when flash is getting detected it shows the chipwidth is 8 and portwidth is 16. If you see the logs in earlier mail it is like *found port 2 chip 1 port 16 bits chip 8 bits. *Is it correct or wrong? >> Again, please use the mainline CFI driver and give it another try. I can not use the current code as we have to use the present code for some reason. I believe the uboot code 2009.08, I am using, must also support the S29GL512P chip. I replaced the cfi_flash.c with the new cfi_flash.c file from latest uboot version 2010.03 and done relevant changes. But still I didn't get the postive result. Is there anything else that I have to check, or by using only cfi_flash.c and cfi_flash.h from 2010.03 uboot code CFI flash driver will work? I can not use the latest code but I want the CFI support for S29GL512P. Can you please tell that, what I need to do to make the CFI driver works for the S29GL512P chip? >> What kind of "utility"? Don't you use the BDI3000 for FLASH programming? We have customized utility to flash the binary. Using BDI3000 I tried to erase the flash but it didn't work. I followed the CFI erase command seuence but it fails to erase the flash. BDI3000>md 0xfe7c0000 fe7c0000 : 27051956 552d426f 6f742032 3030392e '..VU-Boot 2009. fe7c0010 : 30382028 41707220 31342032 30313020 08 (Apr 14 2010 fe7c0020 : 2d203130 3a30313a 32392900 00000000 - 10:01:29)..... fe7c0030 : 00000000 00000000 00000000 00000000 ................ fe7c0040 : 00000000 00000000 00000000 00000000 ................ fe7c0050 : 00000000 00000000 00000000 00000000 ................ fe7c0060 : 00000000 00000000 00000000 00000000 ................ fe7c0070 : 00000000 00000000 00000000 00000000 ................ fe7c0080 : 00000000 00000000 00000000 00000000 ................ fe7c0090 : 00000000 00000000 00000000 00000000 ................ fe7c00a0 : 00000000 00000000 00000000 00000000 ................ fe7c00b0 : 00000000 00000000 00000000 00000000 ................ fe7c00c0 : 00000000 00000000 00000000 00000000 ................ fe7c00d0 : 00000000 00000000 00000000 00000000 ................ fe7c00e0 : 00000000 00000000 00000000 00000000 ................ fe7c00f0 : 00000000 00000000 00000000 00000000 ................ *BDI3000>mmb 0xfc000000 0xf0 BDI3000>mmb 0xfc000aaa 0xaa BDI3000>mmb 0xfc000555 0x55 BDI3000>mmb 0xfc000aaa 0x80 BDI3000>mmb 0xfc000aaa 0xaa BDI3000>mmb 0xfc000555 0x55 BDI3000>mmb 0xfe7c0000 0x30 *BDI3000>mmb 0xfc000000 0xf0 BDI3000>md 0xfe7c0000 -- *sector data is not erased *fe7c0000 : 30051956 552d426f 6f742032 3030392e 0..VU-Boot 2009. fe7c0010 : 30382028 41707220 31342032 30313020 08 (Apr 14 2010 fe7c0020 : 2d203130 3a30313a 32392900 00000000 - 10:01:29)..... fe7c0030 : 00000000 00000000 00000000 00000000 ................ fe7c0040 : 00000000 00000000 00000000 00000000 ................ fe7c0050 : 00000000 00000000 00000000 00000000 ................ fe7c0060 : 00000000 00000000 00000000 00000000 ................ fe7c0070 : 00000000 00000000 00000000 00000000 ................ fe7c0080 : 00000000 00000000 00000000 00000000 ................ fe7c0090 : 00000000 00000000 00000000 00000000 ................ fe7c00a0 : 00000000 00000000 00000000 00000000 ................ fe7c00b0 : 00000000 00000000 00000000 00000000 ................ fe7c00c0 : 00000000 00000000 00000000 00000000 ................ fe7c00d0 : 00000000 00000000 00000000 00000000 ................ fe7c00e0 : 00000000 00000000 00000000 00000000 ................ fe7c00f0 : 00000000 00000000 00000000 00000000 ................ BDI3000>mmb 0xfc000000 0xf0 BDI3000>mmb 0xfc0000aa 0x98 BDI3000>md 0xfc000020 fc000020 : 51005200 59000200 00004000 00000000 q.r.y.....@..... fc000030 : 00000000 00002700 36000000 00000600 ......'.6....... fc000040 : 06000900 13000300 05000300 02001a00 ................ fc000050 : 02000000 06000000 0100ff00 01000000 ................ fc000060 : 02000000 00000000 00000000 00000000 ................ fc000070 : 00000000 00000000 0000ffff ffffffff ................ fc000080 : 50005200 49003100 33001400 02000100 P.R.I.1.3....... fc000090 : 00000800 00000000 0200b500 c5000400 ................ fc0000a0 : 0100ffff ffffffff ffffffff ffffffff ................ fc0000b0 : ffffffff ffffffff ffffffff ffffffff ................ fc0000c0 : ffffffff ffffffff ffffffff ffffffff ................ fc0000d0 : ffffffff ffffffff ffffffff ffffffff ................ fc0000e0 : ffffffff ffffffff ffffffff ffffffff ................ fc0000f0 : ffffffff ffffffff ffffffff ffffffff ................ fc000100 : 00000000 00000000 00000000 00000000 ................ fc000110 : 00000000 00000000 00000000 00000000 ................ BDI3000>mmb 0xfc000000 0xf0 >> This mirroring might a a result of an incorrect EBC setup. What does it mean? In BDI3000 I am using chiptype MIRRORX16 and BUSWIDTH 16. BDI parameter [FLASH] ; user flash at 0xFC000000, S29GL512P (16M x 8) CHIPTYPE MIRRORX16 ;Flash type (Flash M29W128GH is of MIRRORX8 Flash Type) CHIPSIZE 0x4000000 ;The size of one flash chip in bytes BUSWIDTH 16 ;The width of the flash memory bus in bits (8 | 16 | 32) ERASE 0xFC000000 0x20000 512 ;erase sector 512 of flash (S29GL512P) On Tue, Apr 13, 2010 at 5:46 PM, Stefan Roese <s...@denx.de> wrote: > Hi Prakash, > > On Tuesday 13 April 2010 13:46:11 prakash bedge wrote: > > >> Are you not using the mainline version of cfi_flash.c? If not, which > > >> "fixup code" are you referring to (link)? > > > > I am using U-Boot 2009.08 version. > > This version is outdated. I suggest to switch to current code. > > > I used the fixup for M29W128GH chip from the patch you suggested earlier. > > In that code, I changed the condition to check chipwidth and it works. > > You shouldn't need any additional code to support the Spansion S29GL chips. > Please use the latest code from mainline U-Boot. > > > But I have a concern now, as it works with by changing chipwidth to 16Bit > > or portwidth to 16Bit. This is making me a little bit confuse. > > if(info->chipwidth == FLASH_CFI_16BIT) > > info->portwidth = FLASH_CFI_8BIT; > > > > if(info->chipwidth == FLASH_CFI_8BIT) > > info->portwidth = FLASH_CFI_16BIT; > > ??? > > > Can you please tell what is chipwidth and portwidth and how we can find > > that? > > chipwidth: Width of the NOR FLASH chip, meaning count of data lines > actively used. > > portwidth: Width of the external bus (data lines). > > > Also I am not getting the correct manufacturer and device ids. > > > > From the flash control register I can see that my device is 16 Bit.It > > reprsent a bit set 1 saying it is a 16 bit device. > > Now is this flash chipwidth or flash portwidth? > > chipwidth. > > > To my flash chip 16 data lines and 26 address lines are connected. > > So you have chipwidth *and* portwidth of 16! This is the most common use > case. > Again, please use the mainline CFI driver and give it another try. > > > >> Perhaps a problem of incorrect unlocking addresses (byte vs. word > > > > address)? > > Does it mean that unlocking addresses are not correct? > > Supoose if chip is in word mode then what should be the portwidth and > > chipwidth? What will be the ublocking address then? > > > > I am using an utilty to erase flash and to load uboot image and it is > > working fine, only that it copies data at multple locations. > > What kind of "utility"? Don't you use the BDI3000 for FLASH programming? > This > mirroring might a a result of an incorrect EBC setup. > > 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: off...@denx.de >
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot