All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Fainelli <florian@openwrt.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3] NAND: add support for reading ONFI page table
Date: Fri, 25 Feb 2011 10:59:09 +0100	[thread overview]
Message-ID: <201102251059.09719.florian@openwrt.org> (raw)
In-Reply-To: <20110214174607.2b56dca8@schlenkerla.am.freescale.net>

Hello Scott,

(sorry for the lag in answering)

On Tuesday 15 February 2011 00:46:07 Scott Wood wrote:
> On Mon, 14 Feb 2011 16:48:01 +0100
> 
> Florian Fainelli <florian@openwrt.org> wrote:
> > From: Florian Fainelli <florian@openwrt.org>
> > 
> > This patch adds support for reading an ONFI page parameter from a NAND
> > device supporting it. If this is the case, struct nand_chip onfi_version
> > member contains the supported ONFI version, 0 otherwise.
> > 
> > This allows NAND drivers past nand_scan_ident to set the best timings for
> > the NAND chip.
> > 
> > Signed-off-by: Florian Fainelli <florian@openwrt.org>
> > ---
> > Patch against your 'next' branch
> 
> The 'next' branch is old, since I haven't pushed anything to it yet this
> cycle.  Base it on Wolfgang's 'next'.
> 
> > Changes since v1:
> > - ifdef out ONFI detection code around CONFIG_SYS_NAND_ONFI_DETECTION
> > - removed bogus comment
> > - fixed busw variable usage
> > - move non-ONFI detection code to its own function
> > - fixed stylistic issues spotted by Scott
> > 
> > Changes since v2:
> > - reduce lenght of some lines down to 80 columns
> > - change chip->options consistently wrt to ONFI detected or not
> > - removed extra spaces
> > 
> > diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
> > index 5239c1f..7becb99 100644
> > --- a/drivers/mtd/nand/nand_base.c
> > +++ b/drivers/mtd/nand/nand_base.c
> > @@ -2409,15 +2409,137 @@ static void nand_set_defaults(struct nand_chip
> > *chip, int busw)
> > 
> >  		chip->controller = &chip->hwcontrol;
> >  
> >  }
> > 
> > +#ifdef CONFIG_SYS_NAND_ONFI_DETECTION
> > +static u16 onfi_crc16(u16 crc, u8 const *p, size_t len)
> > +{
> > +	int i;
> > +
> > +	while (len--) {
> > +		crc ^= *p++ << 8;
> > +		for (i = 0; i < 8; i++)
> > +			crc = (crc << 1) ^ ((crc & 0x8000) ? 0x8005 : 0);
> > +	}
> > +
> > +	return crc;
> > +}
> 
> Is this different from what's in lib/crc16.c (other than appearing to have
> made a different speed/size tradeoff)?

Yes it is a different version of the CRC16 function.

> 
> > +#define ONFI_CRC_BASE	0x4F4E
> 
> Is this ONFI-specific, or standard for crc16?
> 
> > +
> > +/*
> > + * Check if the NAND chip is ONFI compliant, returns 1 if it is, 0
> > otherwise + */
> > +static int nand_flash_detect_onfi(struct mtd_info *mtd,
> > +					struct nand_chip *chip,
> > +					int *busw)
> > +{
> 
> [snip]
> 
> > +	chip->options &= ~NAND_CHIPOPTIONS_MSK;
> > +	chip->options |= NAND_NO_READRDY & NAND_CHIPOPTIONS_MSK;
> 
> Won't this get overwritten by this later?

It will, thanks for spotting.
--
Florian

  parent reply	other threads:[~2011-02-25  9:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-10 22:16 [U-Boot] [PATCH 1/2] NAND: add NAND_CMD_PARAM (0xec) definition Florian Fainelli
2010-12-10 22:16 ` [U-Boot] [PATCH 2/2] NAND: add support for reading ONFI page table Florian Fainelli
2010-12-11  0:15   ` [U-Boot] [U-Boot, " Scott Wood
2010-12-11 17:08     ` Florian Fainelli
2010-12-28  0:21   ` [U-Boot] [PATCH v2] " Florian Fainelli
2010-12-28  0:23     ` Florian Fainelli
2011-01-04 20:42     ` Scott Wood
2011-02-14 15:48       ` [U-Boot] [PATCH v3] " Florian Fainelli
2011-02-14 23:46         ` Scott Wood
2011-02-15  5:28           ` Wolfgang Denk
2011-02-25  9:59           ` Florian Fainelli [this message]
2011-02-25 10:01           ` [U-Boot] [PATCH v4] " Florian Fainelli
2011-03-16 23:42             ` [U-Boot] [U-Boot, " Scott Wood
2011-03-17 16:59               ` Florian Fainelli
2010-12-10 23:47 ` [U-Boot] [U-Boot, 1/2] NAND: add NAND_CMD_PARAM (0xec) definition Scott Wood

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=201102251059.09719.florian@openwrt.org \
    --to=florian@openwrt.org \
    --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.