]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
st_smi: Removed no needed dependency on ST_M25Pxx_ID
authorArmando Visconti <armando.visconti@st.com>
Mon, 7 May 2012 07:30:26 +0000 (13:00 +0530)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 7 Jul 2012 12:07:39 +0000 (14:07 +0200)
Since the smi erase code is very generic and works for any kind
of flash, there is no need to test for ST_M25Pxx_ID flash types
like m25p40 flashes).

Signed-off-by: Armando Visconti <armando.visconti@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Signed-off-by: Stefan Roese <sr@denx.de>
drivers/mtd/st_smi.c

index 38f22b736e6e657e3ef8095f825280d958c7cd3d..83a57d29945ce9ee3f6cccbb2bb7a09d1050adf9 100644 (file)
@@ -37,8 +37,6 @@ static ulong bank_base[CONFIG_SYS_MAX_FLASH_BANKS] =
     CONFIG_SYS_FLASH_ADDR_BASE;
 flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];
 
-#define ST_M25Pxx_ID           0x00002020
-
 static struct flash_dev flash_ids[] = {
        {0x10, 0x10000, 2},     /* 64K Byte */
        {0x11, 0x20000, 4},     /* 128K Byte */
@@ -287,39 +285,32 @@ static int smi_sector_erase(flash_info_t *info, unsigned int sector)
 
        writel(readl(&smicntl->smi_sr) & ~(ERF1 | ERF2), &smicntl->smi_sr);
 
-       if (info->flash_id == ST_M25Pxx_ID) {
-               /* Wait until finished previous write command. */
-               if (smi_wait_till_ready(bank, CONFIG_SYS_FLASH_ERASE_TOUT))
-                       return -EBUSY;
+       /* Wait until finished previous write command. */
+       if (smi_wait_till_ready(bank, CONFIG_SYS_FLASH_ERASE_TOUT))
+               return -EBUSY;
 
-               /* Send write enable, before erase commands. */
-               if (smi_write_enable(bank))
-                       return -EIO;
+       /* Send write enable, before erase commands. */
+       if (smi_write_enable(bank))
+               return -EIO;
 
-               /* Put SMI in SW mode */
-               writel(readl(&smicntl->smi_cr1) | SW_MODE, &smicntl->smi_cr1);
+       /* Put SMI in SW mode */
+       writel(readl(&smicntl->smi_cr1) | SW_MODE, &smicntl->smi_cr1);
 
-               /* Send Sector Erase command in SW Mode */
-               writel(instruction, &smicntl->smi_tr);
-               writel((bank << BANKSEL_SHIFT) | SEND | TX_LEN_4,
+       /* Send Sector Erase command in SW Mode */
+       writel(instruction, &smicntl->smi_tr);
+       writel((bank << BANKSEL_SHIFT) | SEND | TX_LEN_4,
                       &smicntl->smi_cr2);
-               if (smi_wait_xfer_finish(XFER_FINISH_TOUT))
-                       return -EIO;
+       if (smi_wait_xfer_finish(XFER_FINISH_TOUT))
+               return -EIO;
 
-               if (smi_wait_till_ready(bank, CONFIG_SYS_FLASH_ERASE_TOUT))
-                       return -EBUSY;
+       if (smi_wait_till_ready(bank, CONFIG_SYS_FLASH_ERASE_TOUT))
+               return -EBUSY;
 
-               /* Put SMI in HW mode */
-               writel(readl(&smicntl->smi_cr1) & ~SW_MODE,
+       /* Put SMI in HW mode */
+       writel(readl(&smicntl->smi_cr1) & ~SW_MODE,
                       &smicntl->smi_cr1);
 
-               return 0;
-       } else {
-               /* Put SMI in HW mode */
-               writel(readl(&smicntl->smi_cr1) & ~SW_MODE,
-                      &smicntl->smi_cr1);
-               return -EINVAL;
-       }
+       return 0;
 }
 
 /*
@@ -496,11 +487,6 @@ int flash_erase(flash_info_t *info, int s_first, int s_last)
        int prot = 0;
        flash_sect_t sect;
 
-       if (info->flash_id != ST_M25Pxx_ID) {
-               puts("Can't erase unknown flash type - aborted\n");
-               return 1;
-       }
-
        if ((s_first < 0) || (s_first > s_last)) {
                puts("- no sectors to erase\n");
                return 1;