diff options
author | Hans-Christian Egtvedt <hcegtvedt@atmel.com> | 2007-10-30 11:33:07 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2007-10-30 12:06:42 -0400 |
commit | d10a39d1a580db005d206fb6527a60fd9800c9fd (patch) | |
tree | 2e984487b1a90e2269f8fc4e41b88adb95b8fadf /drivers/mtd/chips/cfi_cmdset_0002.c | |
parent | 4edaf56e0f8a6f71e3361bf74e3dc835811761e6 (diff) |
[MTD] [NOR] More CFI fixups for Atmel chips
Convert CFI tables from Atmel cmdset_0001 chips to Intel format and set
BufWrite timeouts to 0 for Atmel cmdset_0001 and cmdset_0002 chips.
Some chips may indicate support for buffered writes even though they
only support dual-word writes.
The CFI fixup must run before fixup_use_write_buffers for this to work.
Signed-off-by: HÃ¥vard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/mtd/chips/cfi_cmdset_0002.c')
-rw-r--r-- | drivers/mtd/chips/cfi_cmdset_0002.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c index 389acc600f5e..571226eefeb8 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c | |||
@@ -185,6 +185,10 @@ static void fixup_convert_atmel_pri(struct mtd_info *mtd, void *param) | |||
185 | extp->TopBottom = 2; | 185 | extp->TopBottom = 2; |
186 | else | 186 | else |
187 | extp->TopBottom = 3; | 187 | extp->TopBottom = 3; |
188 | |||
189 | /* burst write mode not supported */ | ||
190 | cfi->cfiq->BufWriteTimeoutTyp = 0; | ||
191 | cfi->cfiq->BufWriteTimeoutMax = 0; | ||
188 | } | 192 | } |
189 | 193 | ||
190 | static void fixup_use_secsi(struct mtd_info *mtd, void *param) | 194 | static void fixup_use_secsi(struct mtd_info *mtd, void *param) |
@@ -217,6 +221,7 @@ static void fixup_use_atmel_lock(struct mtd_info *mtd, void *param) | |||
217 | } | 221 | } |
218 | 222 | ||
219 | static struct cfi_fixup cfi_fixup_table[] = { | 223 | static struct cfi_fixup cfi_fixup_table[] = { |
224 | { CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL }, | ||
220 | #ifdef AMD_BOOTLOC_BUG | 225 | #ifdef AMD_BOOTLOC_BUG |
221 | { CFI_MFR_AMD, CFI_ID_ANY, fixup_amd_bootblock, NULL }, | 226 | { CFI_MFR_AMD, CFI_ID_ANY, fixup_amd_bootblock, NULL }, |
222 | #endif | 227 | #endif |
@@ -229,7 +234,6 @@ static struct cfi_fixup cfi_fixup_table[] = { | |||
229 | #if !FORCE_WORD_WRITE | 234 | #if !FORCE_WORD_WRITE |
230 | { CFI_MFR_ANY, CFI_ID_ANY, fixup_use_write_buffers, NULL, }, | 235 | { CFI_MFR_ANY, CFI_ID_ANY, fixup_use_write_buffers, NULL, }, |
231 | #endif | 236 | #endif |
232 | { CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL }, | ||
233 | { 0, 0, NULL, NULL } | 237 | { 0, 0, NULL, NULL } |
234 | }; | 238 | }; |
235 | static struct cfi_fixup jedec_fixup_table[] = { | 239 | static struct cfi_fixup jedec_fixup_table[] = { |