diff options
author | Robert Jarzmik <robert.jarzmik@free.fr> | 2011-11-19 10:02:50 -0500 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-01-09 13:07:21 -0500 |
commit | 376fbf208700f2105d4047b198ca43e1d9db0b33 (patch) | |
tree | 6595cac0b20a58e68d4833a005346702c46752d8 | |
parent | 732b63bd8c70bf8fbc50d3d3cd56c748edb8cfac (diff) |
mtd: docg3: add registers for erasing and writing
Add the required registers and commands to erase and write
flash pages / blocks.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reviewed-by: Ivan Djelic <ivan.djelic@parrot.com>
Reviewed-by: Mike Dunn <mikedunn@newsguy.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r-- | drivers/mtd/devices/docg3.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/mtd/devices/docg3.h b/drivers/mtd/devices/docg3.h index 75df3a1060fb..e9967aba80a8 100644 --- a/drivers/mtd/devices/docg3.h +++ b/drivers/mtd/devices/docg3.h | |||
@@ -130,6 +130,8 @@ | |||
130 | #define DOC_SEQ_SET_PLANE1 0x0e | 130 | #define DOC_SEQ_SET_PLANE1 0x0e |
131 | #define DOC_SEQ_SET_PLANE2 0x10 | 131 | #define DOC_SEQ_SET_PLANE2 0x10 |
132 | #define DOC_SEQ_PAGE_SETUP 0x1d | 132 | #define DOC_SEQ_PAGE_SETUP 0x1d |
133 | #define DOC_SEQ_ERASE 0x27 | ||
134 | #define DOC_SEQ_PLANES_STATUS 0x31 | ||
133 | 135 | ||
134 | /* | 136 | /* |
135 | * Flash commands | 137 | * Flash commands |
@@ -144,7 +146,10 @@ | |||
144 | #define DOC_CMD_PROG_BLOCK_ADDR 0x60 | 146 | #define DOC_CMD_PROG_BLOCK_ADDR 0x60 |
145 | #define DOC_CMD_PROG_CYCLE1 0x80 | 147 | #define DOC_CMD_PROG_CYCLE1 0x80 |
146 | #define DOC_CMD_PROG_CYCLE2 0x10 | 148 | #define DOC_CMD_PROG_CYCLE2 0x10 |
149 | #define DOC_CMD_PROG_CYCLE3 0x11 | ||
147 | #define DOC_CMD_ERASECYCLE2 0xd0 | 150 | #define DOC_CMD_ERASECYCLE2 0xd0 |
151 | #define DOC_CMD_READ_STATUS 0x70 | ||
152 | #define DOC_CMD_PLANES_STATUS 0x71 | ||
148 | 153 | ||
149 | #define DOC_CMD_RELIABLE_MODE 0x22 | 154 | #define DOC_CMD_RELIABLE_MODE 0x22 |
150 | #define DOC_CMD_FAST_MODE 0xa2 | 155 | #define DOC_CMD_FAST_MODE 0xa2 |
@@ -186,7 +191,7 @@ | |||
186 | */ | 191 | */ |
187 | #define DOC_ECCCONF1_BCH_SYNDROM_ERR 0x80 | 192 | #define DOC_ECCCONF1_BCH_SYNDROM_ERR 0x80 |
188 | #define DOC_ECCCONF1_UNKOWN1 0x40 | 193 | #define DOC_ECCCONF1_UNKOWN1 0x40 |
189 | #define DOC_ECCCONF1_UNKOWN2 0x20 | 194 | #define DOC_ECCCONF1_PAGE_IS_WRITTEN 0x20 |
190 | #define DOC_ECCCONF1_UNKOWN3 0x10 | 195 | #define DOC_ECCCONF1_UNKOWN3 0x10 |
191 | #define DOC_ECCCONF1_HAMMING_BITS_MASK 0x0f | 196 | #define DOC_ECCCONF1_HAMMING_BITS_MASK 0x0f |
192 | 197 | ||
@@ -224,6 +229,13 @@ | |||
224 | #define DOC_READADDR_ONE_BYTE 0x4000 | 229 | #define DOC_READADDR_ONE_BYTE 0x4000 |
225 | #define DOC_READADDR_ADDR_MASK 0x1fff | 230 | #define DOC_READADDR_ADDR_MASK 0x1fff |
226 | 231 | ||
232 | /* | ||
233 | * Status of erase and write operation | ||
234 | */ | ||
235 | #define DOC_PLANES_STATUS_FAIL 0x01 | ||
236 | #define DOC_PLANES_STATUS_PLANE0_KO 0x02 | ||
237 | #define DOC_PLANES_STATUS_PLANE1_KO 0x04 | ||
238 | |||
227 | /** | 239 | /** |
228 | * struct docg3 - DiskOnChip driver private data | 240 | * struct docg3 - DiskOnChip driver private data |
229 | * @dev: the device currently under control | 241 | * @dev: the device currently under control |