This is an automated email from Gerrit.

Tomas Vanek ([email protected]) just uploaded a new patch set to Gerrit, which you 
can find at http://openocd.zylin.com/2958

-- gerrit

commit 797f029aa300be6c8f052d58f48efd7275d14d31
Author: Tomas Vanek <[email protected]>
Date:   Thu Sep 24 10:29:12 2015 +0200

    Kinetis: give a reasonable default for max_flash_prog_size
    
    max_flash_prog_size euals to pflash_sector_size_bytes for most of devices.
    There is no point setting max_flash_prog_size for devices without
    FS_PROGRAM_SECTOR capability.
    Check for zero sector_size to avoid div by zero exception in case of
    device has FlexNVM but the driver does not define nvm_sector_size_bytes
    
    Change-Id: Iaf4e007fb1ec3d24c373350410e4bebe504a4c3e
    Signed-off-by: Tomas Vanek <[email protected]>

diff --git a/src/flash/nor/kinetis.c b/src/flash/nor/kinetis.c
index 6485bc3..46591e9 100644
--- a/src/flash/nor/kinetis.c
+++ b/src/flash/nor/kinetis.c
@@ -1072,7 +1072,6 @@ static int kinetis_read_part_info(struct flash_bank *bank)
                        nvm_sector_size_bytes = 1<<10;
                        num_blocks = 2;
                        kinfo->flash_support = FS_PROGRAM_LONGWORD | 
FS_PROGRAM_SECTOR;
-                       kinfo->max_flash_prog_size = 1<<10;
                        break;
                case KINETIS_K_SDID_K10_M72:
                case KINETIS_K_SDID_K20_M72:
@@ -1102,7 +1101,6 @@ static int kinetis_read_part_info(struct flash_bank *bank)
                        nvm_sector_size_bytes = 2<<10;
                        num_blocks = 2;
                        kinfo->flash_support = FS_PROGRAM_LONGWORD | 
FS_PROGRAM_SECTOR;
-                       kinfo->max_flash_prog_size = 2<<10;
                        break;
                case KINETIS_K_SDID_K10_M120:
                case KINETIS_K_SDID_K20_M120:
@@ -1115,7 +1113,6 @@ static int kinetis_read_part_info(struct flash_bank *bank)
                        nvm_sector_size_bytes = 4<<10;
                        num_blocks = 4;
                        kinfo->flash_support = FS_PROGRAM_PHRASE | 
FS_PROGRAM_SECTOR;
-                       kinfo->max_flash_prog_size = 4<<10;
                        break;
                default:
                        LOG_ERROR("Unsupported K-family FAMID");
@@ -1151,7 +1148,6 @@ static int kinetis_read_part_info(struct flash_bank *bank)
                                pflash_sector_size_bytes = 4<<10;
                                num_blocks = 1;
                                kinfo->flash_support = FS_PROGRAM_LONGWORD;
-                               kinfo->max_flash_prog_size = 1<<10;
                                break;
                        default:
                                break;
@@ -1163,7 +1159,6 @@ static int kinetis_read_part_info(struct flash_bank *bank)
                        nvm_sector_size_bytes = 1<<10;
                        num_blocks = 1;
                        kinfo->flash_support = FS_PROGRAM_LONGWORD;
-                       kinfo->max_flash_prog_size = 1<<10;
                        break;
                default:
                        break;
@@ -1372,6 +1367,17 @@ static int kinetis_read_part_info(struct flash_bank 
*bank)
                bank->sectors = NULL;
        }
 
+       if (kinfo->sector_size == 0) {
+               LOG_ERROR("Unknown sector size for bank %d", bank->bank_number);
+               return ERROR_FLASH_BANK_INVALID;
+       }
+
+       if (kinfo->flash_support & FS_PROGRAM_SECTOR
+                        && kinfo->max_flash_prog_size == 0) {
+               kinfo->max_flash_prog_size = kinfo->sector_size;
+               /* Program section size is equal to sector size by default */
+       }
+
        bank->num_sectors = bank->size / kinfo->sector_size;
        assert(bank->num_sectors > 0);
        bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);

-- 

------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to