[U-Boot-Users] CFI compliant memory question

I am working with a board that has 2 CFI-compliant Spansion S29JL064H flash memory devices. Each device is 64 Megabit (8 M x 8-bit / 4M x 16-bit) in size.
The two flash memory devices are connected in "parallel", effectively doubling the word size while maintaining the total number of sectors, i.e.,
Single Device -------------------
Bank Megabits Sector Sizes 1 8 Mb 8 8Kbyte / 4Kword 15 64Kbyte / 32Kword 2 24Mb 48 64Kbyte/ 32Kword 3 24Mb 48 64Kbyte/ 32Kword 4 8 Mb 15 64Kbyte / 32Kword 8 8Kbyte / 4Kword
Two devices connected in "parallel" -------------------------------------------------------------------- Bank Megabits Sector Sizes 1 16 Mb 8 16Kbyte / 8Kword 15 128Kbyte / 64Kword 2 48Mb 48 128Kbyte/ 64Kword 3 48Mb 48 128Kbyte/ 64Kword 4 16Mb 15 128Kbyte / 64Kword 8 16Kbyte / 8Kword
Question:
Should I expect u-boot's common CFI driver work with this configuration?
-Joseph
-- joseph_sacco [at] comcast [dot] net

In message 102520071936.23185.4720F051000941A300005A912206824693010C0C0E9CA1089F0A9C0106@comcast.net you wrote:
I am working with a board that has 2 CFI-compliant Spansion S29JL064H flash memory devices. Each device is 64 Megabit (8 M x 8-bit / 4M x 16-bit) in size.
The two flash memory devices are connected in "parallel", effectively doubling the word size while maintaining the total number of sectors, i.e.,
...
Should I expect u-boot's common CFI driver work with this configuration?
Yes, of course.
Best regards,
Wolfgang Denk

On Fri, 2007-10-26 at 02:04 +0200, Wolfgang Denk wrote:
In message 102520071936.23185.4720F051000941A300005A912206824693010C0C0E9CA1089F0A9C0106@comcast.net you wrote:
I am working with a board that has 2 CFI-compliant Spansion S29JL064H flash memory devices. Each device is 64 Megabit (8 M x 8-bit / 4M x 16-bit) in size.
The two flash memory devices are connected in "parallel", effectively doubling the word size while maintaining the total number of sectors, i.e.,
...
Should I expect u-boot's common CFI driver work with this configuration?
Yes, of course.
Best regards,
Wolfgang Denk
================================================================ Wolfgang,
Thank you for responding. I suspected the CFI should work. Now all I have to do is figure out what's wrong with my configuration, which is shown below:
#define CFG_FLASH_CFI 1 /* flash is CFI conformant */ #define CFG_FLASH_CFI_DRIVER 1 /* use the common CFI driver */ #define CFG_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
#define CFG_FLASH_BASE 0xff000000 #define CFG_MAX_FLASH_BANKS 1 /* max num of memory banks */ #define CFG_MAX_FLASH_SECT 142 /* max num of sects on one chip */ #define CFG_FLASH_SIZE 0x01000000 /* 16 MByte */ #define CFG_FLASH_ERASE_TOUT 8000 /* Timeout for Flash Erase (in ms) */ #define CFG_FLASH_WRITE_TOUT 5 /* Timeout for Flash Write (in ms) */ #define CFG_FLASH_LOCK_TOUT 5 /* Timeout for Flash Set Lock Bit (in ms) */ #define CFG_FLASH_UNLOCK_TOUT 10000 /* Timeout for Flash Clear Lock Bits (in ms) */ #define CFG_FLASH_PROTECTION /* "Real" (hardware) sectors protection */
When I enable debug in the drivers directory by setting
CFLAGS += -DET_DEBUG -DDEBUG
in drivers/Makefile, I see the following as u-boot-1.2.0 starts up:
U-Boot 1.2.0 (Oct 24 2007 - 12:03:14)
MPC8260 Reset Status: Check Stop, External Soft, External Hard
MPC8260 Clock Configuration - Bus-to-Core Mult 4x, VCO Div 2, 60x Bus Freq 25-75 , Core Freq 100-300 - dfbrg 0, corecnf 0x1a, busdf 5, cpmdf 1, plldf 0, pllmf 5, pcidf 3 - vco_out 400000002, scc_clk 100000000, brg_clk 100000000 - cpu_clk 266666668, cpm_clk 200000001, bus_clk 66666667
CPU: MPC8260 (HiP7 Rev 14, Mask 1.0 1K49M) at 266.666 MHz Board: CSPI VXS_M16 I2C: ready DRAM: 32 MB FLASH: flash detect cfi fwc addr ff000000 cmd 0 0 8bit x 8 bit fwc addr ff000055 cmd 98 98 8bit x 8 bit is= cmd 51(Q) addr ff000010 is= 80 51 fwc addr ff000555 cmd 98 98 8bit x 8 bit is= cmd 51(Q) addr ff000010 is= 80 51 fwc addr ff000000 cmd 0 0000 16bit x 8 bit fwc addr ff0000aa cmd 98 9898 16bit x 8 bit is= cmd 51(Q) addr ff000020 is= 0000 5151 fwc addr ff000aaa cmd 98 9898 16bit x 8 bit is= cmd 51(Q) addr ff000020 is= 0000 5151 fwc addr ff000000 cmd 0 0000 16bit x 16 bit fwc addr ff0000aa cmd 98 0098 16bit x 16 bit is= cmd 51(Q) addr ff000020 is= 0000 0051 fwc addr ff000aaa cmd 98 0098 16bit x 16 bit is= cmd 51(Q) addr ff000020 is= 0000 0051 fwc addr ff000000 cmd 0 00000000 32bit x 8 bit fwc addr ff000154 cmd 98 98989898 32bit x 8 bit is= cmd 51(Q) addr ff000040 is= 51005100 51515151 fwc addr ff001554 cmd 98 98989898 32bit x 8 bit is= cmd 51(Q) addr ff000040 is= 51005100 51515151 fwc addr ff000000 cmd 0 00000000 32bit x 16 bit fwc addr ff000154 cmd 98 00980098 32bit x 16 bit is= cmd 51(Q) addr ff000040 is= 00000000 00510051 fwc addr ff001554 cmd 98 00980098 32bit x 16 bit is= cmd 51(Q) addr ff000040 is= 00000000 00510051 fwc addr ff000000 cmd 0 00000000 32bit x 32 bit fwc addr ff000154 cmd 98 00000098 32bit x 32 bit is= cmd 51(Q) addr ff000040 is= 00000000 00000051 fwc addr ff001554 cmd 98 00000098 32bit x 32 bit is= cmd 51(Q) addr ff000040 is= 00000000 00000051 fwrite addr ff000000 cmd 0 0000000000000000 64 bit x 8 bit fwrite addr ff0002a8 cmd 98 9898989898989898 64 bit x 8 bit is= cmd 51(Q) addr ff000080 is= 0000000000000000 5151515151515151 fwrite addr ff002aa8 cmd 98 9898989898989898 64 bit x 8 bit is= cmd 51(Q) addr ff000080 is= 0000000000000000 5151515151515151 fwrite addr ff000000 cmd 0 0000000000000000 64 bit x 16 bit fwrite addr ff0002a8 cmd 98 0098009800980098 64 bit x 16 bit is= cmd 51(Q) addr ff000080 is= 0000000000000000 0051005100510051 fwrite addr ff002aa8 cmd 98 0098009800980098 64 bit x 16 bit is= cmd 51(Q) addr ff000080 is= 0000000000000000 0051005100510051 fwrite addr ff000000 cmd 0 0000000000000000 64 bit x 32 bit fwrite addr ff0002a8 cmd 98 0000009800000098 64 bit x 32 bit is= cmd 51(Q) addr ff000080 is= 0000000000000000 0000005100000051 fwrite addr ff002aa8 cmd 98 0000009800000098 64 bit x 32 bit is= cmd 51(Q) addr ff000080 is= 0000000000000000 0000005100000051 fwrite addr ff000000 cmd 0 0000000000000000 64 bit x 64 bit fwrite addr ff0002a8 cmd 98 0000000000000098 64 bit x 64 bit is= cmd 51(Q) addr ff000080 is= 0000000000000000 0000000000000051 fwrite addr ff002aa8 cmd 98 0000000000000098 64 bit x 64 bit is= cmd 51(Q) addr ff000080 is= 0000000000000000 0000000000000051 not found ## Unknown FLASH on Bank 1 - Size = 0x00000000 = 0 MB *** failed *** ### ERROR ### Please RESET the board ###
Thoughts???
-Joseph
participants (3)
-
Joseph E. Sacco, Ph.D.
-
joseph_saccoï¼ comcast.net
-
Wolfgang Denk