diff options
| author | Sergey Lapin <slapin@ossfans.org> | 2008-08-09 01:39:09 +0400 | 
|---|---|---|
| committer | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2008-08-09 00:15:06 +0200 | 
| commit | f77d92a3f56d88e63cc02226a1204b3bdbac6961 (patch) | |
| tree | c512bdc2609401e18cc625f6faf89d882bc64f6c | |
| parent | 81091f58f0c58ecd26c5b05de2ae20ca6cdb521c (diff) | |
| download | olio-uboot-2014.01-f77d92a3f56d88e63cc02226a1204b3bdbac6961.tar.xz olio-uboot-2014.01-f77d92a3f56d88e63cc02226a1204b3bdbac6961.zip | |
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.c | 15 | ||||
| -rw-r--r-- | include/dataflash.h | 2 | 
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 |