DataFlash partition information has become a mess. This patch
defines a single partition scheme for Atmel DataFlashes. This partition
scheme will be used by all AT91CAP9 and AT91SAM9 boards.

Signed-off-by: Stelian Pop <[EMAIL PROTECTED]>
---
 drivers/mtd/dataflash.c |   55 +++++++---------------------------------------
 include/dataflash.h     |    6 +----
 2 files changed, 10 insertions(+), 51 deletions(-)

diff --git a/drivers/mtd/dataflash.c b/drivers/mtd/dataflash.c
index 36c99a0..79dc402 100644
--- a/drivers/mtd/dataflash.c
+++ b/drivers/mtd/dataflash.c
@@ -31,7 +31,7 @@ struct dataflash_addr {
        int cs;
 };
 
-#ifdef CONFIG_AT91SAM9260EK
+#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}
@@ -48,51 +48,13 @@ struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS] = {
 #endif
 
 /*define the area offsets*/
-#if defined(CONFIG_AT91SAM9261EK) || defined(CONFIG_AT91SAM9260EK) || \
-       defined(CONFIG_AT91SAM9263EK) || defined(CONFIG_AT91CAP9ADK)
-#if    defined(CONFIG_NEW_PARTITION)
 dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-       {0x00000000,    0x00003FFF,     FLAG_PROTECT_SET,       0,              
"Bootstrap"},   /* ROM code */
-       {0x00004200,    0x000083FF,     FLAG_PROTECT_CLEAR,     0,              
"Environment"}, /* u-boot environment */
-       {0x00008400,    0x0003DDFF,     FLAG_PROTECT_SET,       0,              
"U-Boot"},      /* u-boot code */
-       {0x0003DE00,    0x00041FFF,     FLAG_PROTECT_CLEAR,     FLAG_SETENV,    
"MON"},         /* Room for alternative boot monitor */
-       {0x00042000,    0x0018BFFF,     FLAG_PROTECT_CLEAR,     FLAG_SETENV,    
"OS"},          /* data area size to tune */
-       {0x0018C000,    0xFFFFFFFF,     FLAG_PROTECT_CLEAR,     FLAG_SETENV,    
"FS"},          /* data area size to tune */
+       {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"},
 };
-#else
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-       {0, 0x3fff, FLAG_PROTECT_SET},                  /* ROM code */
-       {0x4000, 0x7fff, FLAG_PROTECT_CLEAR},           /* u-boot environment */
-       {0x8000, 0x37fff, FLAG_PROTECT_SET},            /* u-boot code */
-       {0x38000, 0x1fffff, FLAG_PROTECT_CLEAR},        /* data area size to 
tune */
-};
-#endif
-#elif defined(CONFIG_NEW_PARTITION)
-/*define the area offsets*/
-/* Invalid partitions should be defined with start > end */
-dataflash_protect_t area_list[NB_DATAFLASH_AREA*CFG_MAX_DATAFLASH_BANKS] = {
-       {0x00000000, 0x000083ff, FLAG_PROTECT_SET,      0,              
"Bootstrap"},   /* ROM code */
-       {0x00008400, 0x00020fff, FLAG_PROTECT_SET,      0,              
"U-Boot"},      /* u-boot code */
-       {0x00021000, 0x000293ff, FLAG_PROTECT_CLEAR,    0,              
"Environment"}, /* u-boot environment 8Kb */
-       {0x00029400, 0x00041fff, FLAG_PROTECT_INVALID,  0,              
"<Unused>"},    /* Rest of Sector 1 */
-       {0x00042000, 0x0018Bfff, FLAG_PROTECT_CLEAR,    FLAG_SETENV,    "OS"},  
/* data area size to tune */
-       {0x0018C000, 0xffffffff, FLAG_PROTECT_CLEAR,    FLAG_SETENV,    "FS"},  
/* data area size to tune */
-
-       {0x00000000, 0xffffffff, FLAG_PROTECT_CLEAR,    FLAG_SETENV,    
"Data"},        /* data area */
-       {0xffffffff, 0x00000000, FLAG_PROTECT_INVALID,  0,              
"<Invalid>"},   /* Invalid */
-       {0xffffffff, 0x00000000, FLAG_PROTECT_INVALID,  0,              
"<Invalid>"},   /* Invalid */
-       {0xffffffff, 0x00000000, FLAG_PROTECT_INVALID,  0,              
"<Invalid>"},   /* Invalid */
-       {0xffffffff, 0x00000000, FLAG_PROTECT_INVALID,  0,              
"<Invalid>"},   /* Invalid */
-       {0xffffffff, 0x00000000, FLAG_PROTECT_INVALID,  0,              
"<Invalid>"},   /* Invalid */
-};
-#else
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-       {0, 0x7fff, FLAG_PROTECT_SET},                  /* ROM code */
-       {0x8000, 0x1ffff, FLAG_PROTECT_SET},            /* u-boot code */
-       {0x20000, 0x27fff, FLAG_PROTECT_CLEAR},         /* u-boot environment */
-       {0x28000, 0x1fffff, FLAG_PROTECT_CLEAR},        /* data area size to 
tune */
-};
-#endif
 
 extern void AT91F_SpiInit (void);
 extern int AT91F_DataflashProbe (int i, AT91PS_DataflashDesc pDesc);
@@ -108,7 +70,7 @@ int AT91F_DataflashInit (void)
 {
        int i, j;
        int dfcode;
-       int part = 0;
+       int part;
        int last_part;
        int found[CFG_MAX_DATAFLASH_BANKS];
        unsigned char protected;
@@ -181,7 +143,8 @@ int AT91F_DataflashInit (void)
                                (dataflash_info[i].Device.pages_number *
                                dataflash_info[i].Device.pages_size)-1;
 
-               last_part=0;
+               part = 0;
+               last_part = 0;
                /* set the area addresses */
                for(j = 0; j<NB_DATAFLASH_AREA; j++) {
                        if(found[i]!=0) {
diff --git a/include/dataflash.h b/include/dataflash.h
index fbd5e17..68f0324 100644
--- a/include/dataflash.h
+++ b/include/dataflash.h
@@ -38,11 +38,7 @@
 #include "config.h"
 
 /*number of protected area*/
-#ifdef CONFIG_NEW_PARTITION
-# define NB_DATAFLASH_AREA     6
-#else
-# define NB_DATAFLASH_AREA     4
-#endif
+#define NB_DATAFLASH_AREA              5
 
 #ifdef CFG_NO_FLASH
 
-- 
1.5.3.3


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
U-Boot-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to