Commit f77d92a3f56d88e63cc02226a1204b3bdbac6961

Authored by Sergey Lapin
Committed by Jean-Christophe PLAGNIOL-VILLARD
1 parent 81091f58f0

DataFlash: AT45DB021 fix and AT45DB081 support

Fix for page size of AT45DB021. Also adding bigger AT45DB081
which comes with some newer boards.

Signed-off-by: Sergey Lapin <slapin@ossfans.org>

Showing 2 changed files with 15 additions and 2 deletions Side-by-side Diff

drivers/mtd/dataflash.c
... ... @@ -56,7 +56,7 @@
56 56 switch (dfcode) {
57 57 case AT45DB021:
58 58 dataflash_info[i].Device.pages_number = 1024;
59   - dataflash_info[i].Device.pages_size = 263;
  59 + dataflash_info[i].Device.pages_size = 264;
60 60 dataflash_info[i].Device.page_offset = 9;
61 61 dataflash_info[i].Device.byte_mask = 0x300;
62 62 dataflash_info[i].Device.cs = cs[i].cs;
... ... @@ -65,6 +65,19 @@
65 65 dataflash_info[i].id = dfcode;
66 66 found[i] += dfcode;;
67 67 break;
  68 +
  69 + case AT45DB081:
  70 + dataflash_info[i].Device.pages_number = 4096;
  71 + dataflash_info[i].Device.pages_size = 264;
  72 + dataflash_info[i].Device.page_offset = 9;
  73 + dataflash_info[i].Device.byte_mask = 0x300;
  74 + dataflash_info[i].Device.cs = cs[i].cs;
  75 + dataflash_info[i].Desc.DataFlash_state = IDLE;
  76 + dataflash_info[i].logical_address = cs[i].addr;
  77 + dataflash_info[i].id = dfcode;
  78 + found[i] += dfcode;;
  79 + break;
  80 +
68 81 case AT45DB161:
69 82 dataflash_info[i].Device.pages_number = 4096;
70 83 dataflash_info[i].Device.pages_size = 528;
... ... @@ -135,9 +135,9 @@
135 135 int cs;
136 136 };
137 137 /*-------------------------------------------------------------------------------------------------*/
138   -
139 138 #define AT45DB161 0x2c
140 139 #define AT45DB021 0x14
  140 +#define AT45DB081 0x24
141 141 #define AT45DB321 0x34
142 142 #define AT45DB642 0x3c
143 143 #define AT45DB128 0x10