aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Lapin <slapin@ossfans.org>2008-08-09 01:39:09 +0400
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2008-08-09 00:15:06 +0200
commitf77d92a3f56d88e63cc02226a1204b3bdbac6961 (patch)
treec512bdc2609401e18cc625f6faf89d882bc64f6c
parent81091f58f0c58ecd26c5b05de2ae20ca6cdb521c (diff)
downloadu-boot-linaro-stable-f77d92a3f56d88e63cc02226a1204b3bdbac6961.tar.gz
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>
-rw-r--r--drivers/mtd/dataflash.c15
-rw-r--r--include/dataflash.h2
2 files changed, 15 insertions, 2 deletions
diff --git a/drivers/mtd/dataflash.c b/drivers/mtd/dataflash.c
index 0ad48cdae..049da69fe 100644
--- a/drivers/mtd/dataflash.c
+++ b/drivers/mtd/dataflash.c
@@ -56,7 +56,7 @@ int AT91F_DataflashInit (void)
switch (dfcode) {
case AT45DB021:
dataflash_info[i].Device.pages_number = 1024;
- dataflash_info[i].Device.pages_size = 263;
+ dataflash_info[i].Device.pages_size = 264;
dataflash_info[i].Device.page_offset = 9;
dataflash_info[i].Device.byte_mask = 0x300;
dataflash_info[i].Device.cs = cs[i].cs;
@@ -65,6 +65,19 @@ int AT91F_DataflashInit (void)
dataflash_info[i].id = dfcode;
found[i] += dfcode;;
break;
+
+ case AT45DB081:
+ dataflash_info[i].Device.pages_number = 4096;
+ dataflash_info[i].Device.pages_size = 264;
+ dataflash_info[i].Device.page_offset = 9;
+ dataflash_info[i].Device.byte_mask = 0x300;
+ dataflash_info[i].Device.cs = cs[i].cs;
+ dataflash_info[i].Desc.DataFlash_state = IDLE;
+ dataflash_info[i].logical_address = cs[i].addr;
+ dataflash_info[i].id = dfcode;
+ found[i] += dfcode;;
+ break;
+
case AT45DB161:
dataflash_info[i].Device.pages_number = 4096;
dataflash_info[i].Device.pages_size = 528;
diff --git a/include/dataflash.h b/include/dataflash.h
index 80f0633aa..de041397d 100644
--- a/include/dataflash.h
+++ b/include/dataflash.h
@@ -135,9 +135,9 @@ struct dataflash_addr {
int cs;
};
/*-------------------------------------------------------------------------------------------------*/
-
#define AT45DB161 0x2c
#define AT45DB021 0x14
+#define AT45DB081 0x24
#define AT45DB321 0x34
#define AT45DB642 0x3c
#define AT45DB128 0x10