[U-Boot-Users] Help: flash driver for CFI complient flash

Hi all,
I am using a flash of AMD make (Am29LV160B) in our custom board which is based on mpc8260ads board. This flash is CFI complient. So I want to use the cfi_flash.c as a driver for the flash. Can anyone tell me the procedure ie. what need to be done to use the driver?
Please help.
Thanks and regards, Souvik Maiti Tata Consultancy Services Limited
Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you

In message OF5616E6FF.1AD6EE7E-ON652570F2.004E8828-652570F3.00317CAE@tcs.com you wrote:
I am using a flash of AMD make (Am29LV160B) in our custom board which is based on mpc8260ads board. This flash is CFI complient. So I want to use the cfi_flash.c as a driver for the flash. Can anyone tell me the procedure ie. what need to be done to use the driver?
Select it in your board confg file... Fell free to compare with the configurationof other boards. grep is your friend.
Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the infor
Please omit this crap when posting here. If you cannot confiugure this, then please post from another account, which does not add such nonsense.
--=_alternative 0031779A652570F3_= Content-Type: text/html; charset="US-ASCII"
And NEVER post HTML on this list.
Best regards,
Wolfgang Denk

Thanks for the reply. What I have done is included the following code in include/configs/MPC8260ADS.h
#define CFG_FLASH_CFI_DRIVER #define CFG_MAX_FLASH_SECT 35 /* Max # sects per bank */ #define CFG_MAX_FLASH_BANKS 1 /* Max # of flash banks */ #define CFG_FLASH_CFI It's showing some compilation error, saying multiple definition of flash erase, etc. I think it's clashing with the /board/mpc8260ads/flash.c
My questions are: 1) Should I copy the cfi_flash.c to board folder and rename it as flash.c?
or Should I rename the flash.c? Any help in this regard will be highly appreciated.
Thanks and regards, Souvik Maiti
Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you

In message OF460F4A81.ABA80279-ON652570F3.003CA430-652570F3.003DEBC6@tcs.com you wrote:
Thanks for the reply. What I have done is included the following code in include/configs/MPC8260ADS.h
#define CFG_FLASH_CFI_DRIVER #define CFG_MAX_FLASH_SECT 35 /* Max # sects per bank */ #define CFG_MAX_FLASH_BANKS 1 /* Max # of flash banks */ #define CFG_FLASH_CFI It's showing some compilation error, saying multiple definition of flash erase, etc. I think it's clashing with the /board/mpc8260ads/flash.c
Yes. You must use exactly one flash driver only.
My questions are:
- Should I copy the cfi_flash.c to board folder and rename it as flash.c?
No.
Should I rename the flash.c?
No. Decide which driver to use (cfi_flash recommended) and don;t configure the oither one (i. e. edit board/<name>/Makefile not to build board/<name>/flash.o if you don;t use it).
Ummm... is your board *really* a MPC8260ADS board?
If yes, why are you making these changes - the board should be working as is.
If not, why are you meddling with this file then? Create your own board configuration, please!
Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the infor
This is the 3rd time I ask you NOT to include such crap in postings to public mailing lists.
--=_alternative 003DB324652570F3_= Content-Type: text/html; charset="US-ASCII"
And this is the 3rd time I ask you NOT to post HTML here.
Please do what you have been asked for.
Best regards,
Wolfgang Denk

Respected Sir,
Hope this time you won't get any html. Sorry for the inconvenience. Following things I want to make clear:
1. You was correct. Ours is a mpc8260 processor based custom board and we have made our board configuration. In this board, we are using two flash's i) Am29LV160B, each of 2MB size as code flash for storing the linux image. Total constituting a size of 4MB. The base address for code flash is 0xFE800000. ii) Two flash of ST make, total constituting 1MB as boot flash for storing the boot - loader. The base address for boot flash is 0xFE000000.
2. We need the flash driver for the code flash. Since the flash is CFI compliant, I have used the cfi_flash.c as the flash driver.
After defining :
#define CFG_FLASH_CFI_DRIVER #define CFG_MAX_FLASH_SECT 35 /* Max # sects per bank */ #define CFG_MAX_FLASH_BANKS 1 /* Max # of flash banks */ #define CFG_FLASH_CFI #define CFG_FLASH_BASE 0xFE000000 #define CFG_CODE_FLASH 0xFE800000
in board.h and
#ifndef CFG_FLASH_BANKS_LIST #define CFG_FLASH_BANKS_LIST { CFG_CODE_FLASH } #endif
in cfi_flash.c
We are getting the following output:
U-Boot 1.1.2 (Jan 6 2006 - 12:27:56)
MPC8260 Reset Status: External Soft, External Hard
MPC8260 Clock Configuration - Bus-to-Core Mult 3x, VCO Div 2, 60x Bus Freq 33-100, Core Freq 100-300 - dfbrg 1, corecnf 0x08, busdf 3, cpmdf 1, plldf 0, pllmf 1 - vco_out 248000000, scc_clk 62000000, brg_clk 15500000 - cpu_clk 186000000, cpm_clk 124000000, bus_clk 62000000
CPU: MPC8260 (HiP4 Rev 14, Mask B.1 4K25A) at 186 MHz Board: Motorola MPC8260ADS DRAM: 256 MB Top of RAM usable for U-Boot at: 10000000 Reserving 229k for U-Boot at: 0ffc6000 Reserving 4352k for malloc() at: 0fb86000 Reserving 76 Bytes for Board Info at: 0fb85fb4 Reserving 72 Bytes for Global Data at: 0fb85f6c Stack Pointer at: 0fb85f48 New Stack Pointer is: 0fb85f48 Now running in RAM - U-Boot at: 0ffc6000 FLASH: flash detect cfi fwc addr fe800000 cmd ff ff 8bit x 8 bit fwc addr fe800055 cmd 98 98 8bit x 8 bit is= cmd 51(Q) addr fe800010 is= 60 51 fwc addr fe800000 cmd ff ffff 16bit x 8 bit fwc addr fe8000aa cmd 98 9898 16bit x 8 bit is= cmd 51(Q) addr fe800020 is= 9061 5151 fwc addr fe800000 cmd ff 00ff 16bit x 16 bit fwc addr fe8000aa cmd 98 0098 16bit x 16 bit is= cmd 51(Q) addr fe800020 is= 9061 0051 fwc addr fe800000 cmd ff ffffffff 32bit x 8 bit fwc addr fe800154 cmd 98 98989898 32bit x 8 bit is= cmd 51(Q) addr fe800040 is= 60000000 51515151 fwc addr fe800000 cmd ff 00ff00ff 32bit x 16 bit fwc addr fe800154 cmd 98 00980098 32bit x 16 bit is= cmd 51(Q) addr fe800040 is= 60000000 00510051 fwc addr fe800000 cmd ff 000000ff 32bit x 32 bit fwc addr fe800154 cmd 98 00000098 32bit x 32 bit is= cmd 51(Q) addr fe800040 is= 60000000 00000051 fwrite addr fe800000 cmd ff ffffffffffffffff 64 bit x 8 bit fwrite addr fe8002a8 cmd 98 9898989898989898 64 bit x 8 bit is= cmd 51(Q) addr fe800080 is= 6000000060000000 5151515151515151 fwrite addr fe800000 cmd ff 00ff00ff00ff00ff 64 bit x 16 bit fwrite addr fe8002a8 cmd 98 0098009800980098 64 bit x 16 bit is= cmd 51(Q) addr fe800080 is= 6000000060000000 0051005100510051 fwrite addr fe800000 cmd ff 000000ff000000ff 64 bit x 32 bit fwrite addr fe8002a8 cmd 98 0000009800000098 64 bit x 32 bit is= cmd 51(Q) addr fe800080 is= 6000000060000000 0000005100000051 fwrite addr fe800000 cmd ff 00000000000000ff 64 bit x 64 bit fwrite addr fe8002a8 cmd 98 0000000000000098 64 bit x 64 bit is= cmd 51(Q) addr fe800080 is= 6000000060000000 0000000000000051 not found ## Unknown FLASH on Bank 0 - Size = 0x00000000 = 0 MB flash_protect ON: from 0xFE000000 to 0xFE03FFFF flash_protect ON: from 0xFE040000 to 0xFE07FFFF *** failed *** ### ERROR ### Please RESET the board ###
Any help in this regard will bw highly appreciated.
Thanks And Rgards, Souvik Maiti
Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you

In message OF7B640C5F.011B1D7E-ON652570F3.0047B755-652570F3.005160C4@tcs.com you wrote:
...
Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the infor
...
Stop adding this crap. If necessary, post from another address.
I will not repeat this.
Best regards,
Wolfgang Denk

Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the infor ...
Stop adding this crap. If necessary, post from another address.
I will not repeat this.
Best regards,
Wolfgang Denk
Help stop the INSANITY!
Free web-based GMAIL invitations are available from many u-boot-users.
GMAIL supports SMTP and POP3 so you don't have to use their web interface if you don't want to...
- dan (with 100 GMAIL invites to share - clear ASCII text posted from Outlook)

I have the same problem and the same output!
Is it right when I add this to my board.h:
#define CFG_FLASH_AM160LV 1 //AM29LV160DB
#define CFG_MAX_FLASH_BANKS 1 /* Max number of flash banks */ #define CFG_MAX_FLASH_SECT 35 /* Max number of sectors in one bank */
#define CFG_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */ #define CFG_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
#define CFG_ENV_IS_IN_FLASH 1 #define ENV_IS_EMBEDDED #define CFG_ENV_OFFSET 0x8000 /* Offset of the Environment Sector */ #define CFG_ENV_SIZE 0x4000 /* Size of the Environment Sector */ #define CFG_ENV_ADDR (CFG_FLASH_BASE) /* addr of environment */ #define DEBUG -- View this message in context: http://www.nabble.com/Help%3A-flash-driver-for-CFI-complient-flash-t893564.h... Sent from the Uboot - Users forum at Nabble.com.
participants (4)
-
Dan Poirot
-
Hurricane555
-
s.maiti@tcs.com
-
Wolfgang Denk