From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 06/37] mtd: st_spi_fsm: Supply defines for the possible flash command opcodes
Date: Wed, 8 Jan 2014 13:46:49 +0000 [thread overview]
Message-ID: <1389188840-14306-7-git-send-email-lee.jones@linaro.org> (raw)
In-Reply-To: <1389188840-14306-1-git-send-email-lee.jones@linaro.org>
Flash chip commands are issued using a set of predefined opcodes. These
are mostly the same for all flash devices, but do differ on occasion.
This patch supplies the majority of the key ones which will be used in
this driver.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
drivers/mtd/devices/st_spi_fsm.c | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/drivers/mtd/devices/st_spi_fsm.c b/drivers/mtd/devices/st_spi_fsm.c
index 0eba759..bb0f20a 100644
--- a/drivers/mtd/devices/st_spi_fsm.c
+++ b/drivers/mtd/devices/st_spi_fsm.c
@@ -194,6 +194,44 @@
#define STFSM_FLASH_SAFE_FREQ 10000000UL /* 10 MHz */
+/* Flash Commands */
+#define FLASH_CMD_WREN 0x06
+#define FLASH_CMD_WRDI 0x04
+#define FLASH_CMD_RDID 0x9f
+#define FLASH_CMD_RDSR 0x05
+#define FLASH_CMD_RDSR2 0x35
+#define FLASH_CMD_WRSR 0x01
+#define FLASH_CMD_SE_4K 0x20
+#define FLASH_CMD_SE_32K 0x52
+#define FLASH_CMD_SE 0xd8
+#define FLASH_CMD_CHIPERASE 0xc7
+#define FLASH_CMD_WRVCR 0x81
+#define FLASH_CMD_RDVCR 0x85
+
+#define FLASH_CMD_READ 0x03 /* READ */
+#define FLASH_CMD_READ_FAST 0x0b /* FAST READ */
+#define FLASH_CMD_READ_1_1_2 0x3b /* DUAL OUTPUT READ */
+#define FLASH_CMD_READ_1_2_2 0xbb /* DUAL I/O READ */
+#define FLASH_CMD_READ_1_1_4 0x6b /* QUAD OUTPUT READ */
+#define FLASH_CMD_READ_1_4_4 0xeb /* QUAD I/O READ */
+
+#define FLASH_CMD_WRITE 0x02 /* PAGE PROGRAM */
+#define FLASH_CMD_WRITE_1_1_2 0xa2 /* DUAL INPUT PROGRAM */
+#define FLASH_CMD_WRITE_1_2_2 0xd2 /* DUAL INPUT EXT PROGRAM */
+#define FLASH_CMD_WRITE_1_1_4 0x32 /* QUAD INPUT PROGRAM */
+#define FLASH_CMD_WRITE_1_4_4 0x12 /* QUAD INPUT EXT PROGRAM */
+
+#define FLASH_CMD_EN4B_ADDR 0xb7 /* Enter 4-byte address mode */
+#define FLASH_CMD_EX4B_ADDR 0xe9 /* Exit 4-byte address mode */
+
+/* READ commands with 32-bit addressing (N25Q256 and S25FLxxxS) */
+#define FLASH_CMD_READ4 0x13
+#define FLASH_CMD_READ4_FAST 0x0c
+#define FLASH_CMD_READ4_1_1_2 0x3c
+#define FLASH_CMD_READ4_1_2_2 0xbc
+#define FLASH_CMD_READ4_1_1_4 0x6c
+#define FLASH_CMD_READ4_1_4_4 0xec
+
struct stfsm {
struct device *dev;
void __iomem *base;
--
1.8.3.2
next prev parent reply other threads:[~2014-01-08 13:46 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-08 13:46 [PATCH v4 00/36] mtd: st_spi_fsm: Add new driver Lee Jones
2014-01-08 13:46 ` [PATCH v4 01/37] mtd: st_spi_fsm: Allocate resources and register with MTD framework Lee Jones
2014-01-08 13:46 ` [PATCH v4 02/37] mtd: st_spi_fsm: Supply all register address and bit logic defines Lee Jones
2014-01-08 13:46 ` [PATCH v4 03/37] mtd: st_spi_fsm: Initialise and configure the FSM for normal working conditions Lee Jones
2014-01-08 13:46 ` [PATCH v4 04/37] mtd: st_spi_fsm: Supply framework for device requests Lee Jones
2014-01-08 13:46 ` [PATCH v4 05/37] mtd: st_spi_fsm: Supply a method to read from the FSM's FIFO Lee Jones
2014-01-08 13:46 ` Lee Jones [this message]
2014-01-08 13:46 ` [PATCH v4 07/37] mtd: st_spi_fsm: Add support for JEDEC ID extraction Lee Jones
2014-01-08 13:46 ` [PATCH v4 08/37] mtd: devices: Provide header for shared OPCODEs and SFDP commands Lee Jones
2014-01-08 13:46 ` [PATCH v4 09/37] mtd: st_spi_fsm: Provide device look-up table Lee Jones
2014-01-08 13:46 ` [PATCH v4 10/37] mtd: st_spi_fsm: Dynamically setup flash device based on JEDEC ID Lee Jones
2014-01-08 13:46 ` [PATCH v4 11/37] mtd: st_spi_fsm: Search for preferred FSM message sequence configurations Lee Jones
2014-01-08 13:46 ` [PATCH v4 12/37] mtd: st_spi_fsm: Fetch platform specific configurations Lee Jones
2014-01-08 13:46 ` [PATCH v4 13/37] mtd: st_spi_fsm: Prepare the read/write FSM message sequence(s) Lee Jones
2014-01-08 13:46 ` [PATCH v4 14/37] mtd: st_spi_fsm: Add device-tree binding documentation Lee Jones
2014-01-08 13:46 ` [PATCH v4 15/37] mtd: st_spi_fsm: Fetch boot-device from mode pins Lee Jones
2014-01-08 13:46 ` [PATCH v4 16/37] mtd: st_spi_fsm: Provide the erase one sector sequence Lee Jones
2014-01-08 13:47 ` [PATCH v4 17/37] mtd: st_spi_fsm: Provide the sequence for enabling 32bit addressing mode Lee Jones
2014-01-08 13:47 ` [PATCH v4 18/37] mtd: st_spi_fsm: Prepare read/write sequences according to configuration Lee Jones
2014-01-08 13:47 ` [PATCH v4 19/37] mtd: st_spi_fsm: Add a check to if the chip can handle an SoC reset Lee Jones
2014-01-08 13:47 ` [PATCH v4 20/37] mtd: st_spi_fsm: Provide a method to put the chip into 32bit addressing mode Lee Jones
2014-01-08 13:47 ` [PATCH v4 21/37] mtd: st_spi_fsm: Update the flash Volatile Configuration Register Lee Jones
2014-01-08 13:47 ` [PATCH v4 22/37] mtd: st_spi_fsm: Provide the default read/write configurations Lee Jones
2014-01-08 13:47 ` [PATCH v4 23/37] mtd: st_spi_fsm: Supply the N25Qxxx specific read configurations Lee Jones
2014-01-08 13:47 ` [PATCH v4 24/37] mtd: st_spi_fsm: Supply the N25Qxxx chip specific configuration call-back Lee Jones
2014-01-08 13:47 ` [PATCH v4 25/37] mtd: st_spi_fsm: Prepare default sequences for read/write/erase Lee Jones
2014-01-08 13:47 ` [PATCH v4 26/37] mtd: st_spi_fsm: Add the ability to read from a Serial Flash device Lee Jones
2014-01-08 13:47 ` [PATCH v4 27/37] mtd: st_spi_fsm: Write to Flash via the FSM FIFO Lee Jones
2014-01-08 13:47 ` [PATCH v4 28/37] mtd: st_spi_fsm: Supply a busy wait for post-write status Lee Jones
2014-01-08 13:47 ` [PATCH v4 29/37] mtd: st_spi_fsm: Add the ability to write to a Serial Flash device Lee Jones
2014-01-08 13:47 ` [PATCH v4 30/37] mtd: st_spi_fsm: Erase partly or as a whole " Lee Jones
2014-01-08 13:47 ` [PATCH v4 31/37] mtd: st_spi_fsm: Add the ability to read the FSM's status Lee Jones
2014-01-08 13:47 ` [PATCH v4 32/37] mtd: st_spi_fsm: Add the ability to write to FSM's status register Lee Jones
2014-01-08 13:47 ` [PATCH v4 33/37] mtd: st_spi_fsm: Supply the MX25xxx chip specific configuration call-back Lee Jones
2014-01-08 13:47 ` [PATCH v4 34/37] mtd: st_spi_fsm: Supply the S25FLxxx " Lee Jones
2014-01-08 13:47 ` [PATCH v4 35/37] mtd: st_spi_fsm: Supply the W25Qxxx " Lee Jones
2014-01-08 13:47 ` [PATCH v4 36/37] mtd: st_spi_fsm: Move runtime configurable msg sequences into device's struct Lee Jones
2014-01-08 13:47 ` [PATCH v4 37/37] ARM: STi: Add support for the FSM Serial Flash Controller Lee Jones
2014-01-08 14:33 ` [PATCH v4 00/36] mtd: st_spi_fsm: Add new driver Lee Jones
2014-01-22 12:50 ` Lee Jones
2014-01-23 1:46 ` Brian Norris
2014-02-24 11:39 ` Lee Jones
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=1389188840-14306-7-git-send-email-lee.jones@linaro.org \
--to=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.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).