From: Ionela Voinescu <ionela.voinescu@imgtec.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: "Marek Vasut" <marex@denx.de>,
"Kamlakant Patel" <kamlakant.patel@broadcom.com>,
abrestic@chromium.org, "Greg KH" <gregkh@linuxfoundation.org>,
"Rafał Miłecki" <zajec5@gmail.com>,
dehrenberg@chromium.org, linux-mtd@lists.infradead.org,
"Ezequiel Garcia" <ezequiel.garcia@imgtec.com>,
james.hartley@imgtec.com
Subject: Re: [PATCH 0/2] staging: mtd: Support for GigaDevice SPI NAND flash
Date: Fri, 7 Nov 2014 13:00:11 +0000 [thread overview]
Message-ID: <545CC25B.9030807@imgtec.com> (raw)
In-Reply-To: <20141106192041.GB23619@ld-irv-0074>
Hi Brian,
Thank you for your feedback.
On 11/06/14 19:20, Brian Norris wrote:
> On Thu, Nov 06, 2014 at 03:17:10PM -0300, Ezequiel Garcia wrote:
>> How about picking Sourav's v2 as a starting point:
>>
>> http://lists.infradead.org/pipermail/linux-mtd/2013-July/047434.html
> Completely irrelevant, but I found this amusing in that patch, a few
> lines into spinand.h:
>
> +/bin/bash: 4: command not found
>
> :)
>
>> And then try to use that to support Micron's MT29F and Gigadevice's GD5F ?
>>
>> Brian: Any ideas or suggestion on how to proceed?
> I'm not opposed to trying to build a proper SPI-NAND framework. But the
> linked v2 patch doesn't provide much to start from. It barely handles
> anything that is specific to SPI-NAND (pushing the details out to a
> flash-specific driver), and it doesn't address what I think the biggest
> question is: how similar will the various SPI-NAND implementations be?
> I've talked with a few flash vendors and seen that there were some
> growing pains with developing a first generation de-facto standard, so
> there is bound to be a bit of incompatibility if we try to support the
> earliest examples, but it seemed like there was some effort to keep
> things consistent across different manufacturers. I don't know the
> progress of any standardization effort there.
>
> Anyway, I think we really should look at whether any of the
> identification and command sequencing details can be abstracted into a
> drivers/mtd/spinand/spinand.c, with client drivers mostly handling the
> transport protocol differences (e.g., interfacing with the SPI layer,
> similar to what m25p80.c does for SPI NOR).
I know that the linked v2 does not provide much but it provides a starting
point. If you agree I'm going to start from that and try to add as much
of the command sequencing that is common between the micron chip
and the gigadevice chip that I have access to, through the exiting drivers and
the datasheets, following the example set by m25p80.c.
As far as I've seen from the datasheets I have available (SPI NAND
GigaDevice 1Gb/2Gb/4Gb, Micron 1Gb/2Gb/4Gb), the command sequencing
is the same for read/write/erase operations (read: enable ECC, read to cache,
wait, read from cache, check for errors, disable ECC; write: enable ECC,
write enable, program load, program execute, wait, verify, disable ECC;
erase: write enable, erase block, verify).
Regarding the stream of bytes for each command, the problematic
commands are the read from cache ones (read, fast read, read x2,
read x4, read dual read quad) that have different command format
(additional dummy bytes, a plane select bit to be set).
Other differences are in the structure of the protection and status registers
(some of them use more ECC and protection bits according to the size
of the chip). Also, each has a different ECC layout.
>
> I don't have any time to create such a framwork on my own, but I may be
> able to spare some limited resources for reviewing others' work. I'd
> really like to see some efforts from a few interested reviewers, as I
> haven't figured out how to squeeze more hours into my day yet.
As I said, I have some time to continue Sourav's work and I would
greatly appreciate the review effort.
>
> BTW, has there been any progress on whatever TODO items landed
> mt29f_spinand in staging in the first place?
>
> Brian
Thank you very much,
Ionela.
next prev parent reply other threads:[~2014-11-07 13:00 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-06 15:51 [PATCH 0/2] staging: mtd: Support for GigaDevice SPI NAND flash Ionela Voinescu
2014-11-06 15:51 ` [PATCH 1/2] staging: mtd: GigaDevice 4Gb SPI NAND driver Ionela Voinescu
2014-11-06 15:51 ` [PATCH 2/2] Documentation: staging: mtd: Binding document for GigaDevice SPI NAND Ionela Voinescu
2014-11-06 16:05 ` [PATCH 0/2] staging: mtd: Support for GigaDevice SPI NAND flash Greg KH
2014-11-06 17:32 ` Ionela Voinescu
2014-11-06 17:44 ` Greg KH
2014-11-06 18:03 ` Ionela Voinescu
2014-11-06 18:17 ` Ezequiel Garcia
2014-11-06 19:20 ` Brian Norris
2014-11-07 13:00 ` Ionela Voinescu [this message]
2014-11-10 9:00 ` arnaud.mouiche
-- strict thread matches above, loose matches on Subject: below --
2014-11-20 8:39 bpqw
2014-11-20 13:18 ` Ezequiel Garcia
2014-11-25 7:02 ` bpqw
2014-11-25 16:59 ` Ezequiel Garcia
[not found] <mailman.22397.1416508326.22890.linux-mtd@lists.infradead.org>
2014-11-21 1:16 ` Qi Wang 王起 (qiwang)
2014-11-21 9:24 ` arnaud.mouiche
2014-11-21 11:51 ` Ezequiel Garcia
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=545CC25B.9030807@imgtec.com \
--to=ionela.voinescu@imgtec.com \
--cc=abrestic@chromium.org \
--cc=computersforpeace@gmail.com \
--cc=dehrenberg@chromium.org \
--cc=ezequiel.garcia@imgtec.com \
--cc=gregkh@linuxfoundation.org \
--cc=james.hartley@imgtec.com \
--cc=kamlakant.patel@broadcom.com \
--cc=linux-mtd@lists.infradead.org \
--cc=marex@denx.de \
--cc=zajec5@gmail.com \
/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.