All of lore.kernel.org
 help / color / mirror / Atom feed
From: prakash bedge <prakash.bedge@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Does U-boot supports Spansion S29GL512P NOR Flash?
Date: Tue, 20 Apr 2010 14:55:32 +0530	[thread overview]
Message-ID: <v2mb9c1f3ac1004200225r7c7778c3secde28145712ede9@mail.gmail.com> (raw)
In-Reply-To: <h2ob9c1f3ac1004160738v880012a7jde3228db49d67eb5@mail.gmail.com>

Hi All,

At last all is done. There were plattform specific changes in the board.

Now I am able to run the CFI driver for flash chip S29GL512P.

Thanks for your help so far.

Regards,
Prakash



On Fri, Apr 16, 2010 at 8:08 PM, prakash bedge <prakash.bedge@gmail.com>wrote:

> Hi,
>
>
>
> I removed the changes as you suggested and now it is working without
> modifying the code.
>
> Only thing is that I had to add a flag *CONFIG_SYS_WRITE_SWAPPED_DATA* and
> it works.
>
>
>
> But here I am getting the error in erasing the sector as well in saveenv.
>
>
>
> U-Boot $  *saveenv*
>
> Saving Environment to Flash...
>
> copy old content: sect_addr: FFFA0000  env_addr: FFFA0000  offset:
> 00000000
>
> Protect off FFFA0000 ... FFFBFFFF
>
> Un-Protecting sectors 509..509 in bank 1
>
> Un-Protected 1 sectors
>
> Erasing Flash...Erase Flash from 0xfffa0000 to 0xfffbffff in Bank # 1
>
> fwc addr fffa0aaa cmd aa aa00 16bit x 16 bit
>
> fwc addr fffa0554 cmd 55 5500 16bit x 16 bit
>
> fwc addr fffa0aaa cmd 80 8000 16bit x 16 bit
>
> fwc addr fffa0aaa cmd aa aa00 16bit x 16 bit
>
> fwc addr fffa0554 cmd 55 5500 16bit x 16 bit
>
> fwc addr fffa0000 cmd 30 3000 16bit x 16 bit
>
> *flash_is_busy: 0*
>
> . done
>
> Erased 1 sectors
>
> *Writing to Flash... Flash not Erased*
>
> Protecting sectors 509..509 in bank 1
>
> Protected 1 sectors
>
>
>
> Here the data is not erase but the last erase sector command data is
> displayed instead of environment parameters.
>
> U-Boot $  md 0xfffa0000
>
> fffa0000: 3000ffff ffffffff ffffffff ffffffff    0...............
>
> fffa0010: ffffffff ffffffff ffffffff ffffffff    ................
>
>
>
> I tired to program the word and erase the sector but here again erase
> failed.
>
> U-Boot $  mw.w 0xfdfa0000 0xfc00
>
>  U-Boot $  mw.w 0xfdfa0aaa 0xaa00
>
>  U-Boot $  mw.w 0xfdfa0554 0x5500
>
>  U-Boot $  mw.w 0xfdfa0aaa 0xa000
>
>  U-Boot $  mw.w 0xfdfa0000 0x3132
>
>  U-Boot $  md.w 0xfdfa0000
>
> fdfa0000: 3132 ffff ffff ffff ffff ffff ffff ffff    12..............
>
> fdfa0010: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
> fdfa0020: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
> fdfa0030: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
> fdfa0040: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
> fdfa0050: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
> fdfa0060: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
> fdfa0070: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
>  U-Boot $  erase 0xfdfa0000 +0x20000
>
> Erase Flash from 0xfdfa0000 to 0xfdfbffff in Bank # 1
>
> fwc addr fdfa0aaa cmd aa aa00 16bit x 16 bit
>
> fwc addr fdfa0554 cmd 55 5500 16bit x 16 bit
>
> fwc addr fdfa0aaa cmd 80 8000 16bit x 16 bit
>
> fwc addr fdfa0aaa cmd aa aa00 16bit x 16 bit
>
> fwc addr fdfa0554 cmd 55 5500 16bit x 16 bit
>
> fwc addr fdfa0000 cmd 30 3000 16bit x 16 bit
>
> flash_is_busy: 0
>
> . done
>
> Erased 1 sectors
>
>  U-Boot $  erase 0xfdfa0000 +0x20000
>
>  U-Boot $   md.w 0xfdfa0000
>
> fdfa0000: *3000* ffff ffff ffff ffff ffff ffff ffff    0...............
>
> fdfa0010: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
>
> But, when I program the 0xfcfa0000 address and tried to erase the sector
> then I am able to erase the sector.
>
>
> U-Boot $  mw.w 0xfcfa0000 0xfc00
>
> U-Boot $  mw.w 0xfcfa0aaa 0xaa00
>
> U-Boot $  mw.w 0xfcfa0554 0x5500
>
> U-Boot $  mw.w 0xfcfa0aaa 0xa000
>
> U-Boot *$ mw.w 0xfcfa0000 0x3132*
>
> U-Boot $  md.w 0xfcfa0000
>
> fcfa0000: *3132* ffff ffff ffff ffff ffff ffff ffff    12..............
>
> fcfa0010: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
>
>
> U-Boot $  *erase 0xfcfa0000 0x20000*
>
> Erase Flash from 0xfcfa0000 to 0xfcfbffff in Bank # 1
>
> fwc addr fcfa0aaa cmd aa aa00 16bit x 16 bit
>
> fwc addr fcfa0554 cmd 55 5500 16bit x 16 bit
>
> fwc addr fcfa0aaa cmd 80 8000 16bit x 16 bit
>
> fwc addr fcfa0aaa cmd aa aa00 16bit x 16 bit
>
> fwc addr fcfa0554 cmd 55 5500 16bit x 16 bit
>
> fwc addr fcfa0000 cmd 30 3000 16bit x 16 bit
>
> flash_is_busy: 1
>
> flash_is_busy: 1
>
> flash_is_busy: 1
>
> .
>
> .
>
> .
>
> flash_is_busy: 1
>
> flash_is_busy: 1
>
> flash_is_busy: 0
>
> . done
>
> Erased 1 sectors
>
>  U-Boot $  md 0xfcfa0000
>
> *fcfa0000: ffffffff ffffffff* ffffffff ffffffff    ................
>
> fcfa0010: ffffffff ffffffff ffffffff ffffffff    ................
>
> fcfa0020: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
> fcfa0030: ffff ffff ffff ffff ffff ffff ffff ffff    ................
>
>
>
> I am able to erase 128 sector from flash base i.e. I am able to erase the
> flash from flash base 0xfc000000 upto 16 MB size.
>
> But I am not able to erase the remaining 384 sectors from 0xFD000000
> onwards.
>
>
>
> My current flash settings
>
> /*-----------------------------------------------------------------------
>
>  * FLASH related
>
>  *----------------------------------------------------------------------*/
>
> #define CONFIG_SYS_FLASH_CFI
>
> #define CONFIG_FLASH_CFI_DRIVER
>
> #define CONFIG_SYS_FLASH_EMPTY_INFO                  /* print 'E' for
> empty sector on flinfo */
>
> #define CONFIG_SYS_FLASH_BASE                 0xfc000000        /* start
> of FLASH           */
>
> #define CONFIG_ENV_IS_IN_FLASH     1
>
>
>
> #define CONFIG_SYS_WRITE_SWAPPED_DATA
>
>
>
> #define CONFIG_SYS_FLASH_CFI_WIDTH (FLASH_CFI_16BIT)
>
>
>
> #define CONFIG_SYS_FLASH_BANKS_LIST    {CONFIG_SYS_FLASH_BASE}
>
> #define CONFIG_SYS_MAX_FLASH_BANKS     1                            /*
> number of banks         */
>
> #define CONFIG_SYS_MAX_FLASH_SECT         512                       /*
> sectors per device   */
>
> #define CONFIG_FLASH_SHOW_PROGRESS    1
>
> #define CONFIG_SYS_FLASH_ERASE_TOUT     300000  /* Timeout for Flash Erase
> (in ms)           */
>
> #define CONFIG_SYS_FLASH_WRITE_TOUT      500       /* Timeout for Flash
> Write (in ms)            */
>
>
>
> #define CONFIG_SYS_MONITOR_BASE      0xFFFC0000            /* Start of
> U-Boot           */
>
> #define CONFIG_SYS_MONITOR_LEN         256
>
>
>
> #define CONFIG_ENV_SECT_SIZE         0x20000 /* size of one complete
> sector    */
>
> #define CONFIG_ENV_ADDR
> (CONFIG_SYS_MONITOR_BASE-CONFIG_ENV_SECT_SIZE)
>
> #define CONFIG_ENV_SIZE                         0x4000        /* Total
> Size of Environment Sector          */
>
>
>
>
>
> But when I give the ?erase all? command then the complete flash gets
> erased. I am little bit confused by this abnormal behavior.
>
> Is there something in code needs to check or there be an issue with chip
> address bus?
>
>
>
> Regards,
>
> Prakash
>
>
>
>
> On Wed, Apr 14, 2010 at 5:35 PM, Stefan Roese <sr@denx.de> wrote:
>
>> Hi Prakash,
>>
>> On Wednesday 14 April 2010 07:03:59 prakash bedge wrote:
>> > Does the latest code supports S29GL512P chip, since I am not seeing any
>> > instance of this chip in 2010.03 uboot code.
>>
>> Yes. We have told you multiple times, that this chip is supported. You
>> can't
>> find it in the source though, since no code was needed to specifically
>> support
>> this chip. But its working!
>>
>> > >>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.
>>
>> Yes. 2009.08 already supported this chip. But you seem to be using a
>> special
>> patch for this driver, which might afflict this.
>>
>> > I replaced the cfi_flash.c with the new cfi_flash.c file from latest
>> uboot
>> > version 2010.03 and done relevant changes.
>>
>> Which changes? No changes to this driver are needed to support this
>> chip!!!
>>
>> > 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?
>>
>> See above.
>>
>> > >> What kind of "utility"? Don't you use the BDI3000 for FLASH
>> programming?
>> >
>> > We have customized utility to flash the binary.
>>
>> Still not clear to me, what this "utility" is.
>>
>> > Using BDI3000 I tried to
>> > erase the flash but it didn't work.
>>
>> So the BDI FLASH commands ("erase", "prog" etc) don'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
>>
>> You are using byte access. You should be using word (16bit) access
>> instead!
>> And the word unlock addresses.
>>
>> 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: office at denx.de
>>
>
>

  reply	other threads:[~2010-04-20  9:25 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-09  5:26 [U-Boot] Does U-boot supports Spansion S29GL512P NOR Flash? prakash bedge
2010-04-09  6:10 ` Stefan Roese
2010-04-09  7:22   ` prakash bedge
2010-04-09  7:35     ` Stefan Roese
2010-04-09  7:55       ` Frank Svendsbøe
2010-04-09  8:05       ` prakash bedge
2010-04-09  8:09         ` Stefan Roese
2010-04-09  9:10           ` Frank Svendsbøe
2010-04-09 12:11             ` prakash bedge
2010-04-09 13:27               ` Frank Svendsbøe
2010-04-12  4:13                 ` prakash bedge
2010-04-12 17:01                   ` Frank Svendsbøe
2010-04-12 17:15                   ` Frank Svendsbøe
2010-04-13  6:31                     ` prakash bedge
2010-04-13  8:34                       ` Stefan Roese
2010-04-13 11:46                         ` prakash bedge
2010-04-13 12:16                           ` Stefan Roese
2010-04-14  5:03                             ` prakash bedge
2010-04-14  7:38                               ` Frank Svendsbøe
2010-04-14 12:05                               ` Stefan Roese
2010-04-16 14:38                                 ` prakash bedge
2010-04-20  9:25                                   ` prakash bedge [this message]
2010-04-09 13:35               ` Stefan Roese
2010-04-12  4:18                 ` prakash bedge
2010-04-12  7:59                   ` Stefan Roese
2012-03-10 10:47   ` Balaji Sivakumar
2012-03-10 18:29     ` Dirk Behme
2012-03-10 19:10     ` Wolfgang Denk
2010-04-09  7:48 ` Frank Svendsbøe
2010-04-09  8:07   ` prakash bedge
2010-04-09  8:23     ` Frank Svendsbøe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=v2mb9c1f3ac1004200225r7c7778c3secde28145712ede9@mail.gmail.com \
    --to=prakash.bedge@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.