devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Boris BREZILLON <b.brezillon.dev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Maxime Ripard
	<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Rob Landley <rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	Grant Likely
	<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Brian Norris
	<computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Jason Gunthorpe
	<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>
Cc: Boris BREZILLON
	<b.brezillon.dev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	dev-3kdeTeqwOZ9EV1b7eY7vFQ@public.gmane.org
Subject: [RFC PATCH v2 01/14] mtd: nand: retrieve ECC requirements from Hynix READ ID byte 4
Date: Wed, 29 Jan 2014 15:34:11 +0100	[thread overview]
Message-ID: <1391006064-28890-2-git-send-email-b.brezillon.dev@gmail.com> (raw)
In-Reply-To: <1391006064-28890-1-git-send-email-b.brezillon.dev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

The Hynix nand flashes store their ECC requirements in byte 4 of its id
(returned on READ ID command).

Signed-off-by: Boris BREZILLON <b.brezillon.dev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 drivers/mtd/nand/nand_base.c |   37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index bd39f7b..15069ec 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -3202,6 +3202,43 @@ static void nand_decode_ext_id(struct mtd_info *mtd, struct nand_chip *chip,
 		else
 			mtd->erasesize = (64 * 1024) << tmp;
 		*busw = 0;
+
+		/* Retrieve ECC infos */
+		switch ((id_data[4] >> 4) & 0x7) {
+		case 1:
+			chip->ecc_step_ds = 512;
+			chip->ecc_strength_ds = 1;
+			break;
+		case 2:
+			chip->ecc_step_ds = 512;
+			chip->ecc_strength_ds = 2;
+			break;
+		case 3:
+			chip->ecc_step_ds = 512;
+			chip->ecc_strength_ds = 4;
+			break;
+		case 4:
+			chip->ecc_step_ds = 512;
+			chip->ecc_strength_ds = 8;
+			break;
+		case 5:
+			chip->ecc_step_ds = 1024;
+			chip->ecc_strength_ds = 24;
+			break;
+		case 6:
+			chip->ecc_step_ds = 1024;
+			chip->ecc_strength_ds = 32;
+			break;
+		case 7:
+			chip->ecc_step_ds = 1024;
+			chip->ecc_strength_ds = 40;
+			break;
+		case 0:
+		default:
+			chip->ecc_step_ds = 0;
+			chip->ecc_strength_ds = 0;
+			break;
+		}
 	} else {
 		/* Calc pagesize */
 		mtd->writesize = 1024 << (extid & 0x03);
-- 
1.7.9.5

  parent reply	other threads:[~2014-01-29 14:34 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-29 14:34 [RFC PATCH v2 00/14] mtd: nand: add sunxi NAND Flash Controller support Boris BREZILLON
     [not found] ` < 1391006064-28890-4-git-send-email-b.brezillon.dev@gmail.com>
     [not found] ` <1391006064-28890-1-git-send-email-b.brezillon.dev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-29 14:34   ` Boris BREZILLON [this message]
2014-01-29 14:34   ` [RFC PATCH v2 02/14] of: mtd: add NAND ECC level requirements retrieval Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 03/14] of: mtd: add documentation for nand-ecc-level property Boris BREZILLON
2014-01-29 17:53     ` Ezequiel Garcia
2014-01-29 18:39       ` Boris BREZILLON
2014-02-05 11:15       ` Grant Likely
     [not found]         ` <20140205111500.B19FDC40A89-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-02-05 13:34           ` Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 04/14] mtd: nand: define struct nand_timings Boris BREZILLON
2014-03-10 13:44     ` Boris BREZILLON
2014-03-11 18:55       ` Jason Gunthorpe
     [not found]         ` <20140311185554.GD31835-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-03-12 16:46           ` Boris BREZILLON
2014-03-12 19:07             ` Jason Gunthorpe
2014-03-12 20:18               ` Warner Losh
2014-01-29 14:34   ` [RFC PATCH v2 05/14] mtd: nand: add ONFI timing mode to nand_timings converter Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 06/14] of: mtd: add NAND timing mode retrieval support Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 07/14] of: mtd: add documentation for the ONFI NAND timing mode property Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 08/14] mtd: nand: add sunxi NAND flash controller support Boris BREZILLON
2014-01-29 17:56     ` Jason Gunthorpe
     [not found]       ` <20140129175641.GF1427-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-01-29 18:46         ` Ezequiel Garcia
2014-01-29 19:10           ` Jason Gunthorpe
     [not found]             ` <20140129191005.GG1427-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2014-01-30  8:57               ` Boris BREZILLON
2014-03-10 11:17               ` Boris BREZILLON
     [not found]                 ` <531D9F4B.6040505-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-10 11:37                   ` [linux-sunxi] " Lucas Stach
2014-03-11 18:45                   ` Jason Gunthorpe
2014-01-29 19:02       ` Boris BREZILLON
2014-01-30 11:22     ` Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 09/14] mtd: nand: add sunxi NFC dt bindings doc Boris BREZILLON
     [not found]     ` <1391006064-28890-10-git-send-email-b.brezillon.dev-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-01-29 17:11       ` Rob Herring
2014-01-29 18:01         ` Boris BREZILLON
2014-01-29 18:02         ` Gupta, Pekon
     [not found]           ` <20980858CB6D3A4BAE95CA194937D5E73EA6C01D-yXqyApvAXouIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2014-01-29 18:30             ` Boris BREZILLON
2014-01-29 18:33           ` Boris BREZILLON
2014-01-29 18:36           ` Gupta, Pekon
     [not found]         ` <CAL_JsqLVr1gSLArqtfOiHce+u6ZK8FiKMX0o9bvMrMoGGhATvg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-29 17:12           ` Rob Herring
2014-01-29 22:37           ` Henrik Nordström
2014-01-30  8:38             ` boris brezillon dev
2014-01-30  8:46             ` boris brezillon dev
2014-01-29 14:34   ` [RFC PATCH v2 10/14] ARM: dt/sunxi: add NFC node to Allwinner A20 SoC Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 11/14] ARM: dt/sunxi: add NFC pinctrl pin definitions Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 12/14] ARM: sunxi/dt: enable NAND on cubietruck board Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 13/14] mtd: nand: add sunxi HW ECC support Boris BREZILLON
2014-01-29 14:34   ` [RFC PATCH v2 14/14] ARM: sunxi/dt: enable HW ECC on cubietruck board Boris BREZILLON
2014-01-30 13:39   ` [RFC PATCH pre-v3 08/14] mtd: nand: add sunxi NAND flash controller support Boris BREZILLON
2014-01-30 14:36     ` Russell King - ARM Linux
     [not found]       ` <20140130143641.GZ15937-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-01-30 15:04         ` Boris BREZILLON
2014-01-30 13:41   ` [RFC PATCH pre-v3 13/14] mtd: nand: add sunxi HW ECC support Boris BREZILLON
2014-01-30 13:46 ` [RFC PATCH pre-v3 07/14] of: mtd: add documentation for the ONFI NAND timing mode property Boris BREZILLON

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=1391006064-28890-2-git-send-email-b.brezillon.dev@gmail.com \
    --to=b.brezillon.dev-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=computersforpeace-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=dev-3kdeTeqwOZ9EV1b7eY7vFQ@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    --cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
    --cc=rob-VoJi6FS/r0vR7s880joybQ@public.gmane.org \
    /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;
as well as URLs for NNTP newsgroup(s).