diff options
author | Ulf Samuelsson <ulf@atmel.com> | 2008-04-12 20:29:44 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-04-18 00:24:05 -0700 |
commit | c3a60cb3bd67e120fc99b6ba88d9295c3c07f688 (patch) | |
tree | 5228c3ad76c8453b0a28fc81752b252c2e01e7e4 /drivers/mtd/dataflash.c | |
parent | 51ecde946fec511a16346e498204ca10ad71080d (diff) | |
download | u-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.c | 45 |
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 } } } |