summaryrefslogtreecommitdiff
path: root/drivers/mtd/dataflash.c
diff options
context:
space:
mode:
authorUlf Samuelsson <ulf@atmel.com>2008-04-12 20:29:44 +0200
committerWolfgang Denk <wd@denx.de>2008-04-18 00:24:05 -0700
commitc3a60cb3bd67e120fc99b6ba88d9295c3c07f688 (patch)
tree5228c3ad76c8453b0a28fc81752b252c2e01e7e4 /drivers/mtd/dataflash.c
parent51ecde946fec511a16346e498204ca10ad71080d (diff)
downloadu-boot-imx-c3a60cb3bd67e120fc99b6ba88d9295c3c07f688.zip
u-boot-imx-c3a60cb3bd67e120fc99b6ba88d9295c3c07f688.tar.gz
u-boot-imx-c3a60cb3bd67e120fc99b6ba88d9295c3c07f688.tar.bz2
Clean up dataflash partitioning
This patch removes the board dependent parts from "drivers/mtd/dataflash.c". Each board relying on this, will have the appropriate code in a new file, "partition.c" in the board directory. board Makefiles updated to use the file. The dataflash partitions are aligned on sector/page boundaries. The CONFIG_NEW_DF_PARTITION was used to create named partitions This is now the default operation, and the CONFIG variable is removed. Signed-off-by: Ulf Samuelsson <ulf@atmel.com>
Diffstat (limited to 'drivers/mtd/dataflash.c')
-rw-r--r--drivers/mtd/dataflash.c45
1 files changed, 3 insertions, 42 deletions
diff --git a/drivers/mtd/dataflash.c b/drivers/mtd/dataflash.c
index d8f78f2..8247aa0 100644
--- a/drivers/mtd/dataflash.c
+++ b/drivers/mtd/dataflash.c
@@ -22,39 +22,8 @@
#include <asm/hardware.h>
#include <dataflash.h>
-AT91S_DATAFLASH_INFO dataflash_info[CFG_MAX_DATAFLASH_BANKS];
static AT91S_DataFlash DataFlashInst;
-struct dataflash_addr {
- unsigned long addr;
- int cs;
-};
-
-#if defined(CONFIG_AT91SAM9260EK)
-struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS] = {
- {CFG_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */
- {CFG_DATAFLASH_LOGIC_ADDR_CS1, 1}
-};
-#elif defined(CONFIG_AT91SAM9263EK) || defined(CONFIG_AT91CAP9ADK)
-struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS] = {
- {CFG_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */
-};
-#else
-struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS] = {
- {CFG_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */
- {CFG_DATAFLASH_LOGIC_ADDR_CS3, 3}
-};
-#endif
-
-/*define the area offsets*/
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
- {0x00000000, 0x000041FF, FLAG_PROTECT_SET, 0, "Bootstrap"},
- {0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
- {0x00008400, 0x0003DDFF, FLAG_PROTECT_SET, 0, "U-Boot"},
- {0x0003DE00, 0x0023DE3F, FLAG_PROTECT_CLEAR, 0, "Kernel"},
- {0x0023DE40, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0, "FS"},
-};
-
extern void AT91F_SpiInit (void);
extern int AT91F_DataflashProbe (int i, AT91PS_DataflashDesc pDesc);
extern int AT91F_DataFlashRead (AT91PS_DataFlash pDataFlash,
@@ -178,8 +147,7 @@ int AT91F_DataflashInit (void)
return found[0];
}
-#ifdef CONFIG_NEW_DF_PARTITION
-int AT91F_DataflashSetEnv (void)
+void AT91F_DataflashSetEnv (void)
{
int i, j;
int part;
@@ -194,14 +162,13 @@ int AT91F_DataflashSetEnv (void)
if((env & FLAG_SETENV) == FLAG_SETENV) {
start =
dataflash_info[i].Device.area_list[j].start;
- sprintf(s,"%X",start);
- setenv(area_list[part].label,s);
+ sprintf((char*) s,"%X",start);
+ setenv((char*) area_list[part].label,(char*) s);
}
part++;
}
}
}
-#endif
void dataflash_print_info (void)
{
@@ -244,16 +211,10 @@ void dataflash_print_info (void)
dataflash_info[i].Device.area_list[j].start,
dataflash_info[i].Device.area_list[j].end,
(dataflash_info[i].Device.area_list[j].protected==FLAG_PROTECT_SET) ? "(RO)" : " ");
-#ifdef CONFIG_NEW_DF_PARTITION
printf(" %s\n", dataflash_info[i].Device.area_list[j].label);
-#else
- printf("\n");
-#endif
break;
-#ifdef CONFIG_NEW_DF_PARTITION
case FLAG_PROTECT_INVALID:
break;
-#endif
}
}
}