public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefan Roese <sr@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCHv2 CFI flash]: Workaround for Numonyx Axcell P33/P30 256-Mbit 65nm bug
Date: Tue, 10 Aug 2010 13:20:42 +0200	[thread overview]
Message-ID: <201008101320.42832.sr@denx.de> (raw)
In-Reply-To: <20100809154603.GA3594@frolo.macqel>

Hi Philippe,

On Monday 09 August 2010 17:46:03 Philippe De Muyter wrote:
> > Please move this variable declaration of "cmd" and assignment further
> > down (see below). You can remove the "{" "}" of this block then.
> 
> Here is the excerpt from the errata :
> 
> Workaround:  If the interval between 60h and its subsequent command
> 	     can be guaranteed within 20?s, Option I is recommended,
> 	     otherwise Option II (involves hardware) should be selected.
> Option I: The table below lists the detail command sequences:
> Command
> 	      Data bus           Address bus       Remarks
> Sequence
>   1              90h            Block Address
> 						   Read Lock Status
>   2             Read         Block Address + 02h
>  (2)(3)                                      (1)
> 3                60h           Block Address
>  (2)(3)                                      (1)   Lock/Unlock/RCR
> Configuration 4           D0h/01h/03h        Block Address
> Notes:
> (1) Block Address refers to RCR configuration data only when the 60h
>     command sequence is used to set RCR register combined with 03h
>     subsequent command.
> (2) For the third and fourth command sequences, the Block Address must
>     be the same.
> (3) The interval between 60h command and its subsequent D0h/01h/2Fh/03h
>     commands should be less than 20?s.
> 
> Because of requirement (3), I choosed to minimize the number of
> instructions between the `read lock status' and the `unlock' commands,
> hence the initialisation of `cmd' moved before the `read lock status'
> (hidden in `flash_isequal').

From my understanding, "only" the last 2 operations need to be in max.
20?s interval. If this is the case, then I would prefer this code
version:

		case CFI_CMDSET_INTEL_EXTENDED:
			/*
			 * see errata called
			 * "Numonyx Axcell P33/P30 Specification Update" :)
			 */
			flash_write_cmd (info, sector, 0, FLASH_CMD_READ_ID);
			if (!flash_isequal (info, sector, FLASH_OFFSET_PROTECT,
					    prot)) {
				int flag = disable_interrupts ();
				unsigned short cmd;

				if (prot)
					cmd = FLASH_CMD_PROTECT_SET;
				else
					cmd = FLASH_CMD_PROTECT_CLEAR;

				/*
				 * cmd must come before FLASH_CMD_PROTECT + 20us
				 * Disable interrupts which might cause a timeout here.
				 */
				flash_write_cmd (info, sector, 0,
						  FLASH_CMD_PROTECT);
				flash_write_cmd (info, sector, 0, cmd);
				/* re-enable interrupts if necessary */
				if (flag)
					enable_interrupts ();
			}

> > > +                       /*
> > > +                        * see errata called
> > > +                        * "Numonyx Axcell P33/P30 Specification
> > > Update" :) +                        */
> > > +                       flash_write_cmd (info, sector, 0,
> > > FLASH_CMD_READ_ID); +                       if (!flash_isequal (info,
> > > sector, FLASH_OFFSET_PROTECT, +                                       
> > >    prot)) {
> > > +                               int flag = disable_interrupts ();
> > 
> > Declare and assign "cmd" here please.
> > 
> > Please change and resubmit. Thanks.
> 
> If you still prefer it changed, speak :)

Yes, please let me know if this patch version also fixes the bug. If
this is the case, I would prefer that you change it accordingly.

Thanks.

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-08-10 11:20 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-23 11:57 [U-Boot] [PATCH CFI flash]: Workaround for Numonyx Axcell P33/P30 256-Mbit 65nm bug Philippe De Muyter
2010-06-23 12:48 ` Wolfgang Denk
2010-06-23 13:10 ` [U-Boot] [PATCHv2 " Philippe De Muyter
2010-08-06 23:11   ` Wolfgang Denk
2010-08-09  8:32     ` Joakim Tjernlund
2010-08-09 12:57       ` Philippe De Muyter
2010-08-09 15:48         ` Philippe De Muyter
2010-08-09 15:55         ` Joakim Tjernlund
2010-08-09 13:52     ` Stefan Roese
2010-08-09 15:46       ` Philippe De Muyter
2010-08-10 11:20         ` Stefan Roese [this message]
2010-08-10 13:31           ` Philippe De Muyter
2010-08-10 13:39             ` Stefan Roese
2010-08-10 15:28         ` Stefan Roese
2010-08-10 16:12           ` [U-Boot] [PATCHv2 CFI flash]: Workaround for Numonyx Axcell?P33/P30 " Philippe De Muyter

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=201008101320.42832.sr@denx.de \
    --to=sr@denx.de \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox