From: Cyrille Pitchen <cyrille.pitchen@atmel.com>
To: <marek.vasut@gmail.com>
Cc: <computersforpeace@gmail.com>,
<boris.brezillon@free-electrons.com>, <richard@nod.at>,
<linux-mtd@lists.infradead.org>, <linux-kernel@vger.kernel.org>,
<linux-spi@vger.kernel.org>, <broonie@kernel.org>,
Cyrille Pitchen <cyrille.pitchen@atmel.com>
Subject: [PATCH 0/2] mtd: spi-nor: add a stateless method to support memory size above 128Mib
Date: Tue, 6 Dec 2016 17:52:30 +0100 [thread overview]
Message-ID: <cover.1481041702.git.cyrille.pitchen@atmel.com> (raw)
Hi all,
this series of patches is based on next-20161206 and can also be applied
to the git://github.com/spi-nor/linux.git tree.
It has been extracted from the SFDP series and is resent as a standalone
series.
This series fixes compatibility issue between Linux and many bootloaders
when using SPI flash with size greater than 128Mib.
Indeed, before this series, Linux used to make the SPI flash memory enter
its 4-byte address mode when its size is greater than 128Mib: The very
same Fast Read 1-1-z op code is used, for instance Fast Read 1-1-4 (6Bh)
but once in 4-byte address mode, the SPI flash memory now expects a 4-byte
address following the op code instead of a 3-byte address.
This solution is statefull: it changes the internal state of the memory.
Hence, when the CPU is reset but not the memory, many bootloaders are not
aware of this internal state change at the memory side, don't know how to
handle this and still send one Fast Read op code followed by a 3-byte
address. So the bootloader fails to read data from the SPI flash memory.
Cyrille Pitchen (2):
mtd: spi-nor: rename SPINOR_OP_* macros of the 4-byte address op codes
mtd: spi-nor: add a stateless method to support memory size above
128Mib
drivers/mtd/devices/serial_flash_cmds.h | 7 --
drivers/mtd/devices/st_spi_fsm.c | 28 ++++----
drivers/mtd/spi-nor/spi-nor.c | 114 ++++++++++++++++++++++++++------
drivers/spi/spi-bcm-qspi.c | 6 +-
include/linux/mtd/spi-nor.h | 22 ++++--
5 files changed, 126 insertions(+), 51 deletions(-)
--
2.7.4
next reply other threads:[~2016-12-06 16:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-06 16:52 Cyrille Pitchen [this message]
2016-12-06 16:52 ` [PATCH 1/2] mtd: spi-nor: rename SPINOR_OP_* macros of the 4-byte address op codes Cyrille Pitchen
2016-12-07 9:51 ` Mark Brown
2016-12-07 16:08 ` Marek Vasut
2016-12-06 16:52 ` [PATCH 2/2] mtd: spi-nor: add a stateless method to support memory size above 128Mib Cyrille Pitchen
2016-12-07 16:20 ` Marek Vasut
2016-12-07 16:29 ` Cyrille Pitchen
2016-12-07 16:32 ` Marek Vasut
2016-12-07 16:59 ` Cyrille Pitchen
2016-12-08 3:50 ` Marek Vasut
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=cover.1481041702.git.cyrille.pitchen@atmel.com \
--to=cyrille.pitchen@atmel.com \
--cc=boris.brezillon@free-electrons.com \
--cc=broonie@kernel.org \
--cc=computersforpeace@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=marek.vasut@gmail.com \
--cc=richard@nod.at \
/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).