summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Lapin <slapin@ossfans.org>2008-06-05 11:06:29 +0400
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2008-07-10 22:50:28 +0200
commitc6457e3b8bc79a97381cf7deffa08f7c5a24f86c (patch)
treeb7484c31084984d78738379c0533640111f027cb
parent4109df6f75fc00ab7da56d286ba50149a0d16a69 (diff)
DataFlash AT45DB021 support
Some boards based on AT91SAM926X-EK use smaller DF chips to keep bootstrap, u-boot and its environment, using NAND or other external storage for kernel and rootfs. This patch adds support for small 1024x263 chip. Signed-off-by: Sergey Lapin <slapin@ossfans.org>
-rw-r--r--drivers/mtd/dataflash.c14
-rw-r--r--include/dataflash.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/mtd/dataflash.c b/drivers/mtd/dataflash.c
index 8247aa03b..a092dc634 100644
--- a/drivers/mtd/dataflash.c
+++ b/drivers/mtd/dataflash.c
@@ -54,6 +54,17 @@ int AT91F_DataflashInit (void)
&dataflash_info[i].Desc);
switch (dfcode) {
+ case AT45DB021:
+ dataflash_info[i].Device.pages_number = 1024;
+ dataflash_info[i].Device.pages_size = 263;
+ 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;
@@ -178,6 +189,9 @@ void dataflash_print_info (void)
if (dataflash_info[i].id != 0) {
printf("DataFlash:");
switch (dataflash_info[i].id) {
+ case AT45DB021:
+ printf("AT45DB021\n");
+ break;
case AT45DB161:
printf("AT45DB161\n");
break;
diff --git a/include/dataflash.h b/include/dataflash.h
index f20c73868..80f0633aa 100644
--- a/include/dataflash.h
+++ b/include/dataflash.h
@@ -137,6 +137,7 @@ struct dataflash_addr {
/*-------------------------------------------------------------------------------------------------*/
#define AT45DB161 0x2c
+#define AT45DB021 0x14
#define AT45DB321 0x34
#define AT45DB642 0x3c
#define AT45DB128 0x10