]> git.sur5r.net Git - openocd/commitdiff
build: cleanup src/flash/nor directory
authorSpencer Oliver <spen@spen-soft.co.uk>
Tue, 31 Jan 2012 17:55:03 +0000 (17:55 +0000)
committerSpencer Oliver <spen@spen-soft.co.uk>
Mon, 6 Feb 2012 10:54:14 +0000 (10:54 +0000)
Change-Id: Ic299de969ce566282c055ba4dd8b94892c4c4311
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/420
Tested-by: jenkins
36 files changed:
src/flash/nor/aduc702x.c
src/flash/nor/at91sam3.c
src/flash/nor/at91sam7.c
src/flash/nor/avrf.c
src/flash/nor/cfi.c
src/flash/nor/cfi.h
src/flash/nor/core.c
src/flash/nor/core.h
src/flash/nor/driver.h
src/flash/nor/drivers.c
src/flash/nor/dsp5680xx_flash.c
src/flash/nor/ecos.c
src/flash/nor/em357.c
src/flash/nor/faux.c
src/flash/nor/fm3.c
src/flash/nor/imp.h
src/flash/nor/kinetis.c
src/flash/nor/lpc2000.c
src/flash/nor/lpc288x.c
src/flash/nor/lpc2900.c
src/flash/nor/non_cfi.c
src/flash/nor/non_cfi.h
src/flash/nor/ocl.c
src/flash/nor/ocl.h
src/flash/nor/pic32mx.c
src/flash/nor/stellaris.c
src/flash/nor/stm32f1x.c
src/flash/nor/stm32f2x.c
src/flash/nor/stm32lx.c
src/flash/nor/stmsmi.c
src/flash/nor/str7x.c
src/flash/nor/str9x.c
src/flash/nor/str9xpec.c
src/flash/nor/tcl.c
src/flash/nor/tms470.c
src/flash/nor/virtual.c

index 02270aefbdc3adb3bc60a7229166122304d0760d..dde4e69d454b41415fb94b474a1a0e29ed975a66 100644 (file)
 #include <target/algorithm.h>
 #include <target/arm.h>
 
-
 static int aduc702x_build_sector_list(struct flash_bank *bank);
-static int aduc702x_check_flash_completion(struct targettarget, unsigned int timeout_ms);
+static int aduc702x_check_flash_completion(struct target *target, unsigned int timeout_ms);
 static int aduc702x_set_write_enable(struct target *target, int enable);
 
-#define ADUC702x_FLASH                         0xfffff800
-#define ADUC702x_FLASH_FEESTA          (0*4)
-#define ADUC702x_FLASH_FEEMOD          (1*4)
-#define ADUC702x_FLASH_FEECON          (2*4)
-#define ADUC702x_FLASH_FEEDAT          (3*4)
-#define ADUC702x_FLASH_FEEADR          (4*4)
-#define ADUC702x_FLASH_FEESIGN         (5*4)
-#define ADUC702x_FLASH_FEEPRO          (6*4)
-#define ADUC702x_FLASH_FEEHIDE         (7*4)
+#define ADUC702x_FLASH                          0xfffff800
+#define ADUC702x_FLASH_FEESTA           (0*4)
+#define ADUC702x_FLASH_FEEMOD           (1*4)
+#define ADUC702x_FLASH_FEECON           (2*4)
+#define ADUC702x_FLASH_FEEDAT           (3*4)
+#define ADUC702x_FLASH_FEEADR           (4*4)
+#define ADUC702x_FLASH_FEESIGN          (5*4)
+#define ADUC702x_FLASH_FEEPRO           (6*4)
+#define ADUC702x_FLASH_FEEHIDE          (7*4)
 
 struct aduc702x_flash_bank {
        struct working_area *write_algorithm;
@@ -56,33 +55,32 @@ FLASH_BANK_COMMAND_HANDLER(aduc702x_flash_bank_command)
 
        nbank = malloc(sizeof(struct aduc702x_flash_bank));
 
-        bank->base = 0x80000;
-        bank->size = 0xF800; // top 4k not accessible
+       bank->base = 0x80000;
+       bank->size = 0xF800;    /* top 4k not accessible */
        bank->driver_priv = nbank;
 
-        aduc702x_build_sector_list(bank);
+       aduc702x_build_sector_list(bank);
 
-        return ERROR_OK;
+       return ERROR_OK;
 }
 
 static int aduc702x_build_sector_list(struct flash_bank *bank)
 {
-       //aduc7026_struct flash_bank *aduc7026_info = bank->driver_priv;
-
-        int i = 0;
-        uint32_t offset = 0;
-
-        // sector size is 512
-        bank->num_sectors = bank->size / 512;
-        bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
-        for (i = 0; i < bank->num_sectors; ++i)
-        {
-                bank->sectors[i].offset = offset;
-                bank->sectors[i].size = 512;
-                offset += bank->sectors[i].size;
-                bank->sectors[i].is_erased = -1;
-                bank->sectors[i].is_protected = 0;
-        }
+       /* aduc7026_struct flash_bank *aduc7026_info = bank->driver_priv; */
+
+       int i = 0;
+       uint32_t offset = 0;
+
+       /* sector size is 512 */
+       bank->num_sectors = bank->size / 512;
+       bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
+       for (i = 0; i < bank->num_sectors; ++i) {
+               bank->sectors[i].offset = offset;
+               bank->sectors[i].size = 512;
+               offset += bank->sectors[i].size;
+               bank->sectors[i].is_erased = -1;
+               bank->sectors[i].is_protected = 0;
+       }
 
        return ERROR_OK;
 }
@@ -95,13 +93,13 @@ static int aduc702x_protect_check(struct flash_bank *bank)
 
 static int aduc702x_erase(struct flash_bank *bank, int first, int last)
 {
-        //int res;
+       /* int res; */
        int x;
        int count;
-       //uint32_t v;
+       /* uint32_t v; */
        struct target *target = bank->target;
 
-        aduc702x_set_write_enable(target, 1);
+       aduc702x_set_write_enable(target, 1);
 
        /* mass erase */
        if (((first | last) == 0) || ((first == 0) && (last >= bank->num_sectors))) {
@@ -110,38 +108,35 @@ static int aduc702x_erase(struct flash_bank *bank, int first, int last)
                target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEADR, 0xffc3);
                target_write_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEECON, 0x06);
 
-                if (aduc702x_check_flash_completion(target, 3500) != ERROR_OK)
-               {
+               if (aduc702x_check_flash_completion(target, 3500) != ERROR_OK) {
                        LOG_ERROR("mass erase failed");
-                        aduc702x_set_write_enable(target, 0);
+                       aduc702x_set_write_enable(target, 0);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
 
                LOG_DEBUG("mass erase successful.");
                return ERROR_OK;
        } else {
-                unsigned long adr;
+               unsigned long adr;
 
-                count = last - first + 1;
-                for (x = 0; x < count; ++x)
-                {
-                        adr = bank->base + ((first + x) * 512);
+               count = last - first + 1;
+               for (x = 0; x < count; ++x) {
+                       adr = bank->base + ((first + x) * 512);
 
-                        target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEADR, adr);
-                        target_write_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEECON, 0x05);
+                       target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEADR, adr);
+                       target_write_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEECON, 0x05);
 
-                        if (aduc702x_check_flash_completion(target, 50) != ERROR_OK)
-                        {
-                                LOG_ERROR("failed to erase sector at address 0x%08lX", adr);
-                                aduc702x_set_write_enable(target, 0);
-                                return ERROR_FLASH_SECTOR_NOT_ERASED;
-                        }
+                       if (aduc702x_check_flash_completion(target, 50) != ERROR_OK) {
+                               LOG_ERROR("failed to erase sector at address 0x%08lX", adr);
+                               aduc702x_set_write_enable(target, 0);
+                               return ERROR_FLASH_SECTOR_NOT_ERASED;
+                       }
 
-                        LOG_DEBUG("erased sector at address 0x%08lX", adr);
-                }
-        }
+                       LOG_DEBUG("erased sector at address 0x%08lX", adr);
+               }
+       }
 
-        aduc702x_set_write_enable(target, 0);
+       aduc702x_set_write_enable(target, 0);
 
        return ERROR_OK;
 }
@@ -157,7 +152,10 @@ static int aduc702x_protect(struct flash_bank *bank, int set, int first, int las
  *
  * Caller should not check for other return values specifically
  */
-static int aduc702x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
+static int aduc702x_write_block(struct flash_bank *bank,
+       uint8_t *buffer,
+       uint32_t offset,
+       uint32_t count)
 {
        struct aduc702x_flash_bank *aduc702x_info = bank->driver_priv;
        struct target *target = bank->target;
@@ -168,71 +166,66 @@ static int aduc702x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32
        struct arm_algorithm armv4_5_info;
        int retval = ERROR_OK;
 
-       if (((count%2)!=0)||((offset%2)!=0))
-       {
+       if (((count%2) != 0) || ((offset%2) != 0)) {
                LOG_ERROR("write block must be multiple of two bytes in offset & length");
                return ERROR_FAIL;
        }
 
-        /* parameters:
-
-        r0 - address of source data (absolute)
-        r1 - number of halfwords to be copied
-        r2 - start address in flash (offset from beginning of flash memory)
-        r3 - exit code
-        r4 - base address of flash controller (0xFFFFF800)
-
-        registers:
-
-        r5 - scratch
-        r6 - set to 2, used to write flash command
-
-        */
-        static const uint32_t aduc702x_flash_write_code[] = {
-        //<_start>:
-                0xe3a05008,    // mov  r5, #8  ; 0x8
-                0xe5845004,    // str  r5, [r4, #4]
-                0xe3a06002,    // mov  r6, #2  ; 0x2
-        //<next>:
-                0xe1c421b0,    // strh r2, [r4, #16]
-                0xe0d050b2,    // ldrh r5, [r0], #2
-                0xe1c450bc,    // strh r5, [r4, #12]
-                0xe5c46008,    // strb r6, [r4, #8]
-        //<wait_complete>:
-                0xe1d430b0,    // ldrh r3, [r4]
-                0xe3130004,    // tst  r3, #4  ; 0x4
-                0x1afffffc,    // bne  1001c <wait_complete>
-                0xe2822002,    // add  r2, r2, #2      ; 0x2
-                0xe2511001,    // subs r1, r1, #1      ; 0x1
-                0x0a000001,    // beq  1003c <done>
-                0xe3130001,    // tst  r3, #1  ; 0x1
-                0x1afffff3,    // bne  1000c <next>
-        //<done>:
-                0xeafffffe     // b    1003c <done>
+       /* parameters:
+
+       r0 - address of source data (absolute)
+       r1 - number of halfwords to be copied
+       r2 - start address in flash (offset from beginning of flash memory)
+       r3 - exit code
+       r4 - base address of flash controller (0xFFFFF800)
+
+       registers:
+
+       r5 - scratch
+       r6 - set to 2, used to write flash command
+
+       */
+       static const uint32_t aduc702x_flash_write_code[] = {
+               /* <_start>: */
+               0xe3a05008,     /* mov  r5, #8  ; 0x8 */
+               0xe5845004,     /* str  r5, [r4, #4] */
+               0xe3a06002,     /* mov  r6, #2  ; 0x2 */
+               /* <next>: */
+               0xe1c421b0,     /* strh r2, [r4, #16] */
+               0xe0d050b2,     /* ldrh r5, [r0], #2 */
+               0xe1c450bc,     /* strh r5, [r4, #12] */
+               0xe5c46008,     /* strb r6, [r4, #8] */
+               /* <wait_complete>: */
+               0xe1d430b0,     /* ldrh r3, [r4] */
+               0xe3130004,     /* tst  r3, #4  ; 0x4 */
+               0x1afffffc,     /* bne  1001c <wait_complete> */
+               0xe2822002,     /* add  r2, r2, #2      ; 0x2 */
+               0xe2511001,     /* subs r1, r1, #1      ; 0x1 */
+               0x0a000001,     /* beq  1003c <done> */
+               0xe3130001,     /* tst  r3, #1  ; 0x1 */
+               0x1afffff3,     /* bne  1000c <next> */
+               /* <done>: */
+               0xeafffffe      /* b    1003c <done> */
        };
 
        /* flash write code */
        if (target_alloc_working_area(target, sizeof(aduc702x_flash_write_code),
-                &aduc702x_info->write_algorithm) != ERROR_OK)
-       {
+                       &aduc702x_info->write_algorithm) != ERROR_OK) {
                LOG_WARNING("no working area available, can't do block memory writes");
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
-       };
+       }
 
-       retval=target_write_buffer(target, aduc702x_info->write_algorithm->address,
-                sizeof(aduc702x_flash_write_code), (uint8_t*)aduc702x_flash_write_code);
-       if (retval!=ERROR_OK)
-       {
+       retval = target_write_buffer(target, aduc702x_info->write_algorithm->address,
+                       sizeof(aduc702x_flash_write_code), (uint8_t *)aduc702x_flash_write_code);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        /* memory buffer */
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= 256)
-               {
-                       /* if we already allocated the writing code, but failed to get a buffer, free the algorithm */
+               if (buffer_size <= 256) {
+                       /* if we already allocated the writing code, but failed to get a buffer,
+                        *free the algorithm */
                        if (aduc702x_info->write_algorithm)
                                target_free_working_area(target, aduc702x_info->write_algorithm);
 
@@ -251,32 +244,29 @@ static int aduc702x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32
        init_reg_param(&reg_params[3], "r3", 32, PARAM_IN);
        init_reg_param(&reg_params[4], "r4", 32, PARAM_OUT);
 
-       while (count > 0)
-       {
+       while (count > 0) {
                uint32_t thisrun_count = (count > buffer_size) ? buffer_size : count;
 
-               retval=target_write_buffer(target, source->address, thisrun_count, buffer);
-               if (retval!=ERROR_OK)
-               {
+               retval = target_write_buffer(target, source->address, thisrun_count, buffer);
+               if (retval != ERROR_OK)
                        break;
-               }
 
                buf_set_u32(reg_params[0].value, 0, 32, source->address);
                buf_set_u32(reg_params[1].value, 0, 32, thisrun_count/2);
                buf_set_u32(reg_params[2].value, 0, 32, address);
                buf_set_u32(reg_params[4].value, 0, 32, 0xFFFFF800);
 
-               if ((retval = target_run_algorithm(target, 0, NULL, 5,
-                        reg_params, aduc702x_info->write_algorithm->address,
-                        aduc702x_info->write_algorithm->address + sizeof(aduc702x_flash_write_code) - 4,
-                        10000, &armv4_5_info)) != ERROR_OK)
-               {
+               retval = target_run_algorithm(target, 0, NULL, 5,
+                               reg_params, aduc702x_info->write_algorithm->address,
+                               aduc702x_info->write_algorithm->address +
+                               sizeof(aduc702x_flash_write_code) - 4,
+                               10000, &armv4_5_info);
+               if (retval != ERROR_OK) {
                        LOG_ERROR("error executing aduc702x flash write algorithm");
                        break;
                }
 
-               if ((buf_get_u32(reg_params[3].value, 0, 32) & 1) != 1)
-               {
+               if ((buf_get_u32(reg_params[3].value, 0, 32) & 1) != 1) {
                        /* FIX!!!! what does this mean??? replace w/sensible error message */
                        LOG_ERROR("aduc702x detected error writing flash");
                        retval = ERROR_FAIL;
@@ -302,43 +292,44 @@ static int aduc702x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32
 
 /* All-JTAG, single-access method.  Very slow.  Used only if there is no
  * working area available. */
-static int aduc702x_write_single(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
+static int aduc702x_write_single(struct flash_bank *bank,
+       uint8_t *buffer,
+       uint32_t offset,
+       uint32_t count)
 {
        uint32_t x;
-        uint8_t b;
+       uint8_t b;
        struct target *target = bank->target;
 
-        aduc702x_set_write_enable(target, 1);
+       aduc702x_set_write_enable(target, 1);
 
        for (x = 0; x < count; x += 2) {
-                // FEEADR = address
+               /* FEEADR = address */
                target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEADR, offset + x);
 
-                // set up data
-               if ((x + 1) == count)
-                {
-                        // last byte
-                        target_read_u8(target, offset + x + 1, &b);
-                }
-                else
-                        b = buffer[x + 1];
+               /* set up data */
+               if ((x + 1) == count) {
+                       /* last byte */
+                       target_read_u8(target, offset + x + 1, &b);
+               } else
+                       b = buffer[x + 1];
 
-                target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEDAT, buffer[x] | (b << 8));
+               target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEDAT, buffer[x] | (b << 8));
 
-                // do single-write command
+               /* do single-write command */
                target_write_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEECON, 0x02);
 
-                if (aduc702x_check_flash_completion(target, 1) != ERROR_OK)
-                {
-                       LOG_ERROR("single write failed for address 0x%08lX", (unsigned long)(offset + x));
-                        aduc702x_set_write_enable(target, 0);
+               if (aduc702x_check_flash_completion(target, 1) != ERROR_OK) {
+                       LOG_ERROR("single write failed for address 0x%08lX",
+                               (unsigned long)(offset + x));
+                       aduc702x_set_write_enable(target, 0);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
 
        }
-        LOG_DEBUG("wrote %d bytes at address 0x%08lX", (int)count, (unsigned long)(offset + x));
+       LOG_DEBUG("wrote %d bytes at address 0x%08lX", (int)count, (unsigned long)(offset + x));
 
-        aduc702x_set_write_enable(target, 0);
+       aduc702x_set_write_enable(target, 0);
 
        return ERROR_OK;
 }
@@ -347,24 +338,23 @@ static int aduc702x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t off
 {
        int retval;
 
-        /* try using a block write */
-        if ((retval = aduc702x_write_block(bank, buffer, offset, count)) != ERROR_OK)
-        {
-                if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
-                {
-                        /* if block write failed (no sufficient working area),
-                         * use normal (slow) JTAG method */
-                        LOG_WARNING("couldn't use block writes, falling back to single memory accesses");
-
-                        if ((retval = aduc702x_write_single(bank, buffer, offset, count)) != ERROR_OK)
-                        {
-                                LOG_ERROR("slow write failed");
-                                return ERROR_FLASH_OPERATION_FAILED;
-                        }
-                }
-        }
-
-        return retval;
+       /* try using a block write */
+       retval = aduc702x_write_block(bank, buffer, offset, count);
+       if (retval != ERROR_OK) {
+               if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
+                       /* if block write failed (no sufficient working area),
+                        * use normal (slow) JTAG method */
+                       LOG_WARNING("couldn't use block writes, falling back to single memory accesses");
+
+                       retval = aduc702x_write_single(bank, buffer, offset, count);
+                       if (retval != ERROR_OK) {
+                               LOG_ERROR("slow write failed");
+                               return ERROR_FLASH_OPERATION_FAILED;
+                       }
+               }
+       }
+
+       return retval;
 }
 
 static int aduc702x_probe(struct flash_bank *bank)
@@ -382,10 +372,10 @@ static int aduc702x_info(struct flash_bank *bank, char *buf, int buf_size)
  * enable = 1 enables writes & erases, 0 disables them */
 static int aduc702x_set_write_enable(struct target *target, int enable)
 {
-        // don't bother to preserve int enable bit here
-        target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEMOD, enable ? 8 : 0);
+       /* don't bother to preserve int enable bit here */
+       target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEMOD, enable ? 8 : 0);
 
-        return ERROR_OK;
+       return ERROR_OK;
 }
 
 /* wait up to timeout_ms for controller to not be busy,
@@ -393,22 +383,27 @@ static int aduc702x_set_write_enable(struct target *target, int enable)
  *
  * this function sleeps 1ms between checks (after the first one),
  * so in some cases may slow things down without a usleep after the first read */
-static int aduc702x_check_flash_completion(struct targettarget, unsigned int timeout_ms)
+static int aduc702x_check_flash_completion(struct target *target, unsigned int timeout_ms)
 {
-        uint8_t v = 4;
-
-        long long endtime = timeval_ms() + timeout_ms;
-        while (1) {
-                target_read_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEESTA, &v);
-                if ((v & 4) == 0) break;
-                alive_sleep(1);
-                if (timeval_ms() >= endtime) break;
-        }
-
-        if (v & 2) return ERROR_FAIL;
-        // if a command is ignored, both the success and fail bits may be 0
-        else if ((v & 3) == 0) return ERROR_FAIL;
-        else return ERROR_OK;
+       uint8_t v = 4;
+
+       long long endtime = timeval_ms() + timeout_ms;
+       while (1) {
+               target_read_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEESTA, &v);
+               if ((v & 4) == 0)
+                       break;
+               alive_sleep(1);
+               if (timeval_ms() >= endtime)
+                       break;
+       }
+
+       if (v & 2)
+               return ERROR_FAIL;
+       /* if a command is ignored, both the success and fail bits may be 0 */
+       else if ((v & 3) == 0)
+               return ERROR_FAIL;
+       else
+               return ERROR_OK;
 }
 
 struct flash_driver aduc702x_flash = {
index 21bfa39c3492a2a52a9194cbcd322a697679febd..b5074de7ca700c37a9c7081fa34a1503e3551a0f 100644 (file)
 #include "config.h"
 #endif
 
-
 #include "imp.h"
 #include <helper/time_support.h>
 
 #define REG_NAME_WIDTH  (12)
 
-// at91sam3u series (has one or two flash banks)
+/* at91sam3u series (has one or two flash banks) */
 #define FLASH_BANK0_BASE_U   0x00080000
 #define FLASH_BANK1_BASE_U   0x00100000
 
-// at91sam3s series (has always one flash bank)
+/* at91sam3s series (has always one flash bank) */
 #define FLASH_BANK_BASE_S   0x00400000
 
-// at91sam3n series (has always one flash bank)
+/* at91sam3n series (has always one flash bank) */
 #define FLASH_BANK_BASE_N   0x00400000
 
-#define        AT91C_EFC_FCMD_GETD                 (0x0) // (EFC) Get Flash Descriptor
-#define        AT91C_EFC_FCMD_WP                   (0x1) // (EFC) Write Page
-#define        AT91C_EFC_FCMD_WPL                  (0x2) // (EFC) Write Page and Lock
-#define        AT91C_EFC_FCMD_EWP                  (0x3) // (EFC) Erase Page and Write Page
-#define        AT91C_EFC_FCMD_EWPL                 (0x4) // (EFC) Erase Page and Write Page then Lock
-#define        AT91C_EFC_FCMD_EA                   (0x5) // (EFC) Erase All
-// cmd6 is not present int he at91sam3u4/2/1 data sheet table 17-2
-// #define     AT91C_EFC_FCMD_EPL                  (0x6) // (EFC) Erase plane?
-// cmd7 is not present int he at91sam3u4/2/1 data sheet table 17-2
-// #define     AT91C_EFC_FCMD_EPA                  (0x7) // (EFC) Erase pages?
-#define        AT91C_EFC_FCMD_SLB                  (0x8) // (EFC) Set Lock Bit
-#define        AT91C_EFC_FCMD_CLB                  (0x9) // (EFC) Clear Lock Bit
-#define        AT91C_EFC_FCMD_GLB                  (0xA) // (EFC) Get Lock Bit
-#define        AT91C_EFC_FCMD_SFB                  (0xB) // (EFC) Set Fuse Bit
-#define        AT91C_EFC_FCMD_CFB                  (0xC) // (EFC) Clear Fuse Bit
-#define        AT91C_EFC_FCMD_GFB                  (0xD) // (EFC) Get Fuse Bit
-#define        AT91C_EFC_FCMD_STUI                 (0xE) // (EFC) Start Read Unique ID
-#define        AT91C_EFC_FCMD_SPUI                 (0xF) // (EFC) Stop Read Unique ID
+#define         AT91C_EFC_FCMD_GETD                 (0x0)      /* (EFC) Get Flash Descriptor */
+#define         AT91C_EFC_FCMD_WP                   (0x1)      /* (EFC) Write Page */
+#define         AT91C_EFC_FCMD_WPL                  (0x2)      /* (EFC) Write Page and Lock */
+#define         AT91C_EFC_FCMD_EWP                  (0x3)      /* (EFC) Erase Page and Write Page */
+#define         AT91C_EFC_FCMD_EWPL                 (0x4)      /* (EFC) Erase Page and Write Page
+                                                                * then Lock */
+#define         AT91C_EFC_FCMD_EA                   (0x5)      /* (EFC) Erase All */
+/* cmd6 is not present int he at91sam3u4/2/1 data sheet table 17-2 */
+/* #define      AT91C_EFC_FCMD_EPL                  (0x6) // (EFC) Erase plane? */
+/* cmd7 is not present int he at91sam3u4/2/1 data sheet table 17-2 */
+/* #define      AT91C_EFC_FCMD_EPA                  (0x7) // (EFC) Erase pages? */
+#define         AT91C_EFC_FCMD_SLB                  (0x8)      /* (EFC) Set Lock Bit */
+#define         AT91C_EFC_FCMD_CLB                  (0x9)      /* (EFC) Clear Lock Bit */
+#define         AT91C_EFC_FCMD_GLB                  (0xA)      /* (EFC) Get Lock Bit */
+#define         AT91C_EFC_FCMD_SFB                  (0xB)      /* (EFC) Set Fuse Bit */
+#define         AT91C_EFC_FCMD_CFB                  (0xC)      /* (EFC) Clear Fuse Bit */
+#define         AT91C_EFC_FCMD_GFB                  (0xD)      /* (EFC) Get Fuse Bit */
+#define         AT91C_EFC_FCMD_STUI                 (0xE)      /* (EFC) Start Read Unique ID */
+#define         AT91C_EFC_FCMD_SPUI                 (0xF)      /* (EFC) Stop Read Unique ID */
 
 #define  offset_EFC_FMR   0
 #define  offset_EFC_FCR   4
 #define  offset_EFC_FSR   8
 #define  offset_EFC_FRR   12
 
-
 extern struct flash_driver at91sam3_flash;
 
-static float
-_tomhz(uint32_t freq_hz)
+static float _tomhz(uint32_t freq_hz)
 {
        float f;
 
@@ -112,7 +110,7 @@ _tomhz(uint32_t freq_hz)
        return f;
 }
 
-// How the chip is configured.
+/* How the chip is configured. */
 struct sam3_cfg {
        uint32_t unique_id[4];
 
@@ -179,15 +177,15 @@ struct sam3_cfg {
 
 struct sam3_bank_private {
        int probed;
-       // DANGER: THERE ARE DRAGONS HERE..
-       // NOTE: If you add more 'ghost' pointers
-       // be aware that you must *manually* update
-       // these pointers in the function sam3_GetDetails()
-       // See the comment "Here there be dragons"
+       /* DANGER: THERE ARE DRAGONS HERE.. */
+       /* NOTE: If you add more 'ghost' pointers */
+       /* be aware that you must *manually* update */
+       /* these pointers in the function sam3_GetDetails() */
+       /* See the comment "Here there be dragons" */
 
-       // so we can find the chip we belong to
+       /* so we can find the chip we belong to */
        struct sam3_chip *pChip;
-       // so we can find the orginal bank pointer
+       /* so we can find the orginal bank pointer */
        struct flash_bank *pBank;
        unsigned bank_number;
        uint32_t controller_address;
@@ -201,33 +199,32 @@ struct sam3_bank_private {
 };
 
 struct sam3_chip_details {
-       // THERE ARE DRAGONS HERE..
-       // note: If you add pointers here
-       // becareful about them as they
-       // may need to be updated inside
-       // the function: "sam3_GetDetails()
-       // which copy/overwrites the
-       // 'runtime' copy of this structure
+       /* THERE ARE DRAGONS HERE.. */
+       /* note: If you add pointers here */
+       /* becareful about them as they */
+       /* may need to be updated inside */
+       /* the function: "sam3_GetDetails() */
+       /* which copy/overwrites the */
+       /* 'runtime' copy of this structure */
        uint32_t chipid_cidr;
        const char *name;
 
        unsigned n_gpnvms;
 #define SAM3_N_NVM_BITS 3
-       unsigned  gpnvm[SAM3_N_NVM_BITS];
-       unsigned  total_flash_size;
-       unsigned  total_sram_size;
-       unsigned  n_banks;
+       unsigned gpnvm[SAM3_N_NVM_BITS];
+       unsigned total_flash_size;
+       unsigned total_sram_size;
+       unsigned n_banks;
 #define SAM3_MAX_FLASH_BANKS 2
-       // these are "initialized" from the global const data
+       /* these are "initialized" from the global const data */
        struct sam3_bank_private bank[SAM3_MAX_FLASH_BANKS];
 };
 
-
 struct sam3_chip {
        struct sam3_chip *next;
-       int    probed;
+       int probed;
 
-       // this is "initialized" from the global const structure
+       /* this is "initialized" from the global const structure */
        struct sam3_chip_details details;
        struct target *target;
        struct sam3_cfg cfg;
@@ -239,11 +236,9 @@ struct sam3_reg_list {
        void (*explain_func)(struct sam3_chip *pInfo);
 };
 
-
 static struct sam3_chip *all_sam3_chips;
 
-static struct sam3_chip *
-get_current_sam3(struct command_context *cmd_ctx)
+static struct sam3_chip *get_current_sam3(struct command_context *cmd_ctx)
 {
        struct target *t;
        static struct sam3_chip *p;
@@ -256,26 +251,24 @@ get_current_sam3(struct command_context *cmd_ctx)
 
        p = all_sam3_chips;
        if (!p) {
-               // this should not happen
-               // the command is not registered until the chip is created?
+               /* this should not happen */
+               /* the command is not registered until the chip is created? */
                command_print(cmd_ctx, "No SAM3 chips exist?");
                return NULL;
        }
 
        while (p) {
-               if (p->target == t) {
+               if (p->target == t)
                        return p;
-               }
                p = p->next;
        }
        command_print(cmd_ctx, "Cannot find SAM3 chip?");
        return NULL;
 }
 
-
-// these are used to *initialize* the "pChip->details" structure.
+/* these are used to *initialize* the "pChip->details" structure. */
 static const struct sam3_chip_details all_sam3_details[] = {
-       // Start at91sam3u* series
+       /* Start at91sam3u* series */
        {
                .chipid_cidr    = 0x28100960,
                .name           = "at91sam3u4e",
@@ -284,53 +277,53 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 2,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK0_BASE_U,
-                       .controller_address = 0x400e0800,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 128 * 1024,
-                       .nsectors   = 16,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 1,
-                       .base_address = FLASH_BANK1_BASE_U,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 128 * 1024,
-                       .nsectors   = 16,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK0_BASE_U,
+                               .controller_address = 0x400e0800,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 1,
+                               .base_address = FLASH_BANK1_BASE_U,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
                },
        },
 
@@ -338,40 +331,40 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .chipid_cidr    = 0x281a0760,
                .name           = "at91sam3u2e",
                .total_flash_size     = 128 * 1024,
-               .total_sram_size      =  36 * 1024,
+               .total_sram_size      = 36 * 1024,
                .n_gpnvms       = 2,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK0_BASE_U,
-                       .controller_address = 0x400e0800,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 128 * 1024,
-                       .nsectors   = 16,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//               .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK0_BASE_U,
+                               .controller_address = 0x400e0800,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*               .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
        {
@@ -382,39 +375,39 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK0_BASE_U,
-                       .controller_address = 0x400e0800,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  64 * 1024,
-                       .nsectors   =  8,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK0_BASE_U,
+                               .controller_address = 0x400e0800,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 64 * 1024,
+                               .nsectors   = 8,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
@@ -426,52 +419,52 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 2,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
                {
-                 {
-//             .bank[0] = {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK0_BASE_U,
-                       .controller_address = 0x400e0800,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 128 * 1024,
-                       .nsectors   = 16,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 1,
-                       .base_address = FLASH_BANK1_BASE_U,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 128 * 1024,
-                       .nsectors   = 16,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
+                       {
+/*             .bank[0] = { */
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK0_BASE_U,
+                               .controller_address = 0x400e0800,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 1,
+                               .base_address = FLASH_BANK1_BASE_U,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
                },
        },
 
@@ -483,36 +476,36 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK0_BASE_U,
-                       .controller_address = 0x400e0800,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 128 * 1024,
-                       .nsectors   = 16,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK0_BASE_U,
+                               .controller_address = 0x400e0800,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
        {
@@ -523,47 +516,47 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
 
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK0_BASE_U,
-                       .controller_address = 0x400e0800,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  64 * 1024,
-                       .nsectors   =  8,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK0_BASE_U,
+                               .controller_address = 0x400e0800,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 64 * 1024,
+                               .nsectors   = 8,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
 
-       // Start at91sam3s* series
+       /* Start at91sam3s* series */
 
-       // Note: The preliminary at91sam3s datasheet says on page 302
-       // that the flash controller is at address 0x400E0800.
-       // This is _not_ the case, the controller resides at address 0x400e0a0.
+       /* Note: The preliminary at91sam3s datasheet says on page 302 */
+       /* that the flash controller is at address 0x400E0800. */
+       /* This is _not_ the case, the controller resides at address 0x400e0a0. */
        {
                .chipid_cidr    = 0x28A00960,
                .name           = "at91sam3s4c",
@@ -572,28 +565,28 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_S,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  256 * 1024,
-                       .nsectors   =  32,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_S,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 256 * 1024,
+                               .nsectors   = 32,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
 
@@ -605,28 +598,28 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_S,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  256 * 1024,
-                       .nsectors   =  32,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_S,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 256 * 1024,
+                               .nsectors   = 32,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
        {
@@ -637,28 +630,28 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_S,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  256 * 1024,
-                       .nsectors   =  32,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_S,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 256 * 1024,
+                               .nsectors   = 32,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
        {
@@ -669,28 +662,28 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_S,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  128 * 1024,
-                       .nsectors   =  16,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_S,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
        {
@@ -701,28 +694,28 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_S,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  128 * 1024,
-                       .nsectors   =  16,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_S,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
        {
@@ -733,28 +726,28 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_S,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  128 * 1024,
-                       .nsectors   =  16,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_S,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
        {
@@ -765,28 +758,28 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_S,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  64 * 1024,
-                       .nsectors   =  8,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_S,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 64 * 1024,
+                               .nsectors   = 8,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
        {
@@ -797,28 +790,28 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_S,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  64 * 1024,
-                       .nsectors   =  8,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_S,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 64 * 1024,
+                               .nsectors   = 8,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
        {
@@ -829,32 +822,32 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 2,
                .n_banks        = 1,
                {
-//             .bank[0] = {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_S,
-                       .controller_address = 0x400e0a00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes =  64 * 1024,
-                       .nsectors   =  8,
-                       .sector_size = 8192,
-                       .page_size   = 256,
-                 },
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-
-                 },
+/*             .bank[0] = { */
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_S,
+                               .controller_address = 0x400e0a00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 64 * 1024,
+                               .nsectors   = 8,
+                               .sector_size = 8192,
+                               .page_size   = 256,
+                       },
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+
+                       },
                },
        },
 
-       // Start at91sam3n* series
+       /* Start at91sam3n* series */
        {
                .chipid_cidr    = 0x29540960,
                .name           = "at91sam3n4c",
@@ -863,44 +856,44 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_N,
-                       .controller_address = 0x400e0A00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 256 * 1024,
-                       .nsectors   = 16,
-                       .sector_size = 16384,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_N,
+                               .controller_address = 0x400e0A00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 256 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 16384,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
@@ -912,44 +905,44 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_N,
-                       .controller_address = 0x400e0A00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 256 * 1024,
-                       .nsectors   = 16,
-                       .sector_size = 16384,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_N,
+                               .controller_address = 0x400e0A00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 256 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 16384,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
@@ -961,44 +954,44 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_N,
-                       .controller_address = 0x400e0A00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 256 * 1024,
-                       .nsectors   = 16,
-                       .sector_size = 16384,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_N,
+                               .controller_address = 0x400e0A00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 256 * 1024,
+                               .nsectors   = 16,
+                               .sector_size = 16384,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
@@ -1010,44 +1003,44 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_N,
-                       .controller_address = 0x400e0A00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 128 * 1024,
-                       .nsectors   = 8,
-                       .sector_size = 16384,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_N,
+                               .controller_address = 0x400e0A00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 8,
+                               .sector_size = 16384,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
@@ -1059,44 +1052,44 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_N,
-                       .controller_address = 0x400e0A00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 128 * 1024,
-                       .nsectors   = 8,
-                       .sector_size = 16384,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_N,
+                               .controller_address = 0x400e0A00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 8,
+                               .sector_size = 16384,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
@@ -1108,44 +1101,44 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_N,
-                       .controller_address = 0x400e0A00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 128 * 1024,
-                       .nsectors   = 8,
-                       .sector_size = 16384,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_N,
+                               .controller_address = 0x400e0A00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 128 * 1024,
+                               .nsectors   = 8,
+                               .sector_size = 16384,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
@@ -1157,44 +1150,44 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_N,
-                       .controller_address = 0x400e0A00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 64 * 1024,
-                       .nsectors   = 4,
-                       .sector_size = 16384,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_N,
+                               .controller_address = 0x400e0A00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 64 * 1024,
+                               .nsectors   = 4,
+                               .sector_size = 16384,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
@@ -1206,44 +1199,44 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_N,
-                       .controller_address = 0x400e0A00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 64 * 1024,
-                       .nsectors   = 4,
-                       .sector_size = 16384,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_N,
+                               .controller_address = 0x400e0A00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 64 * 1024,
+                               .nsectors   = 4,
+                               .sector_size = 16384,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
@@ -1255,51 +1248,51 @@ static const struct sam3_chip_details all_sam3_details[] = {
                .n_gpnvms       = 3,
                .n_banks        = 1,
 
-               // System boots at address 0x0
-               // gpnvm[1] = selects boot code
-               //     if gpnvm[1] == 0
-               //         boot is via "SAMBA" (rom)
-               //     else
-               //         boot is via FLASH
-               //         Selection is via gpnvm[2]
-               //     endif
-               //
-               // NOTE: banks 0 & 1 switch places
-               //     if gpnvm[2] == 0
-               //         Bank0 is the boot rom
-               //      else
-               //         Bank1 is the boot rom
-               //      endif
-//             .bank[0] = {
+               /* System boots at address 0x0 */
+               /* gpnvm[1] = selects boot code */
+               /*     if gpnvm[1] == 0 */
+               /*         boot is via "SAMBA" (rom) */
+               /*     else */
+               /*         boot is via FLASH */
+               /*         Selection is via gpnvm[2] */
+               /*     endif */
+               /*  */
+               /* NOTE: banks 0 & 1 switch places */
+               /*     if gpnvm[2] == 0 */
+               /*         Bank0 is the boot rom */
+               /*      else */
+               /*         Bank1 is the boot rom */
+               /*      endif */
+/*             .bank[0] = { */
                {
-                 {
-                       .probed = 0,
-                       .pChip  = NULL,
-                       .pBank  = NULL,
-                       .bank_number = 0,
-                       .base_address = FLASH_BANK_BASE_N,
-                       .controller_address = 0x400e0A00,
-                       .flash_wait_states = 6, /* workaround silicon bug */
-                       .present = 1,
-                       .size_bytes = 64 * 1024,
-                       .nsectors   = 4,
-                       .sector_size = 16384,
-                       .page_size   = 256,
-                 },
-
-//             .bank[1] = {
-                 {
-                       .present = 0,
-                       .probed = 0,
-                       .bank_number = 1,
-                 },
+                       {
+                               .probed = 0,
+                               .pChip  = NULL,
+                               .pBank  = NULL,
+                               .bank_number = 0,
+                               .base_address = FLASH_BANK_BASE_N,
+                               .controller_address = 0x400e0A00,
+                               .flash_wait_states = 6, /* workaround silicon bug */
+                               .present = 1,
+                               .size_bytes = 64 * 1024,
+                               .nsectors   = 4,
+                               .sector_size = 16384,
+                               .page_size   = 256,
+                       },
+
+/*             .bank[1] = { */
+                       {
+                               .present = 0,
+                               .probed = 0,
+                               .bank_number = 1,
+                       },
                },
        },
 
-       // terminate
+       /* terminate */
        {
-               .chipid_cidr    = 0,
-               .name                   = NULL,
+               .chipid_cidr    = 0,
+               .name                   = NULL,
        }
 };
 
@@ -1318,16 +1311,17 @@ static const struct sam3_chip_details all_sam3_details[] = {
  * @param pPrivate - info about the bank
  * @param v        - result goes here
  */
-static int
-EFC_GetStatus(struct sam3_bank_private *pPrivate, uint32_t *v)
+static int EFC_GetStatus(struct sam3_bank_private *pPrivate, uint32_t *v)
 {
        int r;
-       r = target_read_u32(pPrivate->pChip->target, pPrivate->controller_address + offset_EFC_FSR, v);
+       r = target_read_u32(pPrivate->pChip->target,
+                       pPrivate->controller_address + offset_EFC_FSR,
+                       v);
        LOG_DEBUG("Status: 0x%08x (lockerror: %d, cmderror: %d, ready: %d)",
-                         (unsigned int)(*v),
-                         ((unsigned int)((*v >> 2) & 1)),
-                         ((unsigned int)((*v >> 1) & 1)),
-                         ((unsigned int)((*v >> 0) & 1)));
+               (unsigned int)(*v),
+               ((unsigned int)((*v >> 2) & 1)),
+               ((unsigned int)((*v >> 1) & 1)),
+               ((unsigned int)((*v >> 0) & 1)));
 
        return r;
 }
@@ -1337,95 +1331,93 @@ EFC_GetStatus(struct sam3_bank_private *pPrivate, uint32_t *v)
  * @param pPrivate - info about the bank
  * @param v        - result goes here
  */
-static int
-EFC_GetResult(struct sam3_bank_private *pPrivate, uint32_t *v)
+static int EFC_GetResult(struct sam3_bank_private *pPrivate, uint32_t *v)
 {
        int r;
        uint32_t rv;
-       r = target_read_u32(pPrivate->pChip->target, pPrivate->controller_address + offset_EFC_FRR, &rv);
-       if (v) {
+       r = target_read_u32(pPrivate->pChip->target,
+                       pPrivate->controller_address + offset_EFC_FRR,
+                       &rv);
+       if (v)
                *v = rv;
-       }
        LOG_DEBUG("Result: 0x%08x", ((unsigned int)(rv)));
        return r;
 }
 
-static int
-EFC_StartCommand(struct sam3_bank_private *pPrivate,
-                                unsigned command, unsigned argument)
+static int EFC_StartCommand(struct sam3_bank_private *pPrivate,
+       unsigned command, unsigned argument)
 {
-       uint32_t n,v;
+       uint32_t n, v;
        int r;
        int retry;
 
        retry = 0;
- do_retry:
-
-    // Check command & argument
-    switch (command) {
-
-       case AT91C_EFC_FCMD_WP:
-       case AT91C_EFC_FCMD_WPL:
-       case AT91C_EFC_FCMD_EWP:
-       case AT91C_EFC_FCMD_EWPL:
-               // case AT91C_EFC_FCMD_EPL:
-               // case AT91C_EFC_FCMD_EPA:
-       case AT91C_EFC_FCMD_SLB:
-       case AT91C_EFC_FCMD_CLB:
-               n = (pPrivate->size_bytes / pPrivate->page_size);
-               if (argument >= n) {
-                       LOG_ERROR("*BUG*: Embedded flash has only %u pages", (unsigned)(n));
-               }
-               break;
+do_retry:
+
+       /* Check command & argument */
+       switch (command) {
+
+               case AT91C_EFC_FCMD_WP:
+               case AT91C_EFC_FCMD_WPL:
+               case AT91C_EFC_FCMD_EWP:
+               case AT91C_EFC_FCMD_EWPL:
+               /* case AT91C_EFC_FCMD_EPL: */
+               /* case AT91C_EFC_FCMD_EPA: */
+               case AT91C_EFC_FCMD_SLB:
+               case AT91C_EFC_FCMD_CLB:
+                       n = (pPrivate->size_bytes / pPrivate->page_size);
+                       if (argument >= n)
+                               LOG_ERROR("*BUG*: Embedded flash has only %u pages", (unsigned)(n));
+                       break;
 
-       case AT91C_EFC_FCMD_SFB:
-       case AT91C_EFC_FCMD_CFB:
-               if (argument >= pPrivate->pChip->details.n_gpnvms) {
-                       LOG_ERROR("*BUG*: Embedded flash has only %d GPNVMs",
-                                         pPrivate->pChip->details.n_gpnvms);
-               }
-               break;
-
-       case AT91C_EFC_FCMD_GETD:
-       case AT91C_EFC_FCMD_EA:
-       case AT91C_EFC_FCMD_GLB:
-       case AT91C_EFC_FCMD_GFB:
-       case AT91C_EFC_FCMD_STUI:
-       case AT91C_EFC_FCMD_SPUI:
-               if (argument != 0) {
-                       LOG_ERROR("Argument is meaningless for cmd: %d", command);
-               }
-               break;
-       default:
-               LOG_ERROR("Unknown command %d", command);
-               break;
-    }
+               case AT91C_EFC_FCMD_SFB:
+               case AT91C_EFC_FCMD_CFB:
+                       if (argument >= pPrivate->pChip->details.n_gpnvms) {
+                               LOG_ERROR("*BUG*: Embedded flash has only %d GPNVMs",
+                                               pPrivate->pChip->details.n_gpnvms);
+                       }
+                       break;
+
+               case AT91C_EFC_FCMD_GETD:
+               case AT91C_EFC_FCMD_EA:
+               case AT91C_EFC_FCMD_GLB:
+               case AT91C_EFC_FCMD_GFB:
+               case AT91C_EFC_FCMD_STUI:
+               case AT91C_EFC_FCMD_SPUI:
+                       if (argument != 0)
+                               LOG_ERROR("Argument is meaningless for cmd: %d", command);
+                       break;
+               default:
+                       LOG_ERROR("Unknown command %d", command);
+                       break;
+       }
 
        if (command == AT91C_EFC_FCMD_SPUI) {
-               // this is a very special situation.
-               // Situation (1) - error/retry - see below
-               //      And we are being called recursively
-               // Situation (2) - normal, finished reading unique id
+               /* this is a very special situation. */
+               /* Situation (1) - error/retry - see below */
+               /*      And we are being called recursively */
+               /* Situation (2) - normal, finished reading unique id */
        } else {
-               // it should be "ready"
+               /* it should be "ready" */
                EFC_GetStatus(pPrivate, &v);
                if (v & 1) {
-                       // then it is ready
-                       // we go on
+                       /* then it is ready */
+                       /* we go on */
                } else {
                        if (retry) {
-                               // we have done this before
-                               // the controller is not responding.
-                               LOG_ERROR("flash controller(%d) is not ready! Error", pPrivate->bank_number);
+                               /* we have done this before */
+                               /* the controller is not responding. */
+                               LOG_ERROR("flash controller(%d) is not ready! Error",
+                                       pPrivate->bank_number);
                                return ERROR_FAIL;
                        } else {
                                retry++;
                                LOG_ERROR("Flash controller(%d) is not ready, attempting reset",
-                                                 pPrivate->bank_number);
-                               // we do that by issuing the *STOP* command
+                                       pPrivate->bank_number);
+                               /* we do that by issuing the *STOP* command */
                                EFC_StartCommand(pPrivate, AT91C_EFC_FCMD_SPUI, 0);
-                               // above is recursive, and further recursion is blocked by
-                               // if (command == AT91C_EFC_FCMD_SPUI) above
+                               /* above is recursive, and further recursion is blocked by */
+                               /* if (command == AT91C_EFC_FCMD_SPUI) above */
                                goto do_retry;
                        }
                }
@@ -1434,11 +1426,9 @@ EFC_StartCommand(struct sam3_bank_private *pPrivate,
        v = (0x5A << 24) | (argument << 8) | command;
        LOG_DEBUG("Command: 0x%08x", ((unsigned int)(v)));
        r = target_write_u32(pPrivate->pBank->target,
-                                                 pPrivate->controller_address + offset_EFC_FCR,
-                                                 v);
-       if (r != ERROR_OK) {
+                       pPrivate->controller_address + offset_EFC_FCR, v);
+       if (r != ERROR_OK)
                LOG_DEBUG("Error Write failed");
-       }
        return r;
 }
 
@@ -1449,97 +1439,82 @@ EFC_StartCommand(struct sam3_bank_private *pPrivate,
  * @param argument - Optional command argument.
  * @param status   - put command status bits here
  */
-static int
-EFC_PerformCommand(struct sam3_bank_private *pPrivate,
-                                       unsigned command,
-                                       unsigned argument,
-                                       uint32_t *status)
+static int EFC_PerformCommand(struct sam3_bank_private *pPrivate,
+       unsigned command,
+       unsigned argument,
+       uint32_t *status)
 {
 
        int r;
        uint32_t v;
        long long ms_now, ms_end;
 
-       // default
-       if (status) {
+       /* default */
+       if (status)
                *status = 0;
-       }
 
        r = EFC_StartCommand(pPrivate, command, argument);
-       if (r != ERROR_OK) {
+       if (r != ERROR_OK)
                return r;
-       }
 
        ms_end = 500 + timeval_ms();
 
-
-    do {
+       do {
                r = EFC_GetStatus(pPrivate, &v);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        return r;
-               }
                ms_now = timeval_ms();
                if (ms_now > ms_end) {
-                       // error
+                       /* error */
                        LOG_ERROR("Command timeout");
                        return ERROR_FAIL;
                }
-    }
-    while ((v & 1) == 0)
-               ;
+       } while ((v & 1) == 0);
 
-       // error bits..
-       if (status) {
+       /* error bits.. */
+       if (status)
                *status = (v & 0x6);
-       }
        return ERROR_OK;
 
 }
 
-
-
-
-
 /**
  * Read the unique ID.
  * @param pPrivate - info about the bank
  * The unique ID is stored in the 'pPrivate' structure.
  */
-static int
-FLASHD_ReadUniqueID (struct sam3_bank_private *pPrivate)
+static int FLASHD_ReadUniqueID(struct sam3_bank_private *pPrivate)
 {
        int r;
        uint32_t v;
        int x;
-       // assume 0
-    pPrivate->pChip->cfg.unique_id[0] = 0;
-    pPrivate->pChip->cfg.unique_id[1] = 0;
-    pPrivate->pChip->cfg.unique_id[2] = 0;
-    pPrivate->pChip->cfg.unique_id[3] = 0;
+       /* assume 0 */
+       pPrivate->pChip->cfg.unique_id[0] = 0;
+       pPrivate->pChip->cfg.unique_id[1] = 0;
+       pPrivate->pChip->cfg.unique_id[2] = 0;
+       pPrivate->pChip->cfg.unique_id[3] = 0;
 
        LOG_DEBUG("Begin");
        r = EFC_StartCommand(pPrivate, AT91C_EFC_FCMD_STUI, 0);
-       if (r < 0) {
+       if (r < 0)
                return r;
-       }
 
-       for (x = 0 ; x < 4 ; x++) {
+       for (x = 0; x < 4; x++) {
                r = target_read_u32(pPrivate->pChip->target,
-                                                        pPrivate->pBank->base + (x * 4),
-                                                        &v);
-               if (r < 0) {
+                               pPrivate->pBank->base + (x * 4),
+                               &v);
+               if (r < 0)
                        return r;
-               }
                pPrivate->pChip->cfg.unique_id[x] = v;
        }
 
-    r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_SPUI, 0, NULL);
+       r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_SPUI, 0, NULL);
        LOG_DEBUG("End: R=%d, id = 0x%08x, 0x%08x, 0x%08x, 0x%08x",
-                         r,
-                         (unsigned int)(pPrivate->pChip->cfg.unique_id[0]),
-                         (unsigned int)(pPrivate->pChip->cfg.unique_id[1]),
-                         (unsigned int)(pPrivate->pChip->cfg.unique_id[2]),
-                         (unsigned int)(pPrivate->pChip->cfg.unique_id[3]));
+               r,
+               (unsigned int)(pPrivate->pChip->cfg.unique_id[0]),
+               (unsigned int)(pPrivate->pChip->cfg.unique_id[1]),
+               (unsigned int)(pPrivate->pChip->cfg.unique_id[2]),
+               (unsigned int)(pPrivate->pChip->cfg.unique_id[3]));
        return r;
 
 }
@@ -1548,24 +1523,20 @@ FLASHD_ReadUniqueID (struct sam3_bank_private *pPrivate)
  * Erases the entire flash.
  * @param pPrivate - the info about the bank.
  */
-static int
-FLASHD_EraseEntireBank(struct sam3_bank_private *pPrivate)
+static int FLASHD_EraseEntireBank(struct sam3_bank_private *pPrivate)
 {
        LOG_DEBUG("Here");
        return EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_EA, 0, NULL);
 }
 
-
-
 /**
  * Gets current GPNVM state.
  * @param pPrivate - info about the bank.
  * @param gpnvm    -  GPNVM bit index.
  * @param puthere  - result stored here.
  */
-//------------------------------------------------------------------------------
-static int
-FLASHD_GetGPNVM(struct sam3_bank_private *pPrivate, unsigned gpnvm, unsigned *puthere)
+/* ------------------------------------------------------------------------------ */
+static int FLASHD_GetGPNVM(struct sam3_bank_private *pPrivate, unsigned gpnvm, unsigned *puthere)
 {
        uint32_t v;
        int r;
@@ -1578,39 +1549,35 @@ FLASHD_GetGPNVM(struct sam3_bank_private *pPrivate, unsigned gpnvm, unsigned *pu
 
        if (gpnvm >= pPrivate->pChip->details.n_gpnvms) {
                LOG_ERROR("Invalid GPNVM %d, max: %d, ignored",
-                                 gpnvm,pPrivate->pChip->details.n_gpnvms);
+                       gpnvm, pPrivate->pChip->details.n_gpnvms);
                return ERROR_FAIL;
        }
 
-    // Get GPNVMs status
+       /* Get GPNVMs status */
        r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_GFB, 0, NULL);
        if (r != ERROR_OK) {
                LOG_ERROR("Failed");
                return r;
        }
 
-    r = EFC_GetResult(pPrivate, &v);
+       r = EFC_GetResult(pPrivate, &v);
 
        if (puthere) {
-               // Check if GPNVM is set
-               // get the bit and make it a 0/1
+               /* Check if GPNVM is set */
+               /* get the bit and make it a 0/1 */
                *puthere = (v >> gpnvm) & 1;
        }
 
        return r;
 }
 
-
-
-
 /**
  * Clears the selected GPNVM bit.
  * @param pPrivate info about the bank
  * @param gpnvm GPNVM index.
  * @returns 0 if successful; otherwise returns an error code.
  */
-static int
-FLASHD_ClrGPNVM(struct sam3_bank_private *pPrivate, unsigned gpnvm)
+static int FLASHD_ClrGPNVM(struct sam3_bank_private *pPrivate, unsigned gpnvm)
 {
        int r;
        unsigned v;
@@ -1623,29 +1590,26 @@ FLASHD_ClrGPNVM(struct sam3_bank_private *pPrivate, unsigned gpnvm)
 
        if (gpnvm >= pPrivate->pChip->details.n_gpnvms) {
                LOG_ERROR("Invalid GPNVM %d, max: %d, ignored",
-                                 gpnvm,pPrivate->pChip->details.n_gpnvms);
+                       gpnvm, pPrivate->pChip->details.n_gpnvms);
                return ERROR_FAIL;
        }
 
        r = FLASHD_GetGPNVM(pPrivate, gpnvm, &v);
        if (r != ERROR_OK) {
-               LOG_DEBUG("Failed: %d",r);
+               LOG_DEBUG("Failed: %d", r);
                return r;
        }
        r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_CFB, gpnvm, NULL);
-       LOG_DEBUG("End: %d",r);
+       LOG_DEBUG("End: %d", r);
        return r;
 }
 
-
-
 /**
  * Sets the selected GPNVM bit.
  * @param pPrivate info about the bank
  * @param gpnvm GPNVM index.
  */
-static int
-FLASHD_SetGPNVM(struct sam3_bank_private *pPrivate, unsigned gpnvm)
+static int FLASHD_SetGPNVM(struct sam3_bank_private *pPrivate, unsigned gpnvm)
 {
        int r;
        unsigned v;
@@ -1657,44 +1621,39 @@ FLASHD_SetGPNVM(struct sam3_bank_private *pPrivate, unsigned gpnvm)
 
        if (gpnvm >= pPrivate->pChip->details.n_gpnvms) {
                LOG_ERROR("Invalid GPNVM %d, max: %d, ignored",
-                                 gpnvm,pPrivate->pChip->details.n_gpnvms);
+                       gpnvm, pPrivate->pChip->details.n_gpnvms);
                return ERROR_FAIL;
        }
 
        r = FLASHD_GetGPNVM(pPrivate, gpnvm, &v);
-       if (r != ERROR_OK) {
+       if (r != ERROR_OK)
                return r;
-       }
        if (v) {
-               // already set
+               /* already set */
                r = ERROR_OK;
        } else {
-               // set it
+               /* set it */
                r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_SFB, gpnvm, NULL);
        }
        return r;
 }
 
-
 /**
  * Returns a bit field (at most 64) of locked regions within a page.
  * @param pPrivate info about the bank
  * @param v where to store locked bits
  */
-static int
-FLASHD_GetLockBits(struct sam3_bank_private *pPrivate, uint32_t *v)
+static int FLASHD_GetLockBits(struct sam3_bank_private *pPrivate, uint32_t *v)
 {
        int r;
        LOG_DEBUG("Here");
-    r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_GLB, 0, NULL);
-       if (r == ERROR_OK) {
+       r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_GLB, 0, NULL);
+       if (r == ERROR_OK)
                r = EFC_GetResult(pPrivate, v);
-       }
-       LOG_DEBUG("End: %d",r);
+       LOG_DEBUG("End: %d", r);
        return r;
 }
 
-
 /**
  * Unlocks all the regions in the given address range.
  * @param pPrivate info about the bank
@@ -1702,10 +1661,9 @@ FLASHD_GetLockBits(struct sam3_bank_private *pPrivate, uint32_t *v)
  * @param end_sector last (inclusive) to unlock
  */
 
-static int
-FLASHD_Unlock(struct sam3_bank_private *pPrivate,
-                          unsigned start_sector,
-                          unsigned end_sector)
+static int FLASHD_Unlock(struct sam3_bank_private *pPrivate,
+       unsigned start_sector,
+       unsigned end_sector)
 {
        int r;
        uint32_t status;
@@ -1714,31 +1672,28 @@ FLASHD_Unlock(struct sam3_bank_private *pPrivate,
 
        pages_per_sector = pPrivate->sector_size / pPrivate->page_size;
 
-    /* Unlock all pages */
-    while (start_sector <= end_sector) {
+       /* Unlock all pages */
+       while (start_sector <= end_sector) {
                pg = start_sector * pages_per_sector;
 
-        r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_CLB, pg, &status);
-        if (r != ERROR_OK) {
-            return r;
-        }
-        start_sector++;
-    }
+               r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_CLB, pg, &status);
+               if (r != ERROR_OK)
+                       return r;
+               start_sector++;
+       }
 
-    return ERROR_OK;
+       return ERROR_OK;
 }
 
-
 /**
  * Locks regions
  * @param pPrivate - info about the bank
  * @param start_sector - first sector to lock
  * @param end_sector   - last sector (inclusive) to lock
  */
-static int
-FLASHD_Lock(struct sam3_bank_private *pPrivate,
-                        unsigned start_sector,
-                        unsigned end_sector)
+static int FLASHD_Lock(struct sam3_bank_private *pPrivate,
+       unsigned start_sector,
+       unsigned end_sector)
 {
        uint32_t status;
        uint32_t pg;
@@ -1747,36 +1702,33 @@ FLASHD_Lock(struct sam3_bank_private *pPrivate,
 
        pages_per_sector = pPrivate->sector_size / pPrivate->page_size;
 
-    /* Lock all pages */
-    while (start_sector <= end_sector) {
+       /* Lock all pages */
+       while (start_sector <= end_sector) {
                pg = start_sector * pages_per_sector;
 
-        r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_SLB, pg, &status);
-        if (r != ERROR_OK) {
-            return r;
-        }
-        start_sector++;
-    }
-    return ERROR_OK;
+               r = EFC_PerformCommand(pPrivate, AT91C_EFC_FCMD_SLB, pg, &status);
+               if (r != ERROR_OK)
+                       return r;
+               start_sector++;
+       }
+       return ERROR_OK;
 }
 
-
 /****** END SAM3 CODE ********/
 
 /* begin helpful debug code */
-// print the fieldname, the field value, in dec & hex, and return field value
-static uint32_t
-sam3_reg_fieldname(struct sam3_chip *pChip,
-                                       const char *regname,
-                                       uint32_t value,
-                                       unsigned shift,
-                                       unsigned width)
+/* print the fieldname, the field value, in dec & hex, and return field value */
+static uint32_t sam3_reg_fieldname(struct sam3_chip *pChip,
+       const char *regname,
+       uint32_t value,
+       unsigned shift,
+       unsigned width)
 {
        uint32_t v;
        int hwidth, dwidth;
 
 
-       // extract the field
+       /* extract the field */
        v = value >> shift;
        v = v & ((1 << width)-1);
        if (width <= 16) {
@@ -1787,188 +1739,175 @@ sam3_reg_fieldname(struct sam3_chip *pChip,
                dwidth = 12;
        }
 
-       // show the basics
+       /* show the basics */
        LOG_USER_N("\t%*s: %*d [0x%0*x] ",
-                                 REG_NAME_WIDTH, regname,
-                                 dwidth, v,
-                                 hwidth, v);
+               REG_NAME_WIDTH, regname,
+               dwidth, v,
+               hwidth, v);
        return v;
 }
 
-
 static const char _unknown[] = "unknown";
-static const char * const eproc_names[] = {
-       _unknown,                                       // 0
-       "arm946es",                                     // 1
-       "arm7tdmi",                                     // 2
-       "cortex-m3",                            // 3
-       "arm920t",                                      // 4
-       "arm926ejs",                            // 5
-       _unknown,                                       // 6
-       _unknown,                                       // 7
-       _unknown,                                       // 8
-       _unknown,                                       // 9
-       _unknown,                                       // 10
-       _unknown,                                       // 11
-       _unknown,                                       // 12
-       _unknown,                                       // 13
-       _unknown,                                       // 14
-       _unknown,                                       // 15
+static const char *const eproc_names[] = {
+       _unknown,                                       /* 0 */
+       "arm946es",                                     /* 1 */
+       "arm7tdmi",                                     /* 2 */
+       "cortex-m3",                            /* 3 */
+       "arm920t",                                      /* 4 */
+       "arm926ejs",                            /* 5 */
+       _unknown,                                       /* 6 */
+       _unknown,                                       /* 7 */
+       _unknown,                                       /* 8 */
+       _unknown,                                       /* 9 */
+       _unknown,                                       /* 10 */
+       _unknown,                                       /* 11 */
+       _unknown,                                       /* 12 */
+       _unknown,                                       /* 13 */
+       _unknown,                                       /* 14 */
+       _unknown,                                       /* 15 */
 };
 
-#define nvpsize2 nvpsize               // these two tables are identical
-static const char * const nvpsize[] = {
-       "none",                                         //  0
-       "8K bytes",                                     //  1
-       "16K bytes",                            //  2
-       "32K bytes",                            //  3
-       _unknown,                                       //  4
-       "64K bytes",                            //  5
-       _unknown,                                       //  6
-       "128K bytes",                           //  7
-       _unknown,                                       //  8
-       "256K bytes",                           //  9
-       "512K bytes",                           // 10
-       _unknown,                                       // 11
-       "1024K bytes",                          // 12
-       _unknown,                                       // 13
-       "2048K bytes",                          // 14
-       _unknown,                                       // 15
+#define nvpsize2 nvpsize               /* these two tables are identical */
+static const char *const nvpsize[] = {
+       "none",                                         /*  0 */
+       "8K bytes",                                     /*  1 */
+       "16K bytes",                            /*  2 */
+       "32K bytes",                            /*  3 */
+       _unknown,                                       /*  4 */
+       "64K bytes",                            /*  5 */
+       _unknown,                                       /*  6 */
+       "128K bytes",                           /*  7 */
+       _unknown,                                       /*  8 */
+       "256K bytes",                           /*  9 */
+       "512K bytes",                           /* 10 */
+       _unknown,                                       /* 11 */
+       "1024K bytes",                          /* 12 */
+       _unknown,                                       /* 13 */
+       "2048K bytes",                          /* 14 */
+       _unknown,                                       /* 15 */
 };
 
-
-static const char * const sramsize[] = {
-       "48K Bytes",                            //  0
-       "1K Bytes",                                     //  1
-       "2K Bytes",                                     //  2
-       "6K Bytes",                                     //  3
-       "112K Bytes",                           //  4
-       "4K Bytes",                                     //  5
-       "80K Bytes",                            //  6
-       "160K Bytes",                           //  7
-       "8K Bytes",                                     //  8
-       "16K Bytes",                            //  9
-       "32K Bytes",                            // 10
-       "64K Bytes",                            // 11
-       "128K Bytes",                           // 12
-       "256K Bytes",                           // 13
-       "96K Bytes",                            // 14
-       "512K Bytes",                           // 15
+static const char *const sramsize[] = {
+       "48K Bytes",                            /*  0 */
+       "1K Bytes",                                     /*  1 */
+       "2K Bytes",                                     /*  2 */
+       "6K Bytes",                                     /*  3 */
+       "112K Bytes",                           /*  4 */
+       "4K Bytes",                                     /*  5 */
+       "80K Bytes",                            /*  6 */
+       "160K Bytes",                           /*  7 */
+       "8K Bytes",                                     /*  8 */
+       "16K Bytes",                            /*  9 */
+       "32K Bytes",                            /* 10 */
+       "64K Bytes",                            /* 11 */
+       "128K Bytes",                           /* 12 */
+       "256K Bytes",                           /* 13 */
+       "96K Bytes",                            /* 14 */
+       "512K Bytes",                           /* 15 */
 
 };
 
 static const struct archnames { unsigned value; const char *name; } archnames[] = {
-       { 0x19,  "AT91SAM9xx Series"                                            },
-       { 0x29,  "AT91SAM9XExx Series"                                          },
-       { 0x34,  "AT91x34 Series"                                                       },
-       { 0x37,  "CAP7 Series"                                                          },
-       { 0x39,  "CAP9 Series"                                                          },
-       { 0x3B,  "CAP11 Series"                                                         },
-       { 0x40,  "AT91x40 Series"                                                       },
-       { 0x42,  "AT91x42 Series"                                                       },
-       { 0x55,  "AT91x55 Series"                                                       },
-       { 0x60,  "AT91SAM7Axx Series"                                           },
-       { 0x61,  "AT91SAM7AQxx Series"                                          },
-       { 0x63,  "AT91x63 Series"                                                       },
-       { 0x70,  "AT91SAM7Sxx Series"                                           },
-       { 0x71,  "AT91SAM7XCxx Series"                                          },
-       { 0x72,  "AT91SAM7SExx Series"                                          },
-       { 0x73,  "AT91SAM7Lxx Series"                                           },
-       { 0x75,  "AT91SAM7Xxx Series"                                           },
-       { 0x76,  "AT91SAM7SLxx Series"                                          },
-       { 0x80,  "ATSAM3UxC Series (100-pin version)"           },
-       { 0x81,  "ATSAM3UxE Series (144-pin version)"           },
-       { 0x83,  "ATSAM3AxC Series (100-pin version)"           },
-       { 0x84,  "ATSAM3XxC Series (100-pin version)"           },
-       { 0x85,  "ATSAM3XxE Series (144-pin version)"           },
-       { 0x86,  "ATSAM3XxG Series (208/217-pin version)"       },
-       { 0x88,  "ATSAM3SxA Series (48-pin version)"            },
-       { 0x89,  "ATSAM3SxB Series (64-pin version)"            },
-       { 0x8A,  "ATSAM3SxC Series (100-pin version)"           },
-       { 0x92,  "AT91x92 Series"                                                       },
-       { 0xF0,  "AT75Cxx Series"                                                       },
+       { 0x19,  "AT91SAM9xx Series"                                            },
+       { 0x29,  "AT91SAM9XExx Series"                                          },
+       { 0x34,  "AT91x34 Series"                                                       },
+       { 0x37,  "CAP7 Series"                                                          },
+       { 0x39,  "CAP9 Series"                                                          },
+       { 0x3B,  "CAP11 Series"                                                         },
+       { 0x40,  "AT91x40 Series"                                                       },
+       { 0x42,  "AT91x42 Series"                                                       },
+       { 0x55,  "AT91x55 Series"                                                       },
+       { 0x60,  "AT91SAM7Axx Series"                                           },
+       { 0x61,  "AT91SAM7AQxx Series"                                          },
+       { 0x63,  "AT91x63 Series"                                                       },
+       { 0x70,  "AT91SAM7Sxx Series"                                           },
+       { 0x71,  "AT91SAM7XCxx Series"                                          },
+       { 0x72,  "AT91SAM7SExx Series"                                          },
+       { 0x73,  "AT91SAM7Lxx Series"                                           },
+       { 0x75,  "AT91SAM7Xxx Series"                                           },
+       { 0x76,  "AT91SAM7SLxx Series"                                          },
+       { 0x80,  "ATSAM3UxC Series (100-pin version)"           },
+       { 0x81,  "ATSAM3UxE Series (144-pin version)"           },
+       { 0x83,  "ATSAM3AxC Series (100-pin version)"           },
+       { 0x84,  "ATSAM3XxC Series (100-pin version)"           },
+       { 0x85,  "ATSAM3XxE Series (144-pin version)"           },
+       { 0x86,  "ATSAM3XxG Series (208/217-pin version)"       },
+       { 0x88,  "ATSAM3SxA Series (48-pin version)"            },
+       { 0x89,  "ATSAM3SxB Series (64-pin version)"            },
+       { 0x8A,  "ATSAM3SxC Series (100-pin version)"           },
+       { 0x92,  "AT91x92 Series"                                                       },
+       { 0xF0,  "AT75Cxx Series"                                                       },
        { -1, NULL },
-
 };
 
-static const char * const nvptype[] = {
-       "rom", // 0
-       "romless or onchip flash", // 1
-       "embedded flash memory", // 2
-       "rom(nvpsiz) + embedded flash (nvpsiz2)", //3
-       "sram emulating flash", // 4
-       _unknown, // 5
-       _unknown, // 6
-       _unknown, // 7
-
+static const char *const nvptype[] = {
+       "rom",  /* 0 */
+       "romless or onchip flash",      /* 1 */
+       "embedded flash memory",/* 2 */
+       "rom(nvpsiz) + embedded flash (nvpsiz2)",       /* 3 */
+       "sram emulating flash", /* 4 */
+       _unknown,       /* 5 */
+       _unknown,       /* 6 */
+       _unknown,       /* 7 */
 };
 
 static const char *_yes_or_no(uint32_t v)
 {
-       if (v) {
+       if (v)
                return "YES";
-       } else {
+       else
                return "NO";
-       }
 }
 
-static const char * const _rc_freq[] = {
+static const char *const _rc_freq[] = {
        "4 MHz", "8 MHz", "12 MHz", "reserved"
 };
 
-static void
-sam3_explain_ckgr_mor(struct sam3_chip *pChip)
+static void sam3_explain_ckgr_mor(struct sam3_chip *pChip)
 {
        uint32_t v;
        uint32_t rcen;
 
        v = sam3_reg_fieldname(pChip, "MOSCXTEN", pChip->cfg.CKGR_MOR, 0, 1);
-       LOG_USER("(main xtal enabled: %s)",
-                                 _yes_or_no(v));
+       LOG_USER("(main xtal enabled: %s)", _yes_or_no(v));
        v = sam3_reg_fieldname(pChip, "MOSCXTBY", pChip->cfg.CKGR_MOR, 1, 1);
-       LOG_USER("(main osc bypass: %s)",
-                                 _yes_or_no(v));
+       LOG_USER("(main osc bypass: %s)", _yes_or_no(v));
        rcen = sam3_reg_fieldname(pChip, "MOSCRCEN", pChip->cfg.CKGR_MOR, 3, 1);
-       LOG_USER("(onchip RC-OSC enabled: %s)",
-                                 _yes_or_no(rcen));
+       LOG_USER("(onchip RC-OSC enabled: %s)", _yes_or_no(rcen));
        v = sam3_reg_fieldname(pChip, "MOSCRCF", pChip->cfg.CKGR_MOR, 4, 3);
-       LOG_USER("(onchip RC-OSC freq: %s)",
-                                 _rc_freq[v]);
+       LOG_USER("(onchip RC-OSC freq: %s)", _rc_freq[v]);
 
        pChip->cfg.rc_freq = 0;
        if (rcen) {
                switch (v) {
-               default:
-                       pChip->cfg.rc_freq = 0;
-                       break;
-               case 0:
-                       pChip->cfg.rc_freq = 4 * 1000 * 1000;
-                       break;
-               case 1:
-                       pChip->cfg.rc_freq = 8 * 1000 * 1000;
-                       break;
-               case 2:
-                       pChip->cfg.rc_freq = 12* 1000 * 1000;
-                       break;
+                       default:
+                               pChip->cfg.rc_freq = 0;
+                               break;
+                       case 0:
+                               pChip->cfg.rc_freq = 4 * 1000 * 1000;
+                               break;
+                       case 1:
+                               pChip->cfg.rc_freq = 8 * 1000 * 1000;
+                               break;
+                       case 2:
+                               pChip->cfg.rc_freq = 12 * 1000 * 1000;
+                               break;
                }
        }
 
-       v = sam3_reg_fieldname(pChip,"MOSCXTST", pChip->cfg.CKGR_MOR, 8, 8);
+       v = sam3_reg_fieldname(pChip, "MOSCXTST", pChip->cfg.CKGR_MOR, 8, 8);
        LOG_USER("(startup clks, time= %f uSecs)",
-                                 ((float)(v * 1000000)) / ((float)(pChip->cfg.slow_freq)));
+               ((float)(v * 1000000)) / ((float)(pChip->cfg.slow_freq)));
        v = sam3_reg_fieldname(pChip, "MOSCSEL", pChip->cfg.CKGR_MOR, 24, 1);
        LOG_USER("(mainosc source: %s)",
-                                 v ? "external xtal" : "internal RC");
+               v ? "external xtal" : "internal RC");
 
-       v = sam3_reg_fieldname(pChip,"CFDEN", pChip->cfg.CKGR_MOR, 25, 1);
+       v = sam3_reg_fieldname(pChip, "CFDEN", pChip->cfg.CKGR_MOR, 25, 1);
        LOG_USER("(clock failure enabled: %s)",
-                                _yes_or_no(v));
+               _yes_or_no(v));
 }
 
-
-
-static void
-sam3_explain_chipid_cidr(struct sam3_chip *pChip)
+static void sam3_explain_chipid_cidr(struct sam3_chip *pChip)
 {
        int x;
        uint32_t v;
@@ -1986,12 +1925,12 @@ sam3_explain_chipid_cidr(struct sam3_chip *pChip)
        v = sam3_reg_fieldname(pChip, "NVPSIZE2", pChip->cfg.CHIPID_CIDR, 12, 4);
        LOG_USER("%s", nvpsize2[v]);
 
-       v = sam3_reg_fieldname(pChip, "SRAMSIZE", pChip->cfg.CHIPID_CIDR, 16,4);
-       LOG_USER("%s", sramsize[ v ]);
+       v = sam3_reg_fieldname(pChip, "SRAMSIZE", pChip->cfg.CHIPID_CIDR, 16, 4);
+       LOG_USER("%s", sramsize[v]);
 
        v = sam3_reg_fieldname(pChip, "ARCH", pChip->cfg.CHIPID_CIDR, 20, 8);
        cp = _unknown;
-       for (x = 0 ; archnames[x].name ; x++) {
+       for (x = 0; archnames[x].name; x++) {
                if (v == archnames[x].value) {
                        cp = archnames[x].name;
                        break;
@@ -2001,18 +1940,16 @@ sam3_explain_chipid_cidr(struct sam3_chip *pChip)
        LOG_USER("%s", cp);
 
        v = sam3_reg_fieldname(pChip, "NVPTYP", pChip->cfg.CHIPID_CIDR, 28, 3);
-       LOG_USER("%s", nvptype[ v ]);
+       LOG_USER("%s", nvptype[v]);
 
        v = sam3_reg_fieldname(pChip, "EXTID", pChip->cfg.CHIPID_CIDR, 31, 1);
        LOG_USER("(exists: %s)", _yes_or_no(v));
 }
 
-static void
-sam3_explain_ckgr_mcfr(struct sam3_chip *pChip)
+static void sam3_explain_ckgr_mcfr(struct sam3_chip *pChip)
 {
        uint32_t v;
 
-
        v = sam3_reg_fieldname(pChip, "MAINFRDY", pChip->cfg.CKGR_MCFR, 16, 1);
        LOG_USER("(main ready: %s)", _yes_or_no(v));
 
@@ -2022,36 +1959,32 @@ sam3_explain_ckgr_mcfr(struct sam3_chip *pChip)
        pChip->cfg.mainosc_freq = v;
 
        LOG_USER("(%3.03f Mhz (%d.%03dkhz slowclk)",
-                                _tomhz(v),
-                                pChip->cfg.slow_freq / 1000,
-                                pChip->cfg.slow_freq % 1000);
-
+               _tomhz(v),
+               pChip->cfg.slow_freq / 1000,
+               pChip->cfg.slow_freq % 1000);
 }
 
-static void
-sam3_explain_ckgr_plla(struct sam3_chip *pChip)
+static void sam3_explain_ckgr_plla(struct sam3_chip *pChip)
 {
-       uint32_t mula,diva;
+       uint32_t mula, diva;
 
        diva = sam3_reg_fieldname(pChip, "DIVA", pChip->cfg.CKGR_PLLAR, 0, 8);
        LOG_USER_N("\n");
        mula = sam3_reg_fieldname(pChip, "MULA", pChip->cfg.CKGR_PLLAR, 16, 11);
        LOG_USER_N("\n");
        pChip->cfg.plla_freq = 0;
-       if (mula == 0) {
+       if (mula == 0)
                LOG_USER("\tPLLA Freq: (Disabled,mula = 0)");
-       } else if (diva == 0) {
+       else if (diva == 0)
                LOG_USER("\tPLLA Freq: (Disabled,diva = 0)");
-       else if (diva == 1) {
+       else if (diva == 1) {
                pChip->cfg.plla_freq = (pChip->cfg.mainosc_freq * (mula + 1));
                LOG_USER("\tPLLA Freq: %3.03f MHz",
-                                        _tomhz(pChip->cfg.plla_freq));
+                       _tomhz(pChip->cfg.plla_freq));
        }
 }
 
-
-static void
-sam3_explain_mckr(struct sam3_chip *pChip)
+static void sam3_explain_mckr(struct sam3_chip *pChip)
 {
        uint32_t css, pres, fin = 0;
        int pdiv = 0;
@@ -2059,150 +1992,144 @@ sam3_explain_mckr(struct sam3_chip *pChip)
 
        css = sam3_reg_fieldname(pChip, "CSS", pChip->cfg.PMC_MCKR, 0, 2);
        switch (css & 3) {
-       case 0:
-               fin = pChip->cfg.slow_freq;
-               cp = "slowclk";
-               break;
-       case 1:
-               fin = pChip->cfg.mainosc_freq;
-               cp  = "mainosc";
-               break;
-       case 2:
-               fin = pChip->cfg.plla_freq;
-               cp  = "plla";
-               break;
-       case 3:
-               if (pChip->cfg.CKGR_UCKR & (1 << 16)) {
-                       fin = 480 * 1000 * 1000;
-                       cp = "upll";
-               } else {
-                       fin = 0;
-                       cp  = "upll (*ERROR* UPLL is disabled)";
-               }
-               break;
-       default:
-               assert(0);
-               break;
+               case 0:
+                       fin = pChip->cfg.slow_freq;
+                       cp = "slowclk";
+                       break;
+               case 1:
+                       fin = pChip->cfg.mainosc_freq;
+                       cp  = "mainosc";
+                       break;
+               case 2:
+                       fin = pChip->cfg.plla_freq;
+                       cp  = "plla";
+                       break;
+               case 3:
+                       if (pChip->cfg.CKGR_UCKR & (1 << 16)) {
+                               fin = 480 * 1000 * 1000;
+                               cp = "upll";
+                       } else {
+                               fin = 0;
+                               cp  = "upll (*ERROR* UPLL is disabled)";
+                       }
+                       break;
+               default:
+                       assert(0);
+                       break;
        }
 
        LOG_USER("%s (%3.03f Mhz)",
-                                 cp,
-                                 _tomhz(fin));
+               cp,
+               _tomhz(fin));
        pres = sam3_reg_fieldname(pChip, "PRES", pChip->cfg.PMC_MCKR, 4, 3);
        switch (pres & 0x07) {
-       case 0:
-               pdiv = 1;
-               cp = "selected clock";
-               break;
-       case 1:
-               pdiv = 2;
-               cp = "clock/2";
-               break;
-       case 2:
-               pdiv = 4;
-               cp = "clock/4";
-               break;
-       case 3:
-               pdiv = 8;
-               cp = "clock/8";
-               break;
-       case 4:
-               pdiv = 16;
-               cp = "clock/16";
-               break;
-       case 5:
-               pdiv = 32;
-               cp = "clock/32";
-               break;
-       case 6:
-               pdiv = 64;
-               cp = "clock/64";
-               break;
-       case 7:
-               pdiv = 6;
-               cp = "clock/6";
-               break;
-       default:
-               assert(0);
-               break;
+               case 0:
+                       pdiv = 1;
+                       cp = "selected clock";
+                       break;
+               case 1:
+                       pdiv = 2;
+                       cp = "clock/2";
+                       break;
+               case 2:
+                       pdiv = 4;
+                       cp = "clock/4";
+                       break;
+               case 3:
+                       pdiv = 8;
+                       cp = "clock/8";
+                       break;
+               case 4:
+                       pdiv = 16;
+                       cp = "clock/16";
+                       break;
+               case 5:
+                       pdiv = 32;
+                       cp = "clock/32";
+                       break;
+               case 6:
+                       pdiv = 64;
+                       cp = "clock/64";
+                       break;
+               case 7:
+                       pdiv = 6;
+                       cp = "clock/6";
+                       break;
+               default:
+                       assert(0);
+                       break;
        }
        LOG_USER("(%s)", cp);
        fin = fin / pdiv;
-       // sam3 has a *SINGLE* clock -
-       // other at91 series parts have divisors for these.
+       /* sam3 has a *SINGLE* clock - */
+       /* other at91 series parts have divisors for these. */
        pChip->cfg.cpu_freq = fin;
        pChip->cfg.mclk_freq = fin;
        pChip->cfg.fclk_freq = fin;
        LOG_USER("\t\tResult CPU Freq: %3.03f",
-                                 _tomhz(fin));
+               _tomhz(fin));
 }
 
 #if 0
-static struct sam3_chip *
-target2sam3(struct target *pTarget)
+static struct sam3_chip *target2sam3(struct target *pTarget)
 {
        struct sam3_chip *pChip;
 
-       if (pTarget == NULL) {
+       if (pTarget == NULL)
                return NULL;
-       }
 
        pChip = all_sam3_chips;
        while (pChip) {
-               if (pChip->target == pTarget) {
-                       break; // return below
-               } else {
+               if (pChip->target == pTarget)
+                       break;  /* return below */
+               else
                        pChip = pChip->next;
-               }
        }
        return pChip;
 }
 #endif
 
-static uint32_t *
-sam3_get_reg_ptr(struct sam3_cfg *pCfg, const struct sam3_reg_list *pList)
+static uint32_t *sam3_get_reg_ptr(struct sam3_cfg *pCfg, const struct sam3_reg_list *pList)
 {
-       // this function exists to help
-       // keep funky offsetof() errors
-       // and casting from causing bugs
+       /* this function exists to help */
+       /* keep funky offsetof() errors */
+       /* and casting from causing bugs */
 
-       // By using prototypes - we can detect what would
-       // be casting errors.
+       /* By using prototypes - we can detect what would */
+       /* be casting errors. */
 
-       return ((uint32_t *)(void *)(((char *)(pCfg)) + pList->struct_offset));
+       return (uint32_t *)(void *)(((char *)(pCfg)) + pList->struct_offset);
 }
 
 
-#define SAM3_ENTRY(NAME, FUNC)  { .address = SAM3_ ## NAME, .struct_offset = offsetof(struct sam3_cfg, NAME), #NAME, FUNC }
+#define SAM3_ENTRY(NAME, FUNC)  { .address = SAM3_ ## NAME, .struct_offset = offsetof( \
+                                                 struct sam3_cfg, \
+                                                 NAME), # NAME, FUNC }
 static const struct sam3_reg_list sam3_all_regs[] = {
-       SAM3_ENTRY(CKGR_MOR , sam3_explain_ckgr_mor),
-       SAM3_ENTRY(CKGR_MCFR , sam3_explain_ckgr_mcfr),
-       SAM3_ENTRY(CKGR_PLLAR , sam3_explain_ckgr_plla),
-       SAM3_ENTRY(CKGR_UCKR , NULL),
-       SAM3_ENTRY(PMC_FSMR , NULL),
-       SAM3_ENTRY(PMC_FSPR , NULL),
-       SAM3_ENTRY(PMC_IMR , NULL),
-       SAM3_ENTRY(PMC_MCKR , sam3_explain_mckr),
-       SAM3_ENTRY(PMC_PCK0 , NULL),
-       SAM3_ENTRY(PMC_PCK1 , NULL),
-       SAM3_ENTRY(PMC_PCK2 , NULL),
-       SAM3_ENTRY(PMC_PCSR , NULL),
-       SAM3_ENTRY(PMC_SCSR , NULL),
-       SAM3_ENTRY(PMC_SR , NULL),
-       SAM3_ENTRY(CHIPID_CIDR , sam3_explain_chipid_cidr),
-       SAM3_ENTRY(CHIPID_EXID , NULL),
+       SAM3_ENTRY(CKGR_MOR, sam3_explain_ckgr_mor),
+       SAM3_ENTRY(CKGR_MCFR, sam3_explain_ckgr_mcfr),
+       SAM3_ENTRY(CKGR_PLLAR, sam3_explain_ckgr_plla),
+       SAM3_ENTRY(CKGR_UCKR, NULL),
+       SAM3_ENTRY(PMC_FSMR, NULL),
+       SAM3_ENTRY(PMC_FSPR, NULL),
+       SAM3_ENTRY(PMC_IMR, NULL),
+       SAM3_ENTRY(PMC_MCKR, sam3_explain_mckr),
+       SAM3_ENTRY(PMC_PCK0, NULL),
+       SAM3_ENTRY(PMC_PCK1, NULL),
+       SAM3_ENTRY(PMC_PCK2, NULL),
+       SAM3_ENTRY(PMC_PCSR, NULL),
+       SAM3_ENTRY(PMC_SCSR, NULL),
+       SAM3_ENTRY(PMC_SR, NULL),
+       SAM3_ENTRY(CHIPID_CIDR, sam3_explain_chipid_cidr),
+       SAM3_ENTRY(CHIPID_EXID, NULL),
        SAM3_ENTRY(SUPC_CR, NULL),
 
-       // TERMINATE THE LIST
+       /* TERMINATE THE LIST */
        { .name = NULL }
 };
 #undef SAM3_ENTRY
 
-
-
-
-static struct sam3_bank_private *
-get_sam3_bank_private(struct flash_bank *bank)
+static struct sam3_bank_private *get_sam3_bank_private(struct flash_bank *bank)
 {
        return (struct sam3_bank_private *)(bank->driver_priv);
 }
@@ -2211,8 +2138,7 @@ get_sam3_bank_private(struct flash_bank *bank)
  * Given a pointer to where it goes in the structure,
  * determine the register name, address from the all registers table.
  */
-static const struct sam3_reg_list *
-sam3_GetReg(struct sam3_chip *pChip, uint32_t *goes_here)
+static const struct sam3_reg_list *sam3_GetReg(struct sam3_chip *pChip, uint32_t *goes_here)
 {
        const struct sam3_reg_list *pReg;
 
@@ -2220,49 +2146,43 @@ sam3_GetReg(struct sam3_chip *pChip, uint32_t *goes_here)
        while (pReg->name) {
                uint32_t *pPossible;
 
-               // calculate where this one go..
-               // it is "possibly" this register.
+               /* calculate where this one go.. */
+               /* it is "possibly" this register. */
 
                pPossible = ((uint32_t *)(void *)(((char *)(&(pChip->cfg))) + pReg->struct_offset));
 
-               // well? Is it this register
+               /* well? Is it this register */
                if (pPossible == goes_here) {
-                       // Jump for joy!
+                       /* Jump for joy! */
                        return pReg;
                }
 
-               // next...
+               /* next... */
                pReg++;
        }
-       // This is *TOTAL*PANIC* - we are totally screwed.
+       /* This is *TOTAL*PANIC* - we are totally screwed. */
        LOG_ERROR("INVALID SAM3 REGISTER");
        return NULL;
 }
 
-
-static int
-sam3_ReadThisReg(struct sam3_chip *pChip, uint32_t *goes_here)
+static int sam3_ReadThisReg(struct sam3_chip *pChip, uint32_t *goes_here)
 {
        const struct sam3_reg_list *pReg;
        int r;
 
        pReg = sam3_GetReg(pChip, goes_here);
-       if (!pReg) {
+       if (!pReg)
                return ERROR_FAIL;
-       }
 
        r = target_read_u32(pChip->target, pReg->address, goes_here);
        if (r != ERROR_OK) {
                LOG_ERROR("Cannot read SAM3 register: %s @ 0x%08x, Err: %d",
-                                 pReg->name, (unsigned)(pReg->address), r);
+                       pReg->name, (unsigned)(pReg->address), r);
        }
        return r;
 }
 
-
-
-static int
-sam3_ReadAllRegs(struct sam3_chip *pChip)
+static int sam3_ReadAllRegs(struct sam3_chip *pChip)
 {
        int r;
        const struct sam3_reg_list *pReg;
@@ -2270,10 +2190,10 @@ sam3_ReadAllRegs(struct sam3_chip *pChip)
        pReg = &(sam3_all_regs[0]);
        while (pReg->name) {
                r = sam3_ReadThisReg(pChip,
-                                                                 sam3_get_reg_ptr(&(pChip->cfg), pReg));
+                               sam3_get_reg_ptr(&(pChip->cfg), pReg));
                if (r != ERROR_OK) {
                        LOG_ERROR("Cannot read SAM3 registere: %s @ 0x%08x, Error: %d",
-                                         pReg->name, ((unsigned)(pReg->address)), r);
+                               pReg->name, ((unsigned)(pReg->address)), r);
                        return r;
                }
 
@@ -2283,26 +2203,23 @@ sam3_ReadAllRegs(struct sam3_chip *pChip)
        return ERROR_OK;
 }
 
-
-static int
-sam3_GetInfo(struct sam3_chip *pChip)
+static int sam3_GetInfo(struct sam3_chip *pChip)
 {
        const struct sam3_reg_list *pReg;
        uint32_t regval;
 
        pReg = &(sam3_all_regs[0]);
        while (pReg->name) {
-               // display all regs
+               /* display all regs */
                LOG_DEBUG("Start: %s", pReg->name);
                regval = *sam3_get_reg_ptr(&(pChip->cfg), pReg);
                LOG_USER("%*s: [0x%08x] -> 0x%08x",
-                                        REG_NAME_WIDTH,
-                                        pReg->name,
-                                        pReg->address,
-                                        regval);
-               if (pReg->explain_func) {
+                       REG_NAME_WIDTH,
+                       pReg->name,
+                       pReg->address,
+                       regval);
+               if (pReg->explain_func)
                        (*(pReg->explain_func))(pChip);
-               }
                LOG_DEBUG("End: %s", pReg->name);
                pReg++;
        }
@@ -2312,20 +2229,16 @@ sam3_GetInfo(struct sam3_chip *pChip)
        LOG_USER(" cpu-freq: %3.03f MHz", _tomhz(pChip->cfg.cpu_freq));
        LOG_USER("mclk-freq: %3.03f MHz", _tomhz(pChip->cfg.mclk_freq));
 
-
        LOG_USER(" UniqueId: 0x%08x 0x%08x 0x%08x 0x%08x",
-                                 pChip->cfg.unique_id[0],
-                                 pChip->cfg.unique_id[1],
-                                 pChip->cfg.unique_id[2],
-                                 pChip->cfg.unique_id[3]);
-
+               pChip->cfg.unique_id[0],
+               pChip->cfg.unique_id[1],
+               pChip->cfg.unique_id[2],
+               pChip->cfg.unique_id[3]);
 
        return ERROR_OK;
 }
 
-
-static int
-sam3_erase_check(struct flash_bank *bank)
+static int sam3_erase_check(struct flash_bank *bank)
 {
        int x;
 
@@ -2340,19 +2253,17 @@ sam3_erase_check(struct flash_bank *bank)
        }
 
        LOG_INFO("sam3 - supports auto-erase, erase_check ignored");
-       for (x = 0 ; x < bank->num_sectors ; x++) {
+       for (x = 0; x < bank->num_sectors; x++)
                bank->sectors[x].is_erased = 1;
-       }
 
        LOG_DEBUG("Done");
        return ERROR_OK;
 }
 
-static int
-sam3_protect_check(struct flash_bank *bank)
+static int sam3_protect_check(struct flash_bank *bank)
 {
        int r;
-       uint32_t v=0;
+       uint32_t v = 0;
        unsigned x;
        struct sam3_bank_private *pPrivate;
 
@@ -2367,19 +2278,17 @@ sam3_protect_check(struct flash_bank *bank)
                LOG_ERROR("no private for this bank?");
                return ERROR_FAIL;
        }
-       if (!(pPrivate->probed)) {
+       if (!(pPrivate->probed))
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
 
-       r = FLASHD_GetLockBits(pPrivate , &v);
+       r = FLASHD_GetLockBits(pPrivate, &v);
        if (r != ERROR_OK) {
-               LOG_DEBUG("Failed: %d",r);
+               LOG_DEBUG("Failed: %d", r);
                return r;
        }
 
-       for (x = 0 ; x < pPrivate->nsectors ; x++) {
+       for (x = 0; x < pPrivate->nsectors; x++)
                bank->sectors[x].is_protected = (!!(v & (1 << x)));
-       }
        LOG_DEBUG("Done");
        return ERROR_OK;
 }
@@ -2390,73 +2299,71 @@ FLASH_BANK_COMMAND_HANDLER(sam3_flash_bank_command)
 
        pChip = all_sam3_chips;
 
-       // is this an existing chip?
+       /* is this an existing chip? */
        while (pChip) {
-               if (pChip->target == bank->target) {
+               if (pChip->target == bank->target)
                        break;
-               }
                pChip = pChip->next;
        }
 
        if (!pChip) {
-               // this is a *NEW* chip
+               /* this is a *NEW* chip */
                pChip = calloc(1, sizeof(struct sam3_chip));
                if (!pChip) {
                        LOG_ERROR("NO RAM!");
                        return ERROR_FAIL;
                }
                pChip->target = bank->target;
-               // insert at head
+               /* insert at head */
                pChip->next = all_sam3_chips;
                all_sam3_chips = pChip;
                pChip->target = bank->target;
-               // assumption is this runs at 32khz
+               /* assumption is this runs at 32khz */
                pChip->cfg.slow_freq = 32768;
                pChip->probed = 0;
        }
 
        switch (bank->base) {
-       default:
-               LOG_ERROR("Address 0x%08x invalid bank address (try 0x%08x or 0x%08x \
-                       [at91sam3u series] or 0x%08x [at91sam3s series] or \
-                       0x%08x [at91sam3n series])",
-                                 ((unsigned int)(bank->base)),
-                                 ((unsigned int)(FLASH_BANK0_BASE_U)),
-                                 ((unsigned int)(FLASH_BANK1_BASE_U)),
-                                 ((unsigned int)(FLASH_BANK_BASE_S)),
-                                 ((unsigned int)(FLASH_BANK_BASE_N)));
-               return ERROR_FAIL;
-               break;
-
-       // at91sam3u series
-       case FLASH_BANK0_BASE_U:
-               bank->driver_priv = &(pChip->details.bank[0]);
-               bank->bank_number = 0;
-               pChip->details.bank[0].pChip = pChip;
-               pChip->details.bank[0].pBank = bank;
-               break;
-       case FLASH_BANK1_BASE_U:
-               bank->driver_priv = &(pChip->details.bank[1]);
-               bank->bank_number = 1;
-               pChip->details.bank[1].pChip = pChip;
-               pChip->details.bank[1].pBank = bank;
-               break;
-
-       /* at91sam3s and at91sam3n series */
-       case FLASH_BANK_BASE_S:
-               bank->driver_priv = &(pChip->details.bank[0]);
-               bank->bank_number = 0;
-               pChip->details.bank[0].pChip = pChip;
-               pChip->details.bank[0].pBank = bank;
-               break;
-       }
-
-       // we initialize after probing.
+               default:
+                       LOG_ERROR("Address 0x%08x invalid bank address (try 0x%08x or 0x%08x "
+                       "[at91sam3u series] or 0x%08x [at91sam3s series] or "
+                       "0x%08x [at91sam3n series])",
+                       ((unsigned int)(bank->base)),
+                       ((unsigned int)(FLASH_BANK0_BASE_U)),
+                       ((unsigned int)(FLASH_BANK1_BASE_U)),
+                       ((unsigned int)(FLASH_BANK_BASE_S)),
+                       ((unsigned int)(FLASH_BANK_BASE_N)));
+                       return ERROR_FAIL;
+                       break;
+
+               /* at91sam3u series */
+               case FLASH_BANK0_BASE_U:
+                       bank->driver_priv = &(pChip->details.bank[0]);
+                       bank->bank_number = 0;
+                       pChip->details.bank[0].pChip = pChip;
+                       pChip->details.bank[0].pBank = bank;
+                       break;
+               case FLASH_BANK1_BASE_U:
+                       bank->driver_priv = &(pChip->details.bank[1]);
+                       bank->bank_number = 1;
+                       pChip->details.bank[1].pChip = pChip;
+                       pChip->details.bank[1].pBank = bank;
+                       break;
+
+               /* at91sam3s and at91sam3n series */
+               case FLASH_BANK_BASE_S:
+                       bank->driver_priv = &(pChip->details.bank[0]);
+                       bank->bank_number = 0;
+                       pChip->details.bank[0].pChip = pChip;
+                       pChip->details.bank[0].pBank = bank;
+                       break;
+       }
+
+       /* we initialize after probing. */
        return ERROR_OK;
 }
 
-static int
-sam3_GetDetails(struct sam3_bank_private *pPrivate)
+static int sam3_GetDetails(struct sam3_bank_private *pPrivate)
 {
        const struct sam3_chip_details *pDetails;
        struct sam3_chip *pChip;
@@ -2466,61 +2373,56 @@ sam3_GetDetails(struct sam3_bank_private *pPrivate)
        LOG_DEBUG("Begin");
        pDetails = all_sam3_details;
        while (pDetails->name) {
-               // Compare cidr without version bits
-               if (pDetails->chipid_cidr == (pPrivate->pChip->cfg.CHIPID_CIDR & 0xFFFFFFE0)) {
+               /* Compare cidr without version bits */
+               if (pDetails->chipid_cidr == (pPrivate->pChip->cfg.CHIPID_CIDR & 0xFFFFFFE0))
                        break;
-               } else {
+               else
                        pDetails++;
-               }
        }
        if (pDetails->name == NULL) {
                LOG_ERROR("SAM3 ChipID 0x%08x not found in table (perhaps you can this chip?)",
-                                 (unsigned int)(pPrivate->pChip->cfg.CHIPID_CIDR));
-               // Help the victim, print details about the chip
+                       (unsigned int)(pPrivate->pChip->cfg.CHIPID_CIDR));
+               /* Help the victim, print details about the chip */
                LOG_INFO("SAM3 CHIPID_CIDR: 0x%08x decodes as follows",
-                                               pPrivate->pChip->cfg.CHIPID_CIDR);
+                       pPrivate->pChip->cfg.CHIPID_CIDR);
                sam3_explain_chipid_cidr(pPrivate->pChip);
                return ERROR_FAIL;
        }
 
-       // DANGER: THERE ARE DRAGONS HERE
+       /* DANGER: THERE ARE DRAGONS HERE */
 
-       // get our pChip - it is going
-       // to be over-written shortly
+       /* get our pChip - it is going */
+       /* to be over-written shortly */
        pChip = pPrivate->pChip;
 
-       // Note that, in reality:
-       //
-       //     pPrivate = &(pChip->details.bank[0])
-       // or  pPrivate = &(pChip->details.bank[1])
-       //
+       /* Note that, in reality: */
+       /*  */
+       /*     pPrivate = &(pChip->details.bank[0]) */
+       /* or  pPrivate = &(pChip->details.bank[1]) */
+       /*  */
 
-       // save the "bank" pointers
-       for (x = 0 ; x < SAM3_MAX_FLASH_BANKS ; x++) {
-               saved_banks[ x ] = pChip->details.bank[x].pBank;
-       }
+       /* save the "bank" pointers */
+       for (x = 0; x < SAM3_MAX_FLASH_BANKS; x++)
+               saved_banks[x] = pChip->details.bank[x].pBank;
 
-       // Overwrite the "details" structure.
+       /* Overwrite the "details" structure. */
        memcpy(&(pPrivate->pChip->details),
-                       pDetails,
-                       sizeof(pPrivate->pChip->details));
+               pDetails,
+               sizeof(pPrivate->pChip->details));
 
-       // now fix the ghosted pointers
-       for (x = 0 ; x < SAM3_MAX_FLASH_BANKS ; x++) {
+       /* now fix the ghosted pointers */
+       for (x = 0; x < SAM3_MAX_FLASH_BANKS; x++) {
                pChip->details.bank[x].pChip = pChip;
                pChip->details.bank[x].pBank = saved_banks[x];
        }
 
-       // update the *BANK*SIZE*
+       /* update the *BANK*SIZE* */
 
        LOG_DEBUG("End");
        return ERROR_OK;
 }
 
-
-
-static int
-_sam3_probe(struct flash_bank *bank, int noise)
+static int _sam3_probe(struct flash_bank *bank, int noise)
 {
        unsigned x;
        int r;
@@ -2528,8 +2430,7 @@ _sam3_probe(struct flash_bank *bank, int noise)
 
 
        LOG_DEBUG("Begin: Bank: %d, Noise: %d", bank->bank_number, noise);
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -2541,42 +2442,38 @@ _sam3_probe(struct flash_bank *bank, int noise)
        }
 
        r = sam3_ReadAllRegs(pPrivate->pChip);
-       if (r != ERROR_OK) {
+       if (r != ERROR_OK)
                return r;
-       }
-
 
        LOG_DEBUG("Here");
-       if (pPrivate->pChip->probed) {
+       if (pPrivate->pChip->probed)
                r = sam3_GetInfo(pPrivate->pChip);
-       } else {
+       else
                r = sam3_GetDetails(pPrivate);
-       }
-       if (r != ERROR_OK) {
+       if (r != ERROR_OK)
                return r;
-       }
 
-       // update the flash bank size
-       for (x = 0 ; x < SAM3_MAX_FLASH_BANKS ; x++) {
+       /* update the flash bank size */
+       for (x = 0; x < SAM3_MAX_FLASH_BANKS; x++) {
                if (bank->base == pPrivate->pChip->details.bank[x].base_address) {
-                       bank->size =  pPrivate->pChip->details.bank[x].size_bytes;
+                       bank->size = pPrivate->pChip->details.bank[x].size_bytes;
                        break;
                }
        }
 
        if (bank->sectors == NULL) {
-               bank->sectors     = calloc(pPrivate->nsectors, (sizeof((bank->sectors)[0])));
+               bank->sectors = calloc(pPrivate->nsectors, (sizeof((bank->sectors)[0])));
                if (bank->sectors == NULL) {
                        LOG_ERROR("No memory!");
                        return ERROR_FAIL;
                }
                bank->num_sectors = pPrivate->nsectors;
 
-               for (x = 0 ; ((int)(x)) < bank->num_sectors ; x++) {
-                       bank->sectors[x].size         = pPrivate->sector_size;
-                       bank->sectors[x].offset       = x * (pPrivate->sector_size);
-                       // mark as unknown
-                       bank->sectors[x].is_erased    = -1;
+               for (x = 0; ((int)(x)) < bank->num_sectors; x++) {
+                       bank->sectors[x].size = pPrivate->sector_size;
+                       bank->sectors[x].offset = x * (pPrivate->sector_size);
+                       /* mark as unknown */
+                       bank->sectors[x].is_erased = -1;
                        bank->sectors[x].is_protected = -1;
                }
        }
@@ -2584,37 +2481,31 @@ _sam3_probe(struct flash_bank *bank, int noise)
        pPrivate->probed = 1;
 
        r = sam3_protect_check(bank);
-       if (r != ERROR_OK) {
+       if (r != ERROR_OK)
                return r;
-       }
 
        LOG_DEBUG("Bank = %d, nbanks = %d",
-                         pPrivate->bank_number , pPrivate->pChip->details.n_banks);
+               pPrivate->bank_number, pPrivate->pChip->details.n_banks);
        if ((pPrivate->bank_number + 1) == pPrivate->pChip->details.n_banks) {
-               // read unique id,
-               // it appears to be associated with the *last* flash bank.
+               /* read unique id, */
+               /* it appears to be associated with the *last* flash bank. */
                FLASHD_ReadUniqueID(pPrivate);
        }
 
        return r;
 }
 
-static int
-sam3_probe(struct flash_bank *bank)
+static int sam3_probe(struct flash_bank *bank)
 {
        return _sam3_probe(bank, 1);
 }
 
-static int
-sam3_auto_probe(struct flash_bank *bank)
+static int sam3_auto_probe(struct flash_bank *bank)
 {
        return _sam3_probe(bank, 0);
 }
 
-
-
-static int
-sam3_erase(struct flash_bank *bank, int first, int last)
+static int sam3_erase(struct flash_bank *bank, int first, int last)
 {
        struct sam3_bank_private *pPrivate;
        int r;
@@ -2627,17 +2518,16 @@ sam3_erase(struct flash_bank *bank, int first, int last)
 
        r = sam3_auto_probe(bank);
        if (r != ERROR_OK) {
-               LOG_DEBUG("Here,r=%d",r);
+               LOG_DEBUG("Here,r=%d", r);
                return r;
        }
 
        pPrivate = get_sam3_bank_private(bank);
-       if (!(pPrivate->probed)) {
+       if (!(pPrivate->probed))
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
 
-       if ((first == 0) && ((last + 1)== ((int)(pPrivate->nsectors)))) {
-               // whole chip
+       if ((first == 0) && ((last + 1) == ((int)(pPrivate->nsectors)))) {
+               /* whole chip */
                LOG_DEBUG("Here");
                return FLASHD_EraseEntireBank(pPrivate);
        }
@@ -2645,8 +2535,7 @@ sam3_erase(struct flash_bank *bank, int first, int last)
        return ERROR_OK;
 }
 
-static int
-sam3_protect(struct flash_bank *bank, int set, int first, int last)
+static int sam3_protect(struct flash_bank *bank, int set, int first, int last)
 {
        struct sam3_bank_private *pPrivate;
        int r;
@@ -2658,35 +2547,30 @@ sam3_protect(struct flash_bank *bank, int set, int first, int last)
        }
 
        pPrivate = get_sam3_bank_private(bank);
-       if (!(pPrivate->probed)) {
+       if (!(pPrivate->probed))
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
 
-       if (set) {
+       if (set)
                r = FLASHD_Lock(pPrivate, (unsigned)(first), (unsigned)(last));
-       } else {
+       else
                r = FLASHD_Unlock(pPrivate, (unsigned)(first), (unsigned)(last));
-       }
-       LOG_DEBUG("End: r=%d",r);
+       LOG_DEBUG("End: r=%d", r);
 
        return r;
 
 }
 
-
-static int
-sam3_info(struct flash_bank *bank, char *buf, int buf_size)
+static int sam3_info(struct flash_bank *bank, char *buf, int buf_size)
 {
        if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
-       buf[ 0 ] = 0;
+       buf[0] = 0;
        return ERROR_OK;
 }
 
-static int
-sam3_page_read(struct sam3_bank_private *pPrivate, unsigned pagenum, uint8_t *buf)
+static int sam3_page_read(struct sam3_bank_private *pPrivate, unsigned pagenum, uint8_t *buf)
 {
        uint32_t adr;
        int r;
@@ -2695,112 +2579,108 @@ sam3_page_read(struct sam3_bank_private *pPrivate, unsigned pagenum, uint8_t *bu
        adr += adr + pPrivate->base_address;
 
        r = target_read_memory(pPrivate->pChip->target,
-                                                       adr,
-                                                       4, /* THIS*MUST*BE* in 32bit values */
-                                                       pPrivate->page_size / 4,
-                                                       buf);
-       if (r != ERROR_OK) {
-               LOG_ERROR("SAM3: Flash program failed to read page phys address: 0x%08x", (unsigned int)(adr));
-       }
+                       adr,
+                       4,                                      /* THIS*MUST*BE* in 32bit values */
+                       pPrivate->page_size / 4,
+                       buf);
+       if (r != ERROR_OK)
+               LOG_ERROR("SAM3: Flash program failed to read page phys address: 0x%08x",
+                       (unsigned int)(adr));
        return r;
 }
 
-// The code below is basically this:
-// compiled with
-// arm-none-eabi-gcc -mthumb -mcpu = cortex-m3 -O9 -S ./foobar.c -o foobar.s
-//
-// Only the *CPU* can write to the flash buffer.
-// the DAP cannot... so - we download this 28byte thing
-// Run the algorithm - (below)
-// to program the device
-//
-// ========================================
-// #include <stdint.h>
-//
-// struct foo {
-//   uint32_t *dst;
-//   const uint32_t *src;
-//   int   n;
-//   volatile uint32_t *base;
-//   uint32_t   cmd;
-// };
-//
-//
-// uint32_t sam3_function(struct foo *p)
-// {
-//   volatile uint32_t *v;
-//   uint32_t *d;
-//   const uint32_t *s;
-//   int   n;
-//   uint32_t r;
-//
-//   d = p->dst;
-//   s = p->src;
-//   n = p->n;
-//
-//   do {
-//     *d++ = *s++;
-//   } while (--n)
-//     ;
-//
-//   v = p->base;
-//
-//   v[ 1 ] = p->cmd;
-//   do {
-//     r = v[8/4];
-//   } while (!(r&1))
-//     ;
-//   return r;
-// }
-// ========================================
-
-
+/* The code below is basically this: */
+/* compiled with */
+/* arm-none-eabi-gcc -mthumb -mcpu = cortex-m3 -O9 -S ./foobar.c -o foobar.s */
+/*  */
+/* Only the *CPU* can write to the flash buffer. */
+/* the DAP cannot... so - we download this 28byte thing */
+/* Run the algorithm - (below) */
+/* to program the device */
+/*  */
+/* ======================================== */
+/* #include <stdint.h> */
+/*  */
+/* struct foo { */
+/*   uint32_t *dst; */
+/*   const uint32_t *src; */
+/*   int   n; */
+/*   volatile uint32_t *base; */
+/*   uint32_t   cmd; */
+/* }; */
+/*  */
+/*  */
+/* uint32_t sam3_function(struct foo *p) */
+/* { */
+/*   volatile uint32_t *v; */
+/*   uint32_t *d; */
+/*   const uint32_t *s; */
+/*   int   n; */
+/*   uint32_t r; */
+/*  */
+/*   d = p->dst; */
+/*   s = p->src; */
+/*   n = p->n; */
+/*  */
+/*   do { */
+/*     *d++ = *s++; */
+/*   } while (--n) */
+/*     ; */
+/*  */
+/*   v = p->base; */
+/*  */
+/*   v[ 1 ] = p->cmd; */
+/*   do { */
+/*     r = v[8/4]; */
+/*   } while (!(r&1)) */
+/*     ; */
+/*   return r; */
+/* } */
+/* ======================================== */
 
 static const uint8_t
-sam3_page_write_opcodes[] = {
-       //  24 0000 0446                mov     r4, r0
-       0x04,0x46,
-       //  25 0002 6168                ldr     r1, [r4, #4]
-       0x61,0x68,
-       //  26 0004 0068                ldr     r0, [r0, #0]
-       0x00,0x68,
-       //  27 0006 A268                ldr     r2, [r4, #8]
-       0xa2,0x68,
-       //  28                          @ lr needed for prologue
-       //  29                  .L2:
-       //  30 0008 51F8043B            ldr     r3, [r1], #4
-       0x51,0xf8,0x04,0x3b,
-       //  31 000c 12F1FF32            adds    r2, r2, #-1
-       0x12,0xf1,0xff,0x32,
-       //  32 0010 40F8043B            str     r3, [r0], #4
-       0x40,0xf8,0x04,0x3b,
-       //  33 0014 F8D1                bne     .L2
-       0xf8,0xd1,
-       //  34 0016 E268                ldr     r2, [r4, #12]
-       0xe2,0x68,
-       //  35 0018 2369                ldr     r3, [r4, #16]
-       0x23,0x69,
-       //  36 001a 5360                str     r3, [r2, #4]
-       0x53,0x60,
-       //  37 001c 0832                adds    r2, r2, #8
-       0x08,0x32,
-       //  38                  .L4:
-       //  39 001e 1068                ldr     r0, [r2, #0]
-       0x10,0x68,
-       //  40 0020 10F0010F            tst     r0, #1
-       0x10,0xf0,0x01,0x0f,
-       //  41 0024 FBD0                beq     .L4
-       0xfb,0xd0,
-       0x00,0xBE                               /* bkpt #0 */
+       sam3_page_write_opcodes[] = {
+       /*  24 0000 0446                mov     r4, r0 */
+       0x04, 0x46,
+       /*  25 0002 6168                ldr     r1, [r4, #4] */
+       0x61, 0x68,
+       /*  26 0004 0068                ldr     r0, [r0, #0] */
+       0x00, 0x68,
+       /*  27 0006 A268                ldr     r2, [r4, #8] */
+       0xa2, 0x68,
+       /*  28                          @ lr needed for prologue */
+       /*  29                  .L2: */
+       /*  30 0008 51F8043B            ldr     r3, [r1], #4 */
+       0x51, 0xf8, 0x04, 0x3b,
+       /*  31 000c 12F1FF32            adds    r2, r2, #-1 */
+       0x12, 0xf1, 0xff, 0x32,
+       /*  32 0010 40F8043B            str     r3, [r0], #4 */
+       0x40, 0xf8, 0x04, 0x3b,
+       /*  33 0014 F8D1                bne     .L2 */
+       0xf8, 0xd1,
+       /*  34 0016 E268                ldr     r2, [r4, #12] */
+       0xe2, 0x68,
+       /*  35 0018 2369                ldr     r3, [r4, #16] */
+       0x23, 0x69,
+       /*  36 001a 5360                str     r3, [r2, #4] */
+       0x53, 0x60,
+       /*  37 001c 0832                adds    r2, r2, #8 */
+       0x08, 0x32,
+       /*  38                  .L4: */
+       /*  39 001e 1068                ldr     r0, [r2, #0] */
+       0x10, 0x68,
+       /*  40 0020 10F0010F            tst     r0, #1 */
+       0x10, 0xf0, 0x01, 0x0f,
+       /*  41 0024 FBD0                beq     .L4 */
+       0xfb, 0xd0,
+       0x00, 0xBE                              /* bkpt #0 */
 };
 
-
-static int
-sam3_page_write(struct sam3_bank_private *pPrivate, unsigned pagenum, uint8_t *buf)
+static int sam3_page_write(struct sam3_bank_private *pPrivate, unsigned pagenum, uint8_t *buf)
 {
        uint32_t adr;
        uint32_t status;
-       uint32_t fmr; /* EEFC Flash Mode Register */
+       uint32_t fmr;   /* EEFC Flash Mode Register */
        int r;
 
        adr = pagenum * pPrivate->page_size;
@@ -2824,24 +2704,25 @@ sam3_page_write(struct sam3_bank_private *pPrivate, unsigned pagenum, uint8_t *b
 
        LOG_DEBUG("Wr Page %u @ phys address: 0x%08x", pagenum, (unsigned int)(adr));
        r = target_write_memory(pPrivate->pChip->target,
-                                                        adr,
-                                                        4, /* THIS*MUST*BE* in 32bit values */
-                                                        pPrivate->page_size / 4,
-                                                        buf);
+                       adr,
+                       4,                                      /* THIS*MUST*BE* in 32bit values */
+                       pPrivate->page_size / 4,
+                       buf);
        if (r != ERROR_OK) {
-               LOG_ERROR("SAM3: Failed to write (buffer) page at phys address 0x%08x", (unsigned int)(adr));
+               LOG_ERROR("SAM3: Failed to write (buffer) page at phys address 0x%08x",
+                       (unsigned int)(adr));
                return r;
        }
 
        r = EFC_PerformCommand(pPrivate,
-                                                       // send Erase & Write Page
-                                                       AT91C_EFC_FCMD_EWP,
-                                                       pagenum,
-                                                       &status);
+                       /* send Erase & Write Page */
+                       AT91C_EFC_FCMD_EWP,
+                       pagenum,
+                       &status);
 
-       if (r != ERROR_OK) {
-               LOG_ERROR("SAM3: Error performing Erase & Write page @ phys address 0x%08x", (unsigned int)(adr));
-       }
+       if (r != ERROR_OK)
+               LOG_ERROR("SAM3: Error performing Erase & Write page @ phys address 0x%08x",
+                       (unsigned int)(adr));
        if (status & (1 << 2)) {
                LOG_ERROR("SAM3: Page @ Phys address 0x%08x is locked", (unsigned int)(adr));
                return ERROR_FAIL;
@@ -2853,15 +2734,10 @@ sam3_page_write(struct sam3_bank_private *pPrivate, unsigned pagenum, uint8_t *b
        return ERROR_OK;
 }
 
-
-
-
-
-static int
-sam3_write(struct flash_bank *bank,
-                  uint8_t *buffer,
-                  uint32_t offset,
-                  uint32_t count)
+static int sam3_write(struct flash_bank *bank,
+       uint8_t *buffer,
+       uint32_t offset,
+       uint32_t count)
 {
        int n;
        unsigned page_cur;
@@ -2871,10 +2747,10 @@ sam3_write(struct flash_bank *bank,
        struct sam3_bank_private *pPrivate;
        uint8_t *pagebuffer;
 
-       // incase we bail further below, set this to null
+       /* incase we bail further below, set this to null */
        pagebuffer = NULL;
 
-       // ignore dumb requests
+       /* ignore dumb requests */
        if (count == 0) {
                r = ERROR_OK;
                goto done;
@@ -2892,79 +2768,74 @@ sam3_write(struct flash_bank *bank,
                goto done;
        }
 
-
        if ((offset + count) > pPrivate->size_bytes) {
                LOG_ERROR("Flash write error - past end of bank");
                LOG_ERROR(" offset: 0x%08x, count 0x%08x, BankEnd: 0x%08x",
-                                 (unsigned int)(offset),
-                                 (unsigned int)(count),
-                                 (unsigned int)(pPrivate->size_bytes));
+                       (unsigned int)(offset),
+                       (unsigned int)(count),
+                       (unsigned int)(pPrivate->size_bytes));
                r = ERROR_FAIL;
                goto done;
        }
 
        pagebuffer = malloc(pPrivate->page_size);
-       if( !pagebuffer ){
+       if (!pagebuffer) {
                LOG_ERROR("No memory for %d Byte page buffer", (int)(pPrivate->page_size));
                r = ERROR_FAIL;
                goto done;
        }
 
-       // what page do we start & end in?
+       /* what page do we start & end in? */
        page_cur = offset / pPrivate->page_size;
        page_end = (offset + count - 1) / pPrivate->page_size;
 
        LOG_DEBUG("Offset: 0x%08x, Count: 0x%08x", (unsigned int)(offset), (unsigned int)(count));
        LOG_DEBUG("Page start: %d, Page End: %d", (int)(page_cur), (int)(page_end));
 
-       // Special case: all one page
-       //
-       // Otherwise:
-       //    (1) non-aligned start
-       //    (2) body pages
-       //    (3) non-aligned end.
+       /* Special case: all one page */
+       /*  */
+       /* Otherwise: */
+       /*    (1) non-aligned start */
+       /*    (2) body pages */
+       /*    (3) non-aligned end. */
 
-       // Handle special case - all one page.
+       /* Handle special case - all one page. */
        if (page_cur == page_end) {
                LOG_DEBUG("Special case, all in one page");
                r = sam3_page_read(pPrivate, page_cur, pagebuffer);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        goto done;
-               }
 
                page_offset = (offset & (pPrivate->page_size-1));
                memcpy(pagebuffer + page_offset,
-                               buffer,
-                               count);
+                       buffer,
+                       count);
 
                r = sam3_page_write(pPrivate, page_cur, pagebuffer);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        goto done;
-               }
                r = ERROR_OK;
                goto done;
        }
 
-       // non-aligned start
+       /* non-aligned start */
        page_offset = offset & (pPrivate->page_size - 1);
        if (page_offset) {
                LOG_DEBUG("Not-Aligned start");
-               // read the partial
+               /* read the partial */
                r = sam3_page_read(pPrivate, page_cur, pagebuffer);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        goto done;
-               }
 
-               // over-write with new data
+               /* over-write with new data */
                n = (pPrivate->page_size - page_offset);
                memcpy(pagebuffer + page_offset,
-                               buffer,
-                               n);
+                       buffer,
+                       n);
 
                r = sam3_page_write(pPrivate, page_cur, pagebuffer);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        goto done;
-               }
 
                count  -= n;
                offset += n;
@@ -2976,45 +2847,41 @@ sam3_write(struct flash_bank *bank,
        fix a clang warning */
        assert(offset == pPrivate->page_size);
 
-       // intermediate large pages
-       // also - the final *terminal*
-       // if that terminal page is a full page
+       /* intermediate large pages */
+       /* also - the final *terminal* */
+       /* if that terminal page is a full page */
        LOG_DEBUG("Full Page Loop: cur=%d, end=%d, count = 0x%08x",
-                         (int)page_cur, (int)page_end, (unsigned int)(count));
+               (int)page_cur, (int)page_end, (unsigned int)(count));
 
        while ((page_cur < page_end) &&
-                  (count >= pPrivate->page_size)) {
+                       (count >= pPrivate->page_size)) {
                r = sam3_page_write(pPrivate, page_cur, buffer);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        goto done;
-               }
-               count    -= pPrivate->page_size;
-               buffer   += pPrivate->page_size;
+               count -= pPrivate->page_size;
+               buffer += pPrivate->page_size;
                page_cur += 1;
        }
 
-       // terminal partial page?
+       /* terminal partial page? */
        if (count) {
                LOG_DEBUG("Terminal partial page, count = 0x%08x", (unsigned int)(count));
-               // we have a partial page
+               /* we have a partial page */
                r = sam3_page_read(pPrivate, page_cur, pagebuffer);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        goto done;
-               }
-               // data goes at start
+                                       /* data goes at start */
                memcpy(pagebuffer, buffer, count);
                r = sam3_page_write(pPrivate, page_cur, pagebuffer);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        goto done;
-               }
                buffer += count;
        }
        LOG_DEBUG("Done!");
        r = ERROR_OK;
- done:
-       if( pagebuffer ){
+done:
+       if (pagebuffer)
                free(pagebuffer);
-       }
        return r;
 }
 
@@ -3022,61 +2889,53 @@ COMMAND_HANDLER(sam3_handle_info_command)
 {
        struct sam3_chip *pChip;
        pChip = get_current_sam3(CMD_CTX);
-       if (!pChip) {
+       if (!pChip)
                return ERROR_OK;
-       }
 
        unsigned x;
        int r;
 
-       // bank0 must exist before we can do anything
+       /* bank0 must exist before we can do anything */
        if (pChip->details.bank[0].pBank == NULL) {
                x = 0;
-       need_define:
+need_define:
                command_print(CMD_CTX,
-                                          "Please define bank %d via command: flash bank %s ... ",
-                                          x,
-                                          at91sam3_flash.name);
+                       "Please define bank %d via command: flash bank %s ... ",
+                       x,
+                       at91sam3_flash.name);
                return ERROR_FAIL;
        }
 
-       // if bank 0 is not probed, then probe it
+       /* if bank 0 is not probed, then probe it */
        if (!(pChip->details.bank[0].probed)) {
                r = sam3_auto_probe(pChip->details.bank[0].pBank);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        return ERROR_FAIL;
-               }
        }
-       // above guarantees the "chip details" structure is valid
-       // and thus, bank private areas are valid
-       // and we have a SAM3 chip, what a concept!
+       /* above guarantees the "chip details" structure is valid */
+       /* and thus, bank private areas are valid */
+       /* and we have a SAM3 chip, what a concept! */
 
-
-       // auto-probe other banks, 0 done above
-    for (x = 1 ; x < SAM3_MAX_FLASH_BANKS ; x++) {
-               // skip banks not present
-               if (!(pChip->details.bank[x].present)) {
+       /* auto-probe other banks, 0 done above */
+       for (x = 1; x < SAM3_MAX_FLASH_BANKS; x++) {
+               /* skip banks not present */
+               if (!(pChip->details.bank[x].present))
                        continue;
-               }
 
-               if (pChip->details.bank[x].pBank == NULL) {
+               if (pChip->details.bank[x].pBank == NULL)
                        goto need_define;
-               }
 
-               if (pChip->details.bank[x].probed) {
+               if (pChip->details.bank[x].probed)
                        continue;
-               }
 
                r = sam3_auto_probe(pChip->details.bank[x].pBank);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        return r;
-               }
        }
 
-
        r = sam3_GetInfo(pChip);
        if (r != ERROR_OK) {
-               LOG_DEBUG("Sam3Info, Failed %d",r);
+               LOG_DEBUG("Sam3Info, Failed %d", r);
                return r;
        }
 
@@ -3085,63 +2944,59 @@ COMMAND_HANDLER(sam3_handle_info_command)
 
 COMMAND_HANDLER(sam3_handle_gpnvm_command)
 {
-       unsigned x,v;
-       int r,who;
+       unsigned x, v;
+       int r, who;
        struct sam3_chip *pChip;
 
        pChip = get_current_sam3(CMD_CTX);
-       if (!pChip) {
+       if (!pChip)
                return ERROR_OK;
-       }
 
        if (pChip->target->state != TARGET_HALTED) {
                LOG_ERROR("sam3 - target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-
        if (pChip->details.bank[0].pBank == NULL) {
                command_print(CMD_CTX, "Bank0 must be defined first via: flash bank %s ...",
-                                          at91sam3_flash.name);
+                       at91sam3_flash.name);
                return ERROR_FAIL;
        }
        if (!pChip->details.bank[0].probed) {
                r = sam3_auto_probe(pChip->details.bank[0].pBank);
-               if (r != ERROR_OK) {
+               if (r != ERROR_OK)
                        return r;
-               }
        }
 
        switch (CMD_ARGC) {
-       default:
-               return ERROR_COMMAND_SYNTAX_ERROR;
-               break;
-       case 0:
-               goto showall;
-               break;
-       case 1:
-               who = -1;
-               break;
-       case 2:
-               if ((0 == strcmp(CMD_ARGV[0], "show")) && (0 == strcmp(CMD_ARGV[1], "all"))) {
+               default:
+                       return ERROR_COMMAND_SYNTAX_ERROR;
+                       break;
+               case 0:
+                       goto showall;
+                       break;
+               case 1:
                        who = -1;
-               } else {
-                       uint32_t v32;
-                       COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], v32);
-                       who = v32;
-               }
-               break;
+                       break;
+               case 2:
+                       if ((0 == strcmp(CMD_ARGV[0], "show")) && (0 == strcmp(CMD_ARGV[1], "all")))
+                               who = -1;
+                       else {
+                               uint32_t v32;
+                               COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], v32);
+                               who = v32;
+                       }
+                       break;
        }
 
        if (0 == strcmp("show", CMD_ARGV[0])) {
                if (who == -1) {
 showall:
                        r = ERROR_OK;
-                       for (x = 0 ; x < pChip->details.n_gpnvms ; x++) {
+                       for (x = 0; x < pChip->details.n_gpnvms; x++) {
                                r = FLASHD_GetGPNVM(&(pChip->details.bank[0]), x, &v);
-                               if (r != ERROR_OK) {
+                               if (r != ERROR_OK)
                                        break;
-                               }
                                command_print(CMD_CTX, "sam3-gpnvm%u: %u", x, v);
                        }
                        return r;
@@ -3161,12 +3016,12 @@ showall:
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
 
-       if (0 == strcmp("set", CMD_ARGV[0])) {
+       if (0 == strcmp("set", CMD_ARGV[0]))
                r = FLASHD_SetGPNVM(&(pChip->details.bank[0]), who);
-       else if ((0 == strcmp("clr", CMD_ARGV[0])) ||
-                          (0 == strcmp("clear", CMD_ARGV[0]))) { // quietly accept both
+       else if ((0 == strcmp("clr", CMD_ARGV[0])) ||
+                (0 == strcmp("clear", CMD_ARGV[0])))                   /* quietly accept both */
                r = FLASHD_ClrGPNVM(&(pChip->details.bank[0]), who);
-       else {
+       else {
                command_print(CMD_CTX, "Unknown command: %s", CMD_ARGV[0]);
                r = ERROR_COMMAND_SYNTAX_ERROR;
        }
@@ -3178,37 +3033,35 @@ COMMAND_HANDLER(sam3_handle_slowclk_command)
        struct sam3_chip *pChip;
 
        pChip = get_current_sam3(CMD_CTX);
-       if (!pChip) {
+       if (!pChip)
                return ERROR_OK;
-       }
-
 
        switch (CMD_ARGC) {
-       case 0:
-               // show
-               break;
-       case 1:
-       {
-               // set
-               uint32_t v;
-               COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], v);
-               if (v > 200000) {
-                       // absurd slow clock of 200Khz?
-                       command_print(CMD_CTX,"Absurd/illegal slow clock freq: %d\n", (int)(v));
-                       return ERROR_COMMAND_SYNTAX_ERROR;
+               case 0:
+                       /* show */
+                       break;
+               case 1:
+               {
+                       /* set */
+                       uint32_t v;
+                       COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], v);
+                       if (v > 200000) {
+                               /* absurd slow clock of 200Khz? */
+                               command_print(CMD_CTX, "Absurd/illegal slow clock freq: %d\n", (int)(v));
+                               return ERROR_COMMAND_SYNTAX_ERROR;
+                       }
+                       pChip->cfg.slow_freq = v;
+                       break;
                }
-               pChip->cfg.slow_freq = v;
-               break;
-       }
-       default:
-               // error
-               command_print(CMD_CTX,"Too many parameters");
-               return ERROR_COMMAND_SYNTAX_ERROR;
-               break;
+               default:
+                       /* error */
+                       command_print(CMD_CTX, "Too many parameters");
+                       return ERROR_COMMAND_SYNTAX_ERROR;
+                       break;
        }
        command_print(CMD_CTX, "Slowclk freq: %d.%03dkhz",
-                                  (int)(pChip->cfg.slow_freq/ 1000),
-                                  (int)(pChip->cfg.slow_freq% 1000));
+               (int)(pChip->cfg.slow_freq / 1000),
+               (int)(pChip->cfg.slow_freq % 1000));
        return ERROR_OK;
 }
 
index c2506be35a01b4741078476e548b76d45c3ea234..e46122ad8a2ae3265a99d82e0008755895631271 100644 (file)
 #include "imp.h"
 #include <helper/binarybuffer.h>
 
-
 /* AT91SAM7 control registers */
-#define DBGU_CIDR                      0xFFFFF240
-#define CKGR_MCFR                      0xFFFFFC24
-#define CKGR_MOR                       0xFFFFFC20
-#define CKGR_MCFR_MAINRDY      0x10000
-#define CKGR_PLLR                      0xFFFFFC2c
-#define CKGR_PLLR_DIV          0xff
-#define CKGR_PLLR_MUL          0x07ff0000
-#define PMC_MCKR                       0xFFFFFC30
-#define PMC_MCKR_CSS           0x03
-#define PMC_MCKR_PRES          0x1c
+#define DBGU_CIDR                       0xFFFFF240
+#define CKGR_MCFR                       0xFFFFFC24
+#define CKGR_MOR                        0xFFFFFC20
+#define CKGR_MCFR_MAINRDY       0x10000
+#define CKGR_PLLR                       0xFFFFFC2c
+#define CKGR_PLLR_DIV           0xff
+#define CKGR_PLLR_MUL           0x07ff0000
+#define PMC_MCKR                        0xFFFFFC30
+#define PMC_MCKR_CSS            0x03
+#define PMC_MCKR_PRES           0x1c
 
 /* Flash Controller Commands */
-#define WP             0x01
-#define SLB            0x02
-#define WPL            0x03
-#define CLB            0x04
-#define EA             0x08
-#define SGPB   0x0B
-#define CGPB   0x0D
-#define SSB            0x0F
+#define WP              0x01
+#define SLB             0x02
+#define WPL             0x03
+#define CLB             0x04
+#define EA              0x08
+#define SGPB    0x0B
+#define CGPB    0x0D
+#define SSB             0x0F
 
 /* MC_FSR bit definitions */
-#define MC_FSR_FRDY                    1
-#define MC_FSR_EOL                     2
+#define MC_FSR_FRDY                     1
+#define MC_FSR_EOL                      2
 
 /* AT91SAM7 constants */
-#define RC_FREQ                                32000
+#define RC_FREQ                         32000
 
 /* Flash timing modes */
-#define FMR_TIMING_NONE                0
-#define FMR_TIMING_NVBITS      1
-#define FMR_TIMING_FLASH       2
+#define FMR_TIMING_NONE         0
+#define FMR_TIMING_NVBITS       1
+#define FMR_TIMING_FLASH        2
 
 /* Flash size constants */
-#define FLASH_SIZE_8KB         1
-#define FLASH_SIZE_16KB                2
-#define FLASH_SIZE_32KB                3
-#define FLASH_SIZE_64KB                5
-#define FLASH_SIZE_128KB       7
-#define FLASH_SIZE_256KB       9
-#define FLASH_SIZE_512KB       10
-#define FLASH_SIZE_1024KB      12
-#define FLASH_SIZE_2048KB      14
-
+#define FLASH_SIZE_8KB          1
+#define FLASH_SIZE_16KB         2
+#define FLASH_SIZE_32KB         3
+#define FLASH_SIZE_64KB         5
+#define FLASH_SIZE_128KB        7
+#define FLASH_SIZE_256KB        9
+#define FLASH_SIZE_512KB        10
+#define FLASH_SIZE_1024KB       12
+#define FLASH_SIZE_2048KB       14
 
 static int at91sam7_protect_check(struct flash_bank *bank);
-static int at91sam7_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count);
+static int at91sam7_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
+               uint32_t count);
 
 static uint32_t at91sam7_get_flash_status(struct target *target, int bank_number);
 static void at91sam7_set_flash_mode(struct flash_bank *bank, int mode);
@@ -111,10 +110,11 @@ static uint32_t MC_FMR[4] = { 0xFFFFFF60, 0xFFFFFF70, 0xFFFFFF80, 0xFFFFFF90 };
 static uint32_t MC_FCR[4] = { 0xFFFFFF64, 0xFFFFFF74, 0xFFFFFF84, 0xFFFFFF94 };
 static uint32_t MC_FSR[4] = { 0xFFFFFF68, 0xFFFFFF78, 0xFFFFFF88, 0xFFFFFF98 };
 
-static char * EPROC[8]= {"Unknown","ARM946-E","ARM7TDMI","Unknown","ARM920T","ARM926EJ-S","Unknown","Unknown"};
+static char *EPROC[8] = {
+       "Unknown", "ARM946-E", "ARM7TDMI", "Unknown", "ARM920T", "ARM926EJ-S", "Unknown", "Unknown"
+};
 
-struct at91sam7_flash_bank
-{
+struct at91sam7_flash_bank {
        /* chip id register */
        uint32_t cidr;
        uint16_t cidr_ext;
@@ -128,7 +128,7 @@ struct at91sam7_flash_bank
        const char *target_name;
 
        /* flash auto-detection */
-       uint8_t  flash_autodetection;
+       uint8_t flash_autodetection;
 
        /* flash geometry */
        uint16_t pages_per_sector;
@@ -141,15 +141,15 @@ struct at91sam7_flash_bank
        uint16_t num_nvmbits;
        uint16_t num_nvmbits_on;
        uint16_t nvmbits;
-       uint8_t  securitybit;
+       uint8_t securitybit;
 
        /* 0: not init
         * 1: fmcn for nvbits (1uS)
         * 2: fmcn for flash (1.5uS) */
-       uint8_t  flashmode;
+       uint8_t flashmode;
 
        /* main clock status */
-       uint8_t  mck_valid;
+       uint8_t mck_valid;
        uint32_t mck_freq;
 
        /* external clock frequency */
@@ -178,7 +178,6 @@ static long SRAMSIZ[16] = {
 };
 #endif
 
-
 static uint32_t at91sam7_get_flash_status(struct target *target, int bank_number)
 {
        uint32_t fsr;
@@ -206,8 +205,7 @@ static void at91sam7_read_clock_info(struct flash_bank *bank)
 
        at91sam7_info->mck_valid = 0;
        at91sam7_info->mck_freq = 0;
-       switch (mckr & PMC_MCKR_CSS)
-       {
+       switch (mckr & PMC_MCKR_CSS) {
                case 0:                 /* Slow Clock */
                        at91sam7_info->mck_valid = 1;
                        tmp = RC_FREQ;
@@ -215,13 +213,10 @@ static void at91sam7_read_clock_info(struct flash_bank *bank)
 
                case 1:                 /* Main Clock */
                        if ((mcfr & CKGR_MCFR_MAINRDY) &&
-                               (at91sam7_info->ext_freq == 0))
-                       {
+                       (at91sam7_info->ext_freq == 0)) {
                                at91sam7_info->mck_valid = 1;
                                tmp = RC_FREQ / 16ul * (mcfr & 0xffff);
-                       }
-                       else if (at91sam7_info->ext_freq != 0)
-                       {
+                       } else if (at91sam7_info->ext_freq != 0) {
                                at91sam7_info->mck_valid = 1;
                                tmp = at91sam7_info->ext_freq;
                        }
@@ -232,35 +227,30 @@ static void at91sam7_read_clock_info(struct flash_bank *bank)
 
                case 3:                 /* PLL Clock */
                        if ((mcfr & CKGR_MCFR_MAINRDY) &&
-                               (at91sam7_info->ext_freq == 0))
-                       {
+                       (at91sam7_info->ext_freq == 0)) {
                                target_read_u32(target, CKGR_PLLR, &pllr);
                                if (!(pllr & CKGR_PLLR_DIV))
-                                       break; /* 0 Hz */
+                                       break;  /* 0 Hz */
                                at91sam7_info->mck_valid = 1;
                                mainfreq = RC_FREQ / 16ul * (mcfr & 0xffff);
                                /* Integer arithmetic should have sufficient precision
                                 * as long as PLL is properly configured. */
                                tmp = mainfreq / (pllr & CKGR_PLLR_DIV)*
-                                       (((pllr & CKGR_PLLR_MUL) >> 16) + 1);
-                       }
-                       else if ((at91sam7_info->ext_freq != 0) &&
-                               ((pllr&CKGR_PLLR_DIV) != 0))
-                       {
+                                               (((pllr & CKGR_PLLR_MUL) >> 16) + 1);
+                       } else if ((at91sam7_info->ext_freq != 0) &&
+                                       ((pllr&CKGR_PLLR_DIV) != 0)) {
                                at91sam7_info->mck_valid = 1;
                                tmp = at91sam7_info->ext_freq / (pllr&CKGR_PLLR_DIV)*
-                                       (((pllr & CKGR_PLLR_MUL) >> 16) + 1);
+                                               (((pllr & CKGR_PLLR_MUL) >> 16) + 1);
                        }
                        break;
        }
 
        /* Prescaler adjust */
-       if ((((mckr & PMC_MCKR_PRES) >> 2) == 7) || (tmp == 0))
-       {
+       if ((((mckr & PMC_MCKR_PRES) >> 2) == 7) || (tmp == 0)) {
                at91sam7_info->mck_valid = 0;
                at91sam7_info->mck_freq = 0;
-       }
-       else if (((mckr & PMC_MCKR_PRES) >> 2) != 0)
+       } else if (((mckr & PMC_MCKR_PRES) >> 2) != 0)
                at91sam7_info->mck_freq = tmp >> ((mckr & PMC_MCKR_PRES) >> 2);
        else
                at91sam7_info->mck_freq = tmp;
@@ -273,24 +263,17 @@ static void at91sam7_set_flash_mode(struct flash_bank *bank, int mode)
        struct at91sam7_flash_bank *at91sam7_info = bank->driver_priv;
        struct target *target = bank->target;
 
-       if (mode && (mode != at91sam7_info->flashmode))
-       {
+       if (mode && (mode != at91sam7_info->flashmode)) {
                /* Always round up (ceil) */
-               if (mode == FMR_TIMING_NVBITS)
-               {
-                       if (at91sam7_info->cidr_arch == 0x60)
-                       {
+               if (mode == FMR_TIMING_NVBITS) {
+                       if (at91sam7_info->cidr_arch == 0x60) {
                                /* AT91SAM7A3 uses master clocks in 100 ns */
                                fmcn = (at91sam7_info->mck_freq/10000000ul) + 1;
-                       }
-                       else
-                       {
+                       } else {
                                /* master clocks in 1uS for ARCH 0x7 types */
                                fmcn = (at91sam7_info->mck_freq/1000000ul) + 1;
                        }
-               }
-               else if (mode == FMR_TIMING_FLASH)
-               {
+               } else if (mode == FMR_TIMING_FLASH) {
                        /* main clocks in 1.5uS */
                        fmcn = (at91sam7_info->mck_freq/1000000ul)+
                                (at91sam7_info->mck_freq/2000000ul) + 1;
@@ -319,16 +302,15 @@ static uint32_t at91sam7_wait_status_busy(struct flash_bank *bank, uint32_t wait
 {
        uint32_t status;
 
-       while ((!((status = at91sam7_get_flash_status(bank->target, bank->bank_number)) & waitbits)) && (timeout-- > 0))
-       {
+       while ((!((status = at91sam7_get_flash_status(bank->target,
+                       bank->bank_number)) & waitbits)) && (timeout-- > 0)) {
                LOG_DEBUG("status[%i]: 0x%" PRIx32 "", (int)bank->bank_number, status);
                alive_sleep(1);
        }
 
        LOG_DEBUG("status[%i]: 0x%" PRIx32 "", bank->bank_number, status);
 
-       if (status & 0x0C)
-       {
+       if (status & 0x0C) {
                LOG_ERROR("status register: 0x%" PRIx32 "", status);
                if (status & 0x4)
                        LOG_ERROR("Lock Error Bit Detected, Operation Abort");
@@ -350,22 +332,20 @@ static int at91sam7_flash_command(struct flash_bank *bank, uint8_t cmd, uint16_t
 
        fcr = (0x5A << 24) | ((pagen&0x3FF) << 8) | cmd;
        target_write_u32(target, MC_FCR[bank->bank_number], fcr);
-       LOG_DEBUG("Flash command: 0x%" PRIx32 ", flash bank: %i, page number: %u", fcr, bank->bank_number + 1, pagen);
+       LOG_DEBUG("Flash command: 0x%" PRIx32 ", flash bank: %i, page number: %u",
+               fcr,
+               bank->bank_number + 1,
+               pagen);
 
-       if ((at91sam7_info->cidr_arch == 0x60) && ((cmd == SLB) | (cmd == CLB)))
-       {
+       if ((at91sam7_info->cidr_arch == 0x60) && ((cmd == SLB) | (cmd == CLB))) {
                /* Lock bit manipulation on AT91SAM7A3 waits for FC_FSR bit 1, EOL */
                if (at91sam7_wait_status_busy(bank, MC_FSR_EOL, 10)&0x0C)
-               {
                        return ERROR_FLASH_OPERATION_FAILED;
-               }
                return ERROR_OK;
        }
 
        if (at91sam7_wait_status_busy(bank, MC_FSR_FRDY, 10)&0x0C)
-       {
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        return ERROR_OK;
 }
@@ -392,14 +372,12 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
 
        at91sam7_info = t_bank->driver_priv;
 
-       if (at91sam7_info->cidr != 0)
-       {
+       if (at91sam7_info->cidr != 0) {
                /* flash already configured, update clock and check for protected sectors */
                struct flash_bank *fb = bank;
                t_bank = fb;
 
-               while (t_bank)
-               {
+               while (t_bank) {
                        /* re-calculate master clock frequency */
                        at91sam7_read_clock_info(t_bank);
 
@@ -418,19 +396,16 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
 
        /* Read and parse chip identification register */
        target_read_u32(target, DBGU_CIDR, &cidr);
-       if (cidr == 0)
-       {
+       if (cidr == 0) {
                LOG_WARNING("Cannot identify target as an AT91SAM");
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
-       if (at91sam7_info->flash_autodetection == 0)
-       {
+       if (at91sam7_info->flash_autodetection == 0) {
                /* banks and sectors are already created, based on data from input file */
                struct flash_bank *fb = bank;
                t_bank = fb;
-               while (t_bank)
-               {
+               while (t_bank) {
                        at91sam7_info = t_bank->driver_priv;
 
                        at91sam7_info->cidr = cidr;
@@ -462,8 +437,7 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
        arch = (cidr >> 20)&0x00FF;
 
        /* check flash size */
-       switch ((cidr >> 8)&0x000F)
-       {
+       switch ((cidr >> 8)&0x000F) {
                case FLASH_SIZE_8KB:
                        break;
 
@@ -473,8 +447,7 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
                        pages_per_sector = 32;
                        page_size  = 64;
                        base_address = 0x00100000;
-                       if (arch == 0x70)
-                       {
+                       if (arch == 0x70) {
                                num_nvmbits = 2;
                                target_name_t = "AT91SAM7S161/16";
                        }
@@ -486,13 +459,11 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
                        pages_per_sector = 32;
                        page_size  = 128;
                        base_address = 0x00100000;
-                       if (arch == 0x70)
-                       {
+                       if (arch == 0x70) {
                                num_nvmbits = 2;
                                target_name_t = "AT91SAM7S321/32";
                        }
-                       if (arch == 0x72)
-                       {
+                       if (arch == 0x72) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7SE32";
                        }
@@ -504,8 +475,7 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
                        pages_per_sector = 32;
                        page_size  = 128;
                        base_address = 0x00100000;
-                       if (arch == 0x70)
-                       {
+                       if (arch == 0x70) {
                                num_nvmbits = 2;
                                target_name_t = "AT91SAM7S64";
                        }
@@ -517,23 +487,19 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
                        pages_per_sector = 64;
                        page_size  = 256;
                        base_address = 0x00100000;
-                       if (arch == 0x70)
-                       {
+                       if (arch == 0x70) {
                                num_nvmbits = 2;
                                target_name_t = "AT91SAM7S128";
                        }
-                       if (arch == 0x71)
-                       {
+                       if (arch == 0x71) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7XC128";
                        }
-                       if (arch == 0x72)
-                       {
+                       if (arch == 0x72) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7SE128";
                        }
-                       if (arch == 0x75)
-                       {
+                       if (arch == 0x75) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7X128";
                        }
@@ -545,28 +511,23 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
                        pages_per_sector = 64;
                        page_size  = 256;
                        base_address = 0x00100000;
-                       if (arch == 0x60)
-                       {
+                       if (arch == 0x60) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7A3";
                        }
-                       if (arch == 0x70)
-                       {
+                       if (arch == 0x70) {
                                num_nvmbits = 2;
                                target_name_t = "AT91SAM7S256";
                        }
-                       if (arch == 0x71)
-                       {
+                       if (arch == 0x71) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7XC256";
                        }
-                       if (arch == 0x72)
-                       {
+                       if (arch == 0x72) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7SE256";
                        }
-                       if (arch == 0x75)
-                       {
+                       if (arch == 0x75) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7X256";
                        }
@@ -578,23 +539,19 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
                        pages_per_sector = 64;
                        page_size  = 256;
                        base_address = 0x00100000;
-                       if (arch == 0x70)
-                       {
+                       if (arch == 0x70) {
                                num_nvmbits = 2;
                                target_name_t = "AT91SAM7S512";
                        }
-                       if (arch == 0x71)
-                       {
+                       if (arch == 0x71) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7XC512";
                        }
-                       if (arch == 0x72)
-                       {
+                       if (arch == 0x72) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7SE512";
                        }
-                       if (arch == 0x75)
-                       {
+                       if (arch == 0x75) {
                                num_nvmbits = 3;
                                target_name_t = "AT91SAM7X512";
                        }
@@ -607,9 +564,9 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
                        break;
        }
 
-       if (strcmp(target_name_t, "Unknown") == 0)
-       {
-               LOG_ERROR("Target autodetection failed! Please specify target parameters in configuration file");
+       if (strcmp(target_name_t, "Unknown") == 0) {
+               LOG_ERROR(
+                       "Target autodetection failed! Please specify target parameters in configuration file");
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
@@ -618,10 +575,8 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
        /* calculate bank size  */
        bank_size = sectors_num * pages_per_sector * page_size;
 
-       for (bnk = 0; bnk < banks_num; bnk++)
-       {
-               if (bnk > 0)
-               {
+       for (bnk = 0; bnk < banks_num; bnk++) {
+               if (bnk > 0) {
                        if (!t_bank->next) {
                                /* create a new flash bank element */
                                struct flash_bank *fb = malloc(sizeof(struct flash_bank));
@@ -646,8 +601,7 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
 
                /* allocate sectors */
                t_bank->sectors = malloc(sectors_num * sizeof(struct flash_sector));
-               for (sec = 0; sec < sectors_num; sec++)
-               {
+               for (sec = 0; sec < sectors_num; sec++) {
                        t_bank->sectors[sec].offset = sec * pages_per_sector * page_size;
                        t_bank->sectors[sec].size = pages_per_sector * page_size;
                        t_bank->sectors[sec].is_erased = -1;
@@ -684,7 +638,9 @@ static int at91sam7_read_part_info(struct flash_bank *bank)
                at91sam7_protect_check(t_bank);
        }
 
-       LOG_DEBUG("nvptyp: 0x%3.3x, arch: 0x%4.4x", at91sam7_info->cidr_nvptyp, at91sam7_info->cidr_arch);
+       LOG_DEBUG("nvptyp: 0x%3.3x, arch: 0x%4.4x",
+               at91sam7_info->cidr_nvptyp,
+               at91sam7_info->cidr_arch);
 
        return ERROR_OK;
 }
@@ -699,8 +655,7 @@ static int at91sam7_erase_check(struct flash_bank *bank)
        uint16_t nSector;
        uint16_t nByte;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -710,12 +665,12 @@ static int at91sam7_erase_check(struct flash_bank *bank)
        at91sam7_set_flash_mode(bank, FMR_TIMING_FLASH);
 
        fast_check = 1;
-       for (nSector = 0; nSector < bank->num_sectors; nSector++)
-       {
-               retval = target_blank_check_memory(target, bank->base + bank->sectors[nSector].offset,
-                       bank->sectors[nSector].size, &blank);
-               if (retval != ERROR_OK)
-               {
+       for (nSector = 0; nSector < bank->num_sectors; nSector++) {
+               retval = target_blank_check_memory(target,
+                               bank->base + bank->sectors[nSector].offset,
+                               bank->sectors[nSector].size,
+                               &blank);
+               if (retval != ERROR_OK) {
                        fast_check = 0;
                        break;
                }
@@ -726,25 +681,20 @@ static int at91sam7_erase_check(struct flash_bank *bank)
        }
 
        if (fast_check)
-       {
                return ERROR_OK;
-       }
 
        LOG_USER("Running slow fallback erase check - add working memory");
 
        buffer = malloc(bank->sectors[0].size);
-       for (nSector = 0; nSector < bank->num_sectors; nSector++)
-       {
+       for (nSector = 0; nSector < bank->num_sectors; nSector++) {
                bank->sectors[nSector].is_erased = 1;
                retval = target_read_memory(target, bank->base + bank->sectors[nSector].offset, 4,
-                       bank->sectors[nSector].size/4, buffer);
+                               bank->sectors[nSector].size/4, buffer);
                if (retval != ERROR_OK)
                        return retval;
 
-               for (nByte = 0; nByte < bank->sectors[nSector].size; nByte++)
-               {
-                       if (buffer[nByte] != 0xFF)
-                       {
+               for (nByte = 0; nByte < bank->sectors[nSector].size; nByte++) {
+                       if (buffer[nByte] != 0xFF) {
                                bank->sectors[nSector].is_erased = 0;
                                break;
                        }
@@ -763,11 +713,8 @@ static int at91sam7_protect_check(struct flash_bank *bank)
        struct at91sam7_flash_bank *at91sam7_info = bank->driver_priv;
 
        if (at91sam7_info->cidr == 0)
-       {
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -776,14 +723,11 @@ static int at91sam7_protect_check(struct flash_bank *bank)
        at91sam7_info->lockbits = (status >> 16);
 
        at91sam7_info->num_lockbits_on = 0;
-       for (lock_pos = 0; lock_pos < bank->num_sectors; lock_pos++)
-       {
-               if (((status >> (16 + lock_pos))&(0x0001)) == 1)
-               {
+       for (lock_pos = 0; lock_pos < bank->num_sectors; lock_pos++) {
+               if (((status >> (16 + lock_pos))&(0x0001)) == 1) {
                        at91sam7_info->num_lockbits_on++;
                        bank->sectors[lock_pos].is_protected = 1;
-               }
-               else
+               } else
                        bank->sectors[lock_pos].is_protected = 0;
        }
 
@@ -794,12 +738,9 @@ static int at91sam7_protect_check(struct flash_bank *bank)
        at91sam7_info->nvmbits = (status >> 8)&0xFF;
 
        at91sam7_info->num_nvmbits_on = 0;
-       for (gpnvm_pos = 0; gpnvm_pos < at91sam7_info->num_nvmbits; gpnvm_pos++)
-       {
+       for (gpnvm_pos = 0; gpnvm_pos < at91sam7_info->num_nvmbits; gpnvm_pos++) {
                if (((status >> (8 + gpnvm_pos))&(0x01)) == 1)
-               {
                        at91sam7_info->num_nvmbits_on++;
-               }
        }
 
        return ERROR_OK;
@@ -837,8 +778,7 @@ FLASH_BANK_COMMAND_HANDLER(at91sam7_flash_bank_command)
        at91sam7_info->ext_freq = 0;
        at91sam7_info->flash_autodetection = 0;
 
-       if (CMD_ARGC < 13)
-       {
+       if (CMD_ARGC < 13) {
                at91sam7_info->flash_autodetection = 1;
                return ERROR_OK;
        }
@@ -862,8 +802,7 @@ FLASH_BANK_COMMAND_HANDLER(at91sam7_flash_bank_command)
        }
 
        if ((bus_width == 0) || (banks_num == 0) || (num_sectors == 0) ||
-               (pages_per_sector == 0) || (page_size == 0) || (num_nvmbits == 0))
-       {
+                       (pages_per_sector == 0) || (page_size == 0) || (num_nvmbits == 0)) {
                at91sam7_info->flash_autodetection = 1;
                return ERROR_OK;
        }
@@ -874,10 +813,8 @@ FLASH_BANK_COMMAND_HANDLER(at91sam7_flash_bank_command)
        /* calculate bank size  */
        bank_size = num_sectors * pages_per_sector * page_size;
 
-       for (bnk = 0; bnk < banks_num; bnk++)
-       {
-               if (bnk > 0)
-               {
+       for (bnk = 0; bnk < banks_num; bnk++) {
+               if (bnk > 0) {
                        if (!t_bank->next) {
                                /* create a new bank element */
                                struct flash_bank *fb = malloc(sizeof(struct flash_bank));
@@ -902,8 +839,7 @@ FLASH_BANK_COMMAND_HANDLER(at91sam7_flash_bank_command)
 
                /* allocate sectors */
                t_bank->sectors = malloc(num_sectors * sizeof(struct flash_sector));
-               for (sec = 0; sec < num_sectors; sec++)
-               {
+               for (sec = 0; sec < num_sectors; sec++) {
                        t_bank->sectors[sec].offset = sec * pages_per_sector * page_size;
                        t_bank->sectors[sec].size = pages_per_sector * page_size;
                        t_bank->sectors[sec].is_erased = -1;
@@ -933,61 +869,43 @@ static int at91sam7_erase(struct flash_bank *bank, int first, int last)
        uint8_t erase_all;
 
        if (at91sam7_info->cidr == 0)
-       {
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if ((first < 0) || (last < first) || (last >= bank->num_sectors))
-       {
                return ERROR_FLASH_SECTOR_INVALID;
-       }
 
        erase_all = 0;
        if ((first == 0) && (last == (bank->num_sectors-1)))
-       {
                erase_all = 1;
-       }
 
        /* Configure the flash controller timing */
        at91sam7_read_clock_info(bank);
        at91sam7_set_flash_mode(bank, FMR_TIMING_FLASH);
 
-       if (erase_all)
-       {
+       if (erase_all) {
                if (at91sam7_flash_command(bank, EA, 0) != ERROR_OK)
-               {
                        return ERROR_FLASH_OPERATION_FAILED;
-               }
-       }
-       else
-       {
+       } else {
                /* allocate and clean buffer  */
                nbytes = (last - first + 1) * bank->sectors[first].size;
                buffer = malloc(nbytes * sizeof(uint8_t));
                for (pos = 0; pos < nbytes; pos++)
-               {
                        buffer[pos] = 0xFF;
-               }
 
                if (at91sam7_write(bank, buffer, bank->sectors[first].offset, nbytes) != ERROR_OK)
-               {
                        return ERROR_FLASH_OPERATION_FAILED;
-               }
 
                free(buffer);
        }
 
        /* mark erased sectors */
        for (sec = first; sec <= last; sec++)
-       {
                bank->sectors[sec].is_erased = 1;
-       }
 
        return ERROR_OK;
 }
@@ -1001,27 +919,21 @@ static int at91sam7_protect(struct flash_bank *bank, int set, int first, int las
        struct at91sam7_flash_bank *at91sam7_info = bank->driver_priv;
 
        if (at91sam7_info->cidr == 0)
-       {
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if ((first < 0) || (last < first) || (last >= bank->num_sectors))
-       {
                return ERROR_FLASH_SECTOR_INVALID;
-       }
 
        /* Configure the flash controller timing */
        at91sam7_read_clock_info(bank);
        at91sam7_set_flash_mode(bank, FMR_TIMING_NVBITS);
 
-       for (sector = first; sector <= last; sector++)
-       {
+       for (sector = first; sector <= last; sector++) {
                if (set)
                        cmd = SLB;
                else
@@ -1032,9 +944,7 @@ static int at91sam7_protect(struct flash_bank *bank, int set, int first, int las
                pagen = sector * at91sam7_info->pages_per_sector;
 
                if (at91sam7_flash_command(bank, cmd, pagen) != ERROR_OK)
-               {
                        return ERROR_FLASH_OPERATION_FAILED;
-               }
        }
 
        at91sam7_protect_check(bank);
@@ -1051,12 +961,9 @@ static int at91sam7_write(struct flash_bank *bank, uint8_t *buffer, uint32_t off
        uint32_t first_page, last_page, pagen, buffer_pos;
 
        if (at91sam7_info->cidr == 0)
-       {
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1066,9 +973,10 @@ static int at91sam7_write(struct flash_bank *bank, uint8_t *buffer, uint32_t off
 
        dst_min_alignment = at91sam7_info->pagesize;
 
-       if (offset % dst_min_alignment)
-       {
-               LOG_WARNING("offset 0x%" PRIx32 " breaks required alignment 0x%" PRIx32 "", offset, dst_min_alignment);
+       if (offset % dst_min_alignment) {
+               LOG_WARNING("offset 0x%" PRIx32 " breaks required alignment 0x%" PRIx32 "",
+                       offset,
+                       dst_min_alignment);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
 
@@ -1078,14 +986,16 @@ static int at91sam7_write(struct flash_bank *bank, uint8_t *buffer, uint32_t off
        first_page = offset/dst_min_alignment;
        last_page = DIV_ROUND_UP(offset + count, dst_min_alignment);
 
-       LOG_DEBUG("first_page: %i, last_page: %i, count %i", (int)first_page, (int)last_page, (int)count);
+       LOG_DEBUG("first_page: %i, last_page: %i, count %i",
+               (int)first_page,
+               (int)last_page,
+               (int)count);
 
        /* Configure the flash controller timing */
        at91sam7_read_clock_info(bank);
        at91sam7_set_flash_mode(bank, FMR_TIMING_FLASH);
 
-       for (pagen = first_page; pagen < last_page; pagen++)
-       {
+       for (pagen = first_page; pagen < last_page; pagen++) {
                if (bytes_remaining < dst_min_alignment)
                        count = bytes_remaining;
                else
@@ -1094,17 +1004,15 @@ static int at91sam7_write(struct flash_bank *bank, uint8_t *buffer, uint32_t off
 
                /* Write one block to the PageWriteBuffer */
                buffer_pos = (pagen-first_page)*dst_min_alignment;
-               wcount = DIV_ROUND_UP(count,4);
-               if ((retval = target_write_memory(target, bank->base + pagen*dst_min_alignment, 4, wcount, buffer + buffer_pos)) != ERROR_OK)
-               {
+               wcount = DIV_ROUND_UP(count, 4);
+               retval = target_write_memory(target, bank->base + pagen*dst_min_alignment, 4,
+                               wcount, buffer + buffer_pos);
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                /* Send Write Page command to Flash Controller */
                if (at91sam7_flash_command(bank, WP, pagen) != ERROR_OK)
-               {
                        return ERROR_FLASH_OPERATION_FAILED;
-               }
                LOG_DEBUG("Write flash bank:%i page number:%" PRIi32 "", bank->bank_number, pagen);
        }
 
@@ -1117,8 +1025,7 @@ static int at91sam7_probe(struct flash_bank *bank)
         * if this is an at91sam7, it has the configured flash */
        int retval;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1136,40 +1043,44 @@ static int get_at91sam7_info(struct flash_bank *bank, char *buf, int buf_size)
        struct at91sam7_flash_bank *at91sam7_info = bank->driver_priv;
 
        if (at91sam7_info->cidr == 0)
-       {
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
 
        printed = snprintf(buf, buf_size,
-               "\n at91sam7 driver information: Chip is %s\n",
-               at91sam7_info->target_name);
+                       "\n at91sam7 driver information: Chip is %s\n",
+                       at91sam7_info->target_name);
 
        buf += printed;
        buf_size -= printed;
 
        printed = snprintf(buf,
-                          buf_size,
-                          " Cidr: 0x%8.8" PRIx32 " | Arch: 0x%4.4x | Eproc: %s | Version: 0x%3.3x | Flashsize: 0x%8.8" PRIx32 "\n",
-                          at91sam7_info->cidr,
-                          at91sam7_info->cidr_arch,
-                          EPROC[at91sam7_info->cidr_eproc],
-                          at91sam7_info->cidr_version,
-                          bank->size);
+                       buf_size,
+                       " Cidr: 0x%8.8" PRIx32 " | Arch: 0x%4.4x | Eproc: %s | Version: 0x%3.3x | "
+                       "Flashsize: 0x%8.8" PRIx32 "\n",
+                       at91sam7_info->cidr,
+                       at91sam7_info->cidr_arch,
+                       EPROC[at91sam7_info->cidr_eproc],
+                       at91sam7_info->cidr_version,
+                       bank->size);
 
        buf += printed;
        buf_size -= printed;
 
        printed = snprintf(buf, buf_size,
-               " Master clock (estimated): %u KHz | External clock: %u KHz\n",
-               (unsigned)(at91sam7_info->mck_freq / 1000), (unsigned)(at91sam7_info->ext_freq / 1000));
+                       " Master clock (estimated): %u KHz | External clock: %u KHz\n",
+                       (unsigned)(at91sam7_info->mck_freq / 1000),
+                       (unsigned)(at91sam7_info->ext_freq / 1000));
 
        buf += printed;
        buf_size -= printed;
 
-       printed = snprintf(buf, buf_size,
-               " Pagesize: %i bytes | Lockbits(%i): %i 0x%4.4x | Pages in lock region: %i \n",
-               at91sam7_info->pagesize, bank->num_sectors, at91sam7_info->num_lockbits_on,
-               at91sam7_info->lockbits, at91sam7_info->pages_per_sector*at91sam7_info->num_lockbits_on);
+       printed = snprintf(buf,
+                       buf_size,
+                       " Pagesize: %i bytes | Lockbits(%i): %i 0x%4.4x | Pages in lock region: %i\n",
+                       at91sam7_info->pagesize,
+                       bank->num_sectors,
+                       at91sam7_info->num_lockbits_on,
+                       at91sam7_info->lockbits,
+                       at91sam7_info->pages_per_sector*at91sam7_info->num_lockbits_on);
 
        buf += printed;
        buf_size -= printed;
@@ -1196,59 +1107,46 @@ COMMAND_HANDLER(at91sam7_handle_gpnvm_command)
 {
        struct flash_bank *bank;
        int bit;
-       uint8_t  flashcmd;
+       uint8_t flashcmd;
        uint32_t status;
        struct at91sam7_flash_bank *at91sam7_info;
        int retval;
 
        if (CMD_ARGC != 2)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        bank = get_flash_bank_by_num_noprobe(0);
        if (bank ==  NULL)
-       {
                return ERROR_FLASH_BANK_INVALID;
-       }
-       if (strcmp(bank->driver->name, "at91sam7"))
-       {
+       if (strcmp(bank->driver->name, "at91sam7")) {
                command_print(CMD_CTX, "not an at91sam7 flash bank '%s'", CMD_ARGV[0]);
                return ERROR_FLASH_BANK_INVALID;
        }
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("target has to be halted to perform flash operation");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if (strcmp(CMD_ARGV[1], "set") == 0)
-       {
                flashcmd = SGPB;
-       }
        else if (strcmp(CMD_ARGV[1], "clear") == 0)
-       {
                flashcmd = CGPB;
-       }
        else
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        at91sam7_info = bank->driver_priv;
-       if (at91sam7_info->cidr == 0)
-       {
+       if (at91sam7_info->cidr == 0) {
                retval = at91sam7_read_part_info(bank);
                if (retval != ERROR_OK)
-               {
                        return retval;
-               }
        }
 
        COMMAND_PARSE_NUMBER(int, CMD_ARGV[0], bit);
-       if ((bit < 0) || (bit >= at91sam7_info->num_nvmbits))
-       {
-               command_print(CMD_CTX, "gpnvm bit '#%s' is out of bounds for target %s", CMD_ARGV[0], at91sam7_info->target_name);
+       if ((bit < 0) || (bit >= at91sam7_info->num_nvmbits)) {
+               command_print(CMD_CTX,
+                       "gpnvm bit '#%s' is out of bounds for target %s",
+                       CMD_ARGV[0],
+                       at91sam7_info->target_name);
                return ERROR_OK;
        }
 
@@ -1257,13 +1155,14 @@ COMMAND_HANDLER(at91sam7_handle_gpnvm_command)
        at91sam7_set_flash_mode(bank, FMR_TIMING_NVBITS);
 
        if (at91sam7_flash_command(bank, flashcmd, bit) != ERROR_OK)
-       {
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* GPNVM and SECURITY bits apply only for MC_FSR of EFC0 */
        status = at91sam7_get_flash_status(bank->target, 0);
-       LOG_DEBUG("at91sam7_handle_gpnvm_command: cmd 0x%x, value %d, status 0x%" PRIx32, flashcmd, bit, status);
+       LOG_DEBUG("at91sam7_handle_gpnvm_command: cmd 0x%x, value %d, status 0x%" PRIx32,
+               flashcmd,
+               bit,
+               status);
 
        /* check protect state */
        at91sam7_protect_check(bank);
index 462aee2c88bc9b699fa2b06c38a8145dcc6d3f37..1dc5f07e1c1124e7b6860b4e87e57144839f3d7e 100644 (file)
@@ -17,6 +17,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 #include "imp.h"
 #include <target/avrt.h>
 
-
 /* AVR_JTAG_Instructions */
-#define AVR_JTAG_INS_LEN                                                       4
-// Public Instructions:
-#define AVR_JTAG_INS_EXTEST                                                    0x00
-#define AVR_JTAG_INS_IDCODE                                                    0x01
-#define AVR_JTAG_INS_SAMPLE_PRELOAD                                    0x02
-#define AVR_JTAG_INS_BYPASS                                                    0x0F
-// AVR Specified Public Instructions:
-#define AVR_JTAG_INS_AVR_RESET                                         0x0C
-#define AVR_JTAG_INS_PROG_ENABLE                                       0x04
-#define AVR_JTAG_INS_PROG_COMMANDS                                     0x05
-#define AVR_JTAG_INS_PROG_PAGELOAD                                     0x06
-#define AVR_JTAG_INS_PROG_PAGEREAD                                     0x07
-
-// Data Registers:
-#define AVR_JTAG_REG_Bypass_Len                                                1
-#define AVR_JTAG_REG_DeviceID_Len                                      32
-
-#define AVR_JTAG_REG_Reset_Len                                         1
-#define AVR_JTAG_REG_JTAGID_Len                                                32
-#define AVR_JTAG_REG_ProgrammingEnable_Len                     16
-#define AVR_JTAG_REG_ProgrammingCommand_Len                    15
-#define AVR_JTAG_REG_FlashDataByte_Len                         16
-
-struct avrf_type
-{
+#define AVR_JTAG_INS_LEN                                        4
+/* Public Instructions: */
+#define AVR_JTAG_INS_EXTEST                                     0x00
+#define AVR_JTAG_INS_IDCODE                                     0x01
+#define AVR_JTAG_INS_SAMPLE_PRELOAD                             0x02
+#define AVR_JTAG_INS_BYPASS                                     0x0F
+/* AVR Specified Public Instructions: */
+#define AVR_JTAG_INS_AVR_RESET                                  0x0C
+#define AVR_JTAG_INS_PROG_ENABLE                                0x04
+#define AVR_JTAG_INS_PROG_COMMANDS                              0x05
+#define AVR_JTAG_INS_PROG_PAGELOAD                              0x06
+#define AVR_JTAG_INS_PROG_PAGEREAD                              0x07
+
+/* Data Registers: */
+#define AVR_JTAG_REG_Bypass_Len                                 1
+#define AVR_JTAG_REG_DeviceID_Len                               32
+
+#define AVR_JTAG_REG_Reset_Len                                  1
+#define AVR_JTAG_REG_JTAGID_Len                                 32
+#define AVR_JTAG_REG_ProgrammingEnable_Len                      16
+#define AVR_JTAG_REG_ProgrammingCommand_Len                     15
+#define AVR_JTAG_REG_FlashDataByte_Len                          16
+
+struct avrf_type {
        char name[15];
        uint16_t chip_id;
        int flash_page_size;
@@ -59,26 +58,24 @@ struct avrf_type
        int eeprom_page_num;
 };
 
-struct avrf_flash_bank
-{
+struct avrf_flash_bank {
        int ppage_size;
        int probed;
 };
 
-static struct avrf_type avft_chips_info[] =
-{
+static struct avrf_type avft_chips_info[] = {
 /*     name, chip_id,  flash_page_size, flash_page_num,
  *                     eeprom_page_size, eeprom_page_num
  */
-       {"atmega128",   0x9702, 256, 512, 8, 512},
-       {"at90can128",  0x9781, 256, 512, 8, 512},
+       {"atmega128", 0x9702, 256, 512, 8, 512},
+       {"at90can128", 0x9781, 256, 512, 8, 512},
 };
 
 /* avr program functions */
 static int avr_jtag_reset(struct avr_common *avr, uint32_t reset)
 {
        avr_jtag_sendinstr(avr->jtag_info.tap, NULL, AVR_JTAG_INS_AVR_RESET);
-       avr_jtag_senddat(avr->jtag_info.tap, NULL, reset ,AVR_JTAG_REG_Reset_Len);
+       avr_jtag_senddat(avr->jtag_info.tap, NULL, resetAVR_JTAG_REG_Reset_Len);
 
        return ERROR_OK;
 }
@@ -127,42 +124,48 @@ static int avr_jtagprg_chiperase(struct avr_common *avr)
 
        do {
                poll_value = 0;
-               avr_jtag_senddat(avr->jtag_info.tap, &poll_value, 0x3380, AVR_JTAG_REG_ProgrammingCommand_Len);
+               avr_jtag_senddat(avr->jtag_info.tap,
+                       &poll_value,
+                       0x3380,
+                       AVR_JTAG_REG_ProgrammingCommand_Len);
                if (ERROR_OK != mcu_execute_queue())
-               {
                        return ERROR_FAIL;
-               }
                LOG_DEBUG("poll_value = 0x%04" PRIx32 "", poll_value);
        } while (!(poll_value & 0x0200));
 
        return ERROR_OK;
 }
 
-static int avr_jtagprg_writeflashpage(struct avr_common *avr, uint8_t *page_buf, uint32_t buf_size, uint32_t addr, uint32_t page_size)
+static int avr_jtagprg_writeflashpage(struct avr_common *avr,
+       uint8_t *page_buf,
+       uint32_t buf_size,
+       uint32_t addr,
+       uint32_t page_size)
 {
        uint32_t i, poll_value;
 
        avr_jtag_sendinstr(avr->jtag_info.tap, NULL, AVR_JTAG_INS_PROG_COMMANDS);
        avr_jtag_senddat(avr->jtag_info.tap, NULL, 0x2310, AVR_JTAG_REG_ProgrammingCommand_Len);
 
-       // load addr high byte
-       avr_jtag_senddat(avr->jtag_info.tap, NULL, 0x0700 | ((addr >> 9) & 0xFF), AVR_JTAG_REG_ProgrammingCommand_Len);
+       /* load addr high byte */
+       avr_jtag_senddat(avr->jtag_info.tap,
+               NULL,
+               0x0700 | ((addr >> 9) & 0xFF),
+               AVR_JTAG_REG_ProgrammingCommand_Len);
 
-       // load addr low byte
-       avr_jtag_senddat(avr->jtag_info.tap, NULL, 0x0300 | ((addr >> 1) & 0xFF), AVR_JTAG_REG_ProgrammingCommand_Len);
+       /* load addr low byte */
+       avr_jtag_senddat(avr->jtag_info.tap,
+               NULL,
+               0x0300 | ((addr >> 1) & 0xFF),
+               AVR_JTAG_REG_ProgrammingCommand_Len);
 
        avr_jtag_sendinstr(avr->jtag_info.tap, NULL, AVR_JTAG_INS_PROG_PAGELOAD);
 
-       for (i = 0; i < page_size; i++)
-       {
+       for (i = 0; i < page_size; i++) {
                if (i < buf_size)
-               {
                        avr_jtag_senddat(avr->jtag_info.tap, NULL, page_buf[i], 8);
-               }
                else
-               {
                        avr_jtag_senddat(avr->jtag_info.tap, NULL, 0xFF, 8);
-               }
        }
 
        avr_jtag_sendinstr(avr->jtag_info.tap, NULL, AVR_JTAG_INS_PROG_COMMANDS);
@@ -174,11 +177,12 @@ static int avr_jtagprg_writeflashpage(struct avr_common *avr, uint8_t *page_buf,
 
        do {
                poll_value = 0;
-               avr_jtag_senddat(avr->jtag_info.tap, &poll_value, 0x3700, AVR_JTAG_REG_ProgrammingCommand_Len);
+               avr_jtag_senddat(avr->jtag_info.tap,
+                       &poll_value,
+                       0x3700,
+                       AVR_JTAG_REG_ProgrammingCommand_Len);
                if (ERROR_OK != mcu_execute_queue())
-               {
                        return ERROR_FAIL;
-               }
                LOG_DEBUG("poll_value = 0x%04" PRIx32 "", poll_value);
        } while (!(poll_value & 0x0200));
 
@@ -190,9 +194,7 @@ FLASH_BANK_COMMAND_HANDLER(avrf_flash_bank_command)
        struct avrf_flash_bank *avrf_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        avrf_info = malloc(sizeof(struct avrf_flash_bank));
        bank->driver_priv = avrf_info;
@@ -208,10 +210,9 @@ static int avrf_erase(struct flash_bank *bank, int first, int last)
        struct avr_common *avr = target->arch_info;
        int status;
 
-       LOG_DEBUG("%s", __FUNCTION__);
+       LOG_DEBUG("%s", __func__);
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -229,7 +230,7 @@ static int avrf_erase(struct flash_bank *bank, int first, int last)
 
 static int avrf_protect(struct flash_bank *bank, int set, int first, int last)
 {
-       LOG_INFO("%s", __FUNCTION__);
+       LOG_INFO("%s", __func__);
        return ERROR_OK;
 }
 
@@ -239,16 +240,16 @@ static int avrf_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
        struct avr_common *avr = target->arch_info;
        uint32_t cur_size, cur_buffer_size, page_size;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        page_size = bank->sectors[0].size;
-       if ((offset % page_size) != 0)
-       {
-               LOG_WARNING("offset 0x%" PRIx32 " breaks required %" PRIu32 "-byte alignment", offset, page_size);
+       if ((offset % page_size) != 0) {
+               LOG_WARNING("offset 0x%" PRIx32 " breaks required %" PRIu32 "-byte alignment",
+                       offset,
+                       page_size);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
 
@@ -256,22 +257,19 @@ static int avrf_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
        LOG_DEBUG("count is %" PRId32 "", count);
 
        if (ERROR_OK != avr_jtagprg_enterprogmode(avr))
-       {
                return ERROR_FAIL;
-       }
 
        cur_size = 0;
-       while (count > 0)
-       {
+       while (count > 0) {
                if (count > page_size)
-               {
                        cur_buffer_size = page_size;
-               }
                else
-               {
                        cur_buffer_size = count;
-               }
-               avr_jtagprg_writeflashpage(avr, buffer + cur_size, cur_buffer_size, offset + cur_size, page_size);
+               avr_jtagprg_writeflashpage(avr,
+                       buffer + cur_size,
+                       cur_buffer_size,
+                       offset + cur_size,
+                       page_size);
                count -= cur_buffer_size;
                cur_size += cur_buffer_size;
 
@@ -284,6 +282,7 @@ static int avrf_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
 #define EXTRACT_MFG(X)  (((X) & 0xffe) >> 1)
 #define EXTRACT_PART(X) (((X) & 0xffff000) >> 12)
 #define EXTRACT_VER(X)  (((X) & 0xf0000000) >> 28)
+
 static int avrf_probe(struct flash_bank *bank)
 {
        struct target *target = bank->target;
@@ -293,8 +292,7 @@ static int avrf_probe(struct flash_bank *bank)
        int i;
        uint32_t device_id;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -303,42 +301,35 @@ static int avrf_probe(struct flash_bank *bank)
 
        avr_jtag_read_jtagid(avr, &device_id);
        if (ERROR_OK != mcu_execute_queue())
-       {
                return ERROR_FAIL;
-       }
 
        LOG_INFO("device id = 0x%08" PRIx32 "", device_id);
        if (EXTRACT_MFG(device_id) != 0x1F)
-       {
-               LOG_ERROR("0x%" PRIx32 " is invalid Manufacturer for avr, 0x%X is expected", EXTRACT_MFG(device_id), 0x1F);
-       }
+               LOG_ERROR("0x%" PRIx32 " is invalid Manufacturer for avr, 0x%X is expected",
+                       EXTRACT_MFG(device_id),
+                       0x1F);
 
-       for (i = 0; i < (int)ARRAY_SIZE(avft_chips_info); i++)
-       {
-               if (avft_chips_info[i].chip_id == EXTRACT_PART(device_id))
-               {
+       for (i = 0; i < (int)ARRAY_SIZE(avft_chips_info); i++) {
+               if (avft_chips_info[i].chip_id == EXTRACT_PART(device_id)) {
                        avr_info = &avft_chips_info[i];
                        LOG_INFO("target device is %s", avr_info->name);
                        break;
                }
        }
 
-       if (avr_info != NULL)
-       {
-               if (bank->sectors)
-               {
+       if (avr_info != NULL) {
+               if (bank->sectors) {
                        free(bank->sectors);
                        bank->sectors = NULL;
                }
 
-               // chip found
+               /* chip found */
                bank->base = 0x00000000;
                bank->size = (avr_info->flash_page_size * avr_info->flash_page_num);
                bank->num_sectors = avr_info->flash_page_num;
                bank->sectors = malloc(sizeof(struct flash_sector) * avr_info->flash_page_num);
 
-               for (i = 0; i < avr_info->flash_page_num; i++)
-               {
+               for (i = 0; i < avr_info->flash_page_num; i++) {
                        bank->sectors[i].offset = i * avr_info->flash_page_size;
                        bank->sectors[i].size = avr_info->flash_page_size;
                        bank->sectors[i].is_erased = -1;
@@ -347,10 +338,8 @@ static int avrf_probe(struct flash_bank *bank)
 
                avrf_info->probed = 1;
                return ERROR_OK;
-       }
-       else
-       {
-               // chip not supported
+       } else {
+               /* chip not supported */
                LOG_ERROR("0x%" PRIx32 " is not support for avr", EXTRACT_PART(device_id));
 
                avrf_info->probed = 1;
@@ -368,7 +357,7 @@ static int avrf_auto_probe(struct flash_bank *bank)
 
 static int avrf_protect_check(struct flash_bank *bank)
 {
-       LOG_INFO("%s", __FUNCTION__);
+       LOG_INFO("%s", __func__);
        return ERROR_OK;
 }
 
@@ -380,28 +369,23 @@ static int avrf_info(struct flash_bank *bank, char *buf, int buf_size)
        int i;
        uint32_t device_id;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        avr_jtag_read_jtagid(avr, &device_id);
        if (ERROR_OK != mcu_execute_queue())
-       {
                return ERROR_FAIL;
-       }
 
        LOG_INFO("device id = 0x%08" PRIx32 "", device_id);
        if (EXTRACT_MFG(device_id) != 0x1F)
-       {
-               LOG_ERROR("0x%" PRIx32 " is invalid Manufacturer for avr, 0x%X is expected", EXTRACT_MFG(device_id), 0x1F);
-       }
+               LOG_ERROR("0x%" PRIx32 " is invalid Manufacturer for avr, 0x%X is expected",
+                       EXTRACT_MFG(device_id),
+                       0x1F);
 
-       for (i = 0; i < (int)ARRAY_SIZE(avft_chips_info); i++)
-       {
-               if (avft_chips_info[i].chip_id == EXTRACT_PART(device_id))
-               {
+       for (i = 0; i < (int)ARRAY_SIZE(avft_chips_info); i++) {
+               if (avft_chips_info[i].chip_id == EXTRACT_PART(device_id)) {
                        avr_info = &avft_chips_info[i];
                        LOG_INFO("target device is %s", avr_info->name);
 
@@ -409,15 +393,13 @@ static int avrf_info(struct flash_bank *bank, char *buf, int buf_size)
                }
        }
 
-       if (avr_info != NULL)
-       {
-               // chip found
-               snprintf(buf, buf_size, "%s - Rev: 0x%" PRIx32 "", avr_info->name, EXTRACT_VER(device_id));
+       if (avr_info != NULL) {
+               /* chip found */
+               snprintf(buf, buf_size, "%s - Rev: 0x%" PRIx32 "", avr_info->name,
+                       EXTRACT_VER(device_id));
                return ERROR_OK;
-       }
-       else
-       {
-               // chip not supported
+       } else {
+               /* chip not supported */
                snprintf(buf, buf_size, "Cannot identify target as a avr\n");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -428,18 +410,15 @@ static int avrf_mass_erase(struct flash_bank *bank)
        struct target *target = bank->target;
        struct avr_common *avr = target->arch_info;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if ((ERROR_OK != avr_jtagprg_enterprogmode(avr))
-               || (ERROR_OK != avr_jtagprg_chiperase(avr))
-               || (ERROR_OK != avr_jtagprg_leaveprogmode(avr)))
-       {
+           || (ERROR_OK != avr_jtagprg_chiperase(avr))
+           || (ERROR_OK != avr_jtagprg_leaveprogmode(avr)))
                return ERROR_FAIL;
-       }
 
        return ERROR_OK;
 }
@@ -449,31 +428,23 @@ COMMAND_HANDLER(avrf_handle_mass_erase_command)
        int i;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
        if (ERROR_OK != retval)
                return retval;
 
-       if (avrf_mass_erase(bank) == ERROR_OK)
-       {
+       if (avrf_mass_erase(bank) == ERROR_OK) {
                /* set all sectors as erased */
                for (i = 0; i < bank->num_sectors; i++)
-               {
                        bank->sectors[i].is_erased = 1;
-               }
 
                command_print(CMD_CTX, "avr mass erase complete");
-       }
-       else
-       {
+       } else
                command_print(CMD_CTX, "avr mass erase failed");
-       }
 
-       LOG_DEBUG("%s", __FUNCTION__);
+       LOG_DEBUG("%s", __func__);
        return ERROR_OK;
 }
 
index 98633795529be15d8491039584654641a87e6217..0d8c694e388cd114c2c29423f38e4c3c24f6ae54 100644 (file)
@@ -21,6 +21,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 #include <helper/binarybuffer.h>
 #include <target/algorithm.h>
 
-
-#define CFI_MAX_BUS_WIDTH      4
-#define CFI_MAX_CHIP_WIDTH     4
+#define CFI_MAX_BUS_WIDTH       4
+#define CFI_MAX_CHIP_WIDTH      4
 
 /* defines internal maximum size for code fragment in cfi_intel_write_block() */
 #define CFI_MAX_INTEL_CODESIZE 256
 
 /* some id-types with specific handling */
-#define AT49BV6416     0x00d6
-#define AT49BV6416T    0x00d2
+#define AT49BV6416      0x00d6
+#define AT49BV6416T     0x00d2
 
-static struct cfi_unlock_addresses cfi_unlock_addresses[] =
-{
+static struct cfi_unlock_addresses cfi_unlock_addresses[] = {
        [CFI_UNLOCK_555_2AA] = { .unlock1 = 0x555, .unlock2 = 0x2aa },
        [CFI_UNLOCK_5555_2AAA] = { .unlock1 = 0x5555, .unlock2 = 0x2aaa },
 };
@@ -60,23 +59,36 @@ static void cfi_fixup_0002_write_buffer(struct flash_bank *bank, void *param);
 
 /* fixup after reading cmdset 0002 primary query table */
 static const struct cfi_fixup cfi_0002_fixups[] = {
-       {CFI_MFR_SST, 0x00D4, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
-       {CFI_MFR_SST, 0x00D5, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
-       {CFI_MFR_SST, 0x00D6, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
-       {CFI_MFR_SST, 0x00D7, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
-       {CFI_MFR_SST, 0x2780, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
-       {CFI_MFR_SST, 0x274b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
-       {CFI_MFR_SST, 0x236d, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
+       {CFI_MFR_SST, 0x00D4, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
+       {CFI_MFR_SST, 0x00D5, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
+       {CFI_MFR_SST, 0x00D6, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
+       {CFI_MFR_SST, 0x00D7, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
+       {CFI_MFR_SST, 0x2780, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
+       {CFI_MFR_SST, 0x274b, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
+       {CFI_MFR_SST, 0x236d, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
        {CFI_MFR_ATMEL, 0x00C8, cfi_fixup_reversed_erase_regions, NULL},
-       {CFI_MFR_ST, 0x22C4, cfi_fixup_reversed_erase_regions, NULL}, /* M29W160ET */
-       {CFI_MFR_FUJITSU, 0x22ea, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
-       {CFI_MFR_FUJITSU, 0x226b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
-       {CFI_MFR_AMIC, 0xb31a, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
-       {CFI_MFR_MX, 0x225b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
-       {CFI_MFR_EON, 0x225b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
-       {CFI_MFR_AMD, 0x225b, cfi_fixup_0002_unlock_addresses, &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
+       {CFI_MFR_ST, 0x22C4, cfi_fixup_reversed_erase_regions, NULL},   /* M29W160ET */
+       {CFI_MFR_FUJITSU, 0x22ea, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
+       {CFI_MFR_FUJITSU, 0x226b, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_5555_2AAA]},
+       {CFI_MFR_AMIC, 0xb31a, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
+       {CFI_MFR_MX, 0x225b, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
+       {CFI_MFR_EON, 0x225b, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
+       {CFI_MFR_AMD, 0x225b, cfi_fixup_0002_unlock_addresses,
+        &cfi_unlock_addresses[CFI_UNLOCK_555_2AA]},
        {CFI_MFR_ANY, CFI_ID_ANY, cfi_fixup_0002_erase_regions, NULL},
-       {CFI_MFR_ST, 0x227E, cfi_fixup_0002_write_buffer, NULL}, /* M29W128G */
+       {CFI_MFR_ST, 0x227E, cfi_fixup_0002_write_buffer, NULL},/* M29W128G */
        {0, 0, NULL, NULL}
 };
 
@@ -90,30 +102,26 @@ static void cfi_fixup(struct flash_bank *bank, const struct cfi_fixup *fixups)
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        const struct cfi_fixup *f;
 
-       for (f = fixups; f->fixup; f++)
-       {
+       for (f = fixups; f->fixup; f++) {
                if (((f->mfr == CFI_MFR_ANY) || (f->mfr == cfi_info->manufacturer)) &&
-                       ((f->id  == CFI_ID_ANY)  || (f->id  == cfi_info->device_id)))
-               {
+                               ((f->id  == CFI_ID_ANY)  || (f->id  == cfi_info->device_id)))
                        f->fixup(bank, f->param);
-               }
        }
 }
 
 /* inline uint32_t flash_address(struct flash_bank *bank, int sector, uint32_t offset) */
-static __inline__ uint32_t flash_address(struct flash_bank *bank, int sector, uint32_t offset)
+static inline uint32_t flash_address(struct flash_bank *bank, int sector, uint32_t offset)
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
 
-       if (cfi_info->x16_as_x8) offset *= 2;
+       if (cfi_info->x16_as_x8)
+               offset *= 2;
 
        /* while the sector list isn't built, only accesses to sector 0 work */
        if (sector == 0)
                return bank->base + offset * bank->bus_width;
-       else
-       {
-               if (!bank->sectors)
-               {
+       else {
+               if (!bank->sectors) {
                        LOG_ERROR("BUG: sector list not yet built");
                        exit(-1);
                }
@@ -131,19 +139,12 @@ static void cfi_command(struct flash_bank *bank, uint8_t cmd, uint8_t *cmd_buf)
        for (i = 0; i < CFI_MAX_BUS_WIDTH; i++)
                cmd_buf[i] = 0;
 
-       if (bank->target->endianness == TARGET_LITTLE_ENDIAN)
-       {
+       if (bank->target->endianness == TARGET_LITTLE_ENDIAN) {
                for (i = bank->bus_width; i > 0; i--)
-               {
                        *cmd_buf++ = (i & (bank->chip_width - 1)) ? 0x0 : cmd;
-               }
-       }
-       else
-       {
+       } else {
                for (i = 1; i <= bank->bus_width; i++)
-               {
                        *cmd_buf++ = (i & (bank->chip_width - 1)) ? 0x0 : cmd;
-               }
        }
 }
 
@@ -194,15 +195,12 @@ static int cfi_get_u8(struct flash_bank *bank, int sector, uint32_t offset, uint
        if (retval != ERROR_OK)
                return retval;
 
-       if (bank->target->endianness == TARGET_LITTLE_ENDIAN)
-       {
+       if (bank->target->endianness == TARGET_LITTLE_ENDIAN) {
                for (i = 0; i < bank->bus_width / bank->chip_width; i++)
                        data[0] |= data[i];
 
                *val = data[0];
-       }
-       else
-       {
+       } else {
                uint8_t value = 0;
                for (i = 0; i < bank->bus_width / bank->chip_width; i++)
                        value |= data[bank->bus_width - 1 - i];
@@ -219,18 +217,15 @@ static int cfi_query_u16(struct flash_bank *bank, int sector, uint32_t offset, u
        uint8_t data[CFI_MAX_BUS_WIDTH * 2];
        int retval;
 
-       if (cfi_info->x16_as_x8)
-       {
+       if (cfi_info->x16_as_x8) {
                uint8_t i;
-               for (i = 0;i < 2;i++)
-               {
+               for (i = 0; i < 2; i++) {
                        retval = target_read_memory(target, flash_address(bank, sector, offset + i),
                                        bank->bus_width, 1, &data[i * bank->bus_width]);
                        if (retval != ERROR_OK)
                                return retval;
                }
-       } else
-       {
+       } else {
                retval = target_read_memory(target, flash_address(bank, sector, offset),
                                bank->bus_width, 2, data);
                if (retval != ERROR_OK)
@@ -252,19 +247,15 @@ static int cfi_query_u32(struct flash_bank *bank, int sector, uint32_t offset, u
        uint8_t data[CFI_MAX_BUS_WIDTH * 4];
        int retval;
 
-       if (cfi_info->x16_as_x8)
-       {
+       if (cfi_info->x16_as_x8) {
                uint8_t i;
-               for (i = 0;i < 4;i++)
-               {
+               for (i = 0; i < 4; i++) {
                        retval = target_read_memory(target, flash_address(bank, sector, offset + i),
                                        bank->bus_width, 1, &data[i * bank->bus_width]);
                        if (retval != ERROR_OK)
                                return retval;
                }
-       }
-       else
-       {
+       } else {
                retval = target_read_memory(target, flash_address(bank, sector, offset),
                                bank->bus_width, 4, data);
                if (retval != ERROR_OK)
@@ -273,10 +264,11 @@ static int cfi_query_u32(struct flash_bank *bank, int sector, uint32_t offset, u
 
        if (bank->target->endianness == TARGET_LITTLE_ENDIAN)
                *val = data[0] | data[bank->bus_width] << 8 |
-                               data[bank->bus_width * 2] << 16 | data[bank->bus_width * 3] << 24;
+                       data[bank->bus_width * 2] << 16 | data[bank->bus_width * 3] << 24;
        else
-               *val = data[bank->bus_width - 1] | data[(2* bank->bus_width) - 1] << 8 |
-                               data[(3 * bank->bus_width) - 1] << 16 | data[(4 * bank->bus_width) - 1] << 24;
+               *val = data[bank->bus_width - 1] | data[(2 * bank->bus_width) - 1] << 8 |
+                       data[(3 * bank->bus_width) - 1] << 16 |
+                       data[(4 * bank->bus_width) - 1] << 24;
 
        return ERROR_OK;
 }
@@ -286,25 +278,21 @@ static int cfi_reset(struct flash_bank *bank)
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        int retval = ERROR_OK;
 
-       if ((retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = cfi_send_command(bank, 0xff, flash_address(bank, 0, 0x0))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0xff, flash_address(bank, 0, 0x0));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        if (cfi_info->manufacturer == 0x20 &&
-                       (cfi_info->device_id == 0x227E || cfi_info->device_id == 0x7E))
-       {
+                       (cfi_info->device_id == 0x227E || cfi_info->device_id == 0x7E)) {
                /* Numonix M29W128G is cmd 0xFF intolerant - causes internal undefined state
                 * so we send an extra 0xF0 reset to fix the bug */
-               if ((retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x00))) != ERROR_OK)
-               {
+               retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x00));
+               if (retval != ERROR_OK)
                        return retval;
-               }
        }
 
        return retval;
@@ -321,10 +309,8 @@ static int cfi_intel_wait_status_busy(struct flash_bank *bank, int timeout, uint
 
        int retval = ERROR_OK;
 
-       for (;;)
-       {
-               if (timeout-- < 0)
-               {
+       for (;; ) {
+               if (timeout-- < 0) {
                        LOG_ERROR("timeout while waiting for WSM to become ready");
                        return ERROR_FAIL;
                }
@@ -344,8 +330,7 @@ static int cfi_intel_wait_status_busy(struct flash_bank *bank, int timeout, uint
 
        LOG_DEBUG("status: 0x%x", status);
 
-       if (status != 0x80)
-       {
+       if (status != 0x80) {
                LOG_ERROR("status register: 0x%x", status);
                if (status & 0x2)
                        LOG_ERROR("Block Lock-Bit Detected, Operation Abort");
@@ -395,15 +380,15 @@ static int cfi_spansion_wait_status_busy(struct flash_bank *bank, int timeout)
                                        return retval;
                                if ((status ^ oldstatus) & 0x40) {
                                        LOG_ERROR("dq5 timeout, status: 0x%x", status);
-                                       return(ERROR_FLASH_OPERATION_FAILED);
+                                       return ERROR_FLASH_OPERATION_FAILED;
                                } else {
                                        LOG_DEBUG("status: 0x%x", status);
-                                       return(ERROR_OK);
+                                       return ERROR_OK;
                                }
                        }
-               } else { /* no toggle: finished, OK */
+               } else {/* no toggle: finished, OK */
                        LOG_DEBUG("status: 0x%x", status);
-                       return(ERROR_OK);
+                       return ERROR_OK;
                }
 
                oldstatus = status;
@@ -412,7 +397,7 @@ static int cfi_spansion_wait_status_busy(struct flash_bank *bank, int timeout)
 
        LOG_ERROR("timeout, status: 0x%x", status);
 
-       return(ERROR_FLASH_BUSY);
+       return ERROR_FLASH_BUSY;
 }
 
 static int cfi_read_intel_pri_ext(struct flash_bank *bank)
@@ -425,8 +410,7 @@ static int cfi_read_intel_pri_ext(struct flash_bank *bank)
                free(cfi_info->pri_ext);
 
        pri_ext = malloc(sizeof(struct cfi_intel_pri_ext));
-       if (pri_ext == NULL)
-       {
+       if (pri_ext == NULL) {
                LOG_ERROR("Out of memory");
                return ERROR_FAIL;
        }
@@ -442,12 +426,10 @@ static int cfi_read_intel_pri_ext(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       if ((pri_ext->pri[0] != 'P') || (pri_ext->pri[1] != 'R') || (pri_ext->pri[2] != 'I'))
-       {
-               if ((retval = cfi_reset(bank)) != ERROR_OK)
-               {
+       if ((pri_ext->pri[0] != 'P') || (pri_ext->pri[1] != 'R') || (pri_ext->pri[2] != 'I')) {
+               retval = cfi_reset(bank);
+               if (retval != ERROR_OK)
                        return retval;
-               }
                LOG_ERROR("Could not read bank flash bank information");
                return ERROR_FLASH_BANK_INVALID;
        }
@@ -460,7 +442,7 @@ static int cfi_read_intel_pri_ext(struct flash_bank *bank)
                return retval;
 
        LOG_DEBUG("pri: '%c%c%c', version: %c.%c", pri_ext->pri[0], pri_ext->pri[1],
-                       pri_ext->pri[2], pri_ext->major_version, pri_ext->minor_version);
+               pri_ext->pri[2], pri_ext->major_version, pri_ext->minor_version);
 
        retval = cfi_query_u32(bank, 0, cfi_info->pri_addr + 5, &pri_ext->feature_support);
        if (retval != ERROR_OK)
@@ -473,10 +455,10 @@ static int cfi_read_intel_pri_ext(struct flash_bank *bank)
                return retval;
 
        LOG_DEBUG("feature_support: 0x%" PRIx32 ", suspend_cmd_support: "
-                       "0x%x, blk_status_reg_mask: 0x%x",
-                       pri_ext->feature_support,
-                       pri_ext->suspend_cmd_support,
-                       pri_ext->blk_status_reg_mask);
+               "0x%x, blk_status_reg_mask: 0x%x",
+               pri_ext->feature_support,
+               pri_ext->suspend_cmd_support,
+               pri_ext->blk_status_reg_mask);
 
        retval = cfi_query_u8(bank, 0, cfi_info->pri_addr + 0xc, &pri_ext->vcc_optimal);
        if (retval != ERROR_OK)
@@ -486,16 +468,15 @@ static int cfi_read_intel_pri_ext(struct flash_bank *bank)
                return retval;
 
        LOG_DEBUG("Vcc opt: %x.%x, Vpp opt: %u.%x",
-                       (pri_ext->vcc_optimal & 0xf0) >> 4, pri_ext->vcc_optimal & 0x0f,
-                       (pri_ext->vpp_optimal & 0xf0) >> 4, pri_ext->vpp_optimal & 0x0f);
+               (pri_ext->vcc_optimal & 0xf0) >> 4, pri_ext->vcc_optimal & 0x0f,
+               (pri_ext->vpp_optimal & 0xf0) >> 4, pri_ext->vpp_optimal & 0x0f);
 
        retval = cfi_query_u8(bank, 0, cfi_info->pri_addr + 0xe, &pri_ext->num_protection_fields);
        if (retval != ERROR_OK)
                return retval;
-       if (pri_ext->num_protection_fields != 1)
-       {
+       if (pri_ext->num_protection_fields != 1) {
                LOG_WARNING("expected one protection register field, but found %i",
-                               pri_ext->num_protection_fields);
+                       pri_ext->num_protection_fields);
        }
 
        retval = cfi_query_u16(bank, 0, cfi_info->pri_addr + 0xf, &pri_ext->prot_reg_addr);
@@ -509,9 +490,9 @@ static int cfi_read_intel_pri_ext(struct flash_bank *bank)
                return retval;
 
        LOG_DEBUG("protection_fields: %i, prot_reg_addr: 0x%x, "
-                       "factory pre-programmed: %i, user programmable: %i",
-                       pri_ext->num_protection_fields, pri_ext->prot_reg_addr,
-                       1 << pri_ext->fact_prot_reg_size, 1 << pri_ext->user_prot_reg_size);
+               "factory pre-programmed: %i, user programmable: %i",
+               pri_ext->num_protection_fields, pri_ext->prot_reg_addr,
+               1 << pri_ext->fact_prot_reg_size, 1 << pri_ext->user_prot_reg_size);
 
        return ERROR_OK;
 }
@@ -526,8 +507,7 @@ static int cfi_read_spansion_pri_ext(struct flash_bank *bank)
                free(cfi_info->pri_ext);
 
        pri_ext = malloc(sizeof(struct cfi_spansion_pri_ext));
-       if (pri_ext == NULL)
-       {
+       if (pri_ext == NULL) {
                LOG_ERROR("Out of memory");
                return ERROR_FAIL;
        }
@@ -543,12 +523,10 @@ static int cfi_read_spansion_pri_ext(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       if ((pri_ext->pri[0] != 'P') || (pri_ext->pri[1] != 'R') || (pri_ext->pri[2] != 'I'))
-       {
-               if ((retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0))) != ERROR_OK)
-               {
+       if ((pri_ext->pri[0] != 'P') || (pri_ext->pri[1] != 'R') || (pri_ext->pri[2] != 'I')) {
+               retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
                LOG_ERROR("Could not read spansion bank information");
                return ERROR_FLASH_BANK_INVALID;
        }
@@ -561,7 +539,7 @@ static int cfi_read_spansion_pri_ext(struct flash_bank *bank)
                return retval;
 
        LOG_DEBUG("pri: '%c%c%c', version: %c.%c", pri_ext->pri[0], pri_ext->pri[1],
-                       pri_ext->pri[2], pri_ext->major_version, pri_ext->minor_version);
+               pri_ext->pri[2], pri_ext->major_version, pri_ext->minor_version);
 
        retval = cfi_query_u8(bank, 0, cfi_info->pri_addr + 5, &pri_ext->SiliconRevision);
        if (retval != ERROR_OK)
@@ -598,18 +576,18 @@ static int cfi_read_spansion_pri_ext(struct flash_bank *bank)
                return retval;
 
        LOG_DEBUG("Silicon Revision: 0x%x, Erase Suspend: 0x%x, Block protect: 0x%x",
-                       pri_ext->SiliconRevision, pri_ext->EraseSuspend, pri_ext->BlkProt);
+               pri_ext->SiliconRevision, pri_ext->EraseSuspend, pri_ext->BlkProt);
 
        LOG_DEBUG("Temporary Unprotect: 0x%x, Block Protect Scheme: 0x%x, "
-                       "Simultaneous Ops: 0x%x", pri_ext->TmpBlkUnprotect,
-                       pri_ext->BlkProtUnprot, pri_ext->SimultaneousOps);
+               "Simultaneous Ops: 0x%x", pri_ext->TmpBlkUnprotect,
+               pri_ext->BlkProtUnprot, pri_ext->SimultaneousOps);
 
        LOG_DEBUG("Burst Mode: 0x%x, Page Mode: 0x%x, ", pri_ext->BurstMode, pri_ext->PageMode);
 
 
        LOG_DEBUG("Vpp min: %u.%x, Vpp max: %u.%x",
-                 (pri_ext->VppMin & 0xf0) >> 4, pri_ext->VppMin & 0x0f,
-                 (pri_ext->VppMax & 0xf0) >> 4, pri_ext->VppMax & 0x0f);
+               (pri_ext->VppMin & 0xf0) >> 4, pri_ext->VppMin & 0x0f,
+               (pri_ext->VppMax & 0xf0) >> 4, pri_ext->VppMax & 0x0f);
 
        LOG_DEBUG("WP# protection 0x%x", pri_ext->TopBottom);
 
@@ -632,8 +610,7 @@ static int cfi_read_atmel_pri_ext(struct flash_bank *bank)
                free(cfi_info->pri_ext);
 
        pri_ext = malloc(sizeof(struct cfi_spansion_pri_ext));
-       if (pri_ext == NULL)
-       {
+       if (pri_ext == NULL) {
                LOG_ERROR("Out of memory");
                return ERROR_FAIL;
        }
@@ -658,12 +635,10 @@ static int cfi_read_atmel_pri_ext(struct flash_bank *bank)
                return retval;
 
        if ((atmel_pri_ext.pri[0] != 'P') || (atmel_pri_ext.pri[1] != 'R')
-                       || (atmel_pri_ext.pri[2] != 'I'))
-       {
-               if ((retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0))) != ERROR_OK)
-               {
+                       || (atmel_pri_ext.pri[2] != 'I')) {
+               retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
                LOG_ERROR("Could not read atmel bank information");
                return ERROR_FLASH_BANK_INVALID;
        }
@@ -680,8 +655,8 @@ static int cfi_read_atmel_pri_ext(struct flash_bank *bank)
                return retval;
 
        LOG_DEBUG("pri: '%c%c%c', version: %c.%c", atmel_pri_ext.pri[0],
-                       atmel_pri_ext.pri[1], atmel_pri_ext.pri[2],
-                       atmel_pri_ext.major_version, atmel_pri_ext.minor_version);
+               atmel_pri_ext.pri[1], atmel_pri_ext.pri[2],
+               atmel_pri_ext.major_version, atmel_pri_ext.minor_version);
 
        pri_ext->major_version = atmel_pri_ext.major_version;
        pri_ext->minor_version = atmel_pri_ext.minor_version;
@@ -699,16 +674,19 @@ static int cfi_read_atmel_pri_ext(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       LOG_DEBUG("features: 0x%2.2x, bottom_boot: 0x%2.2x, burst_mode: 0x%2.2x, page_mode: 0x%2.2x",
-               atmel_pri_ext.features, atmel_pri_ext.bottom_boot,
-               atmel_pri_ext.burst_mode, atmel_pri_ext.page_mode);
+       LOG_DEBUG(
+               "features: 0x%2.2x, bottom_boot: 0x%2.2x, burst_mode: 0x%2.2x, page_mode: 0x%2.2x",
+               atmel_pri_ext.features,
+               atmel_pri_ext.bottom_boot,
+               atmel_pri_ext.burst_mode,
+               atmel_pri_ext.page_mode);
 
        if (atmel_pri_ext.features & 0x02)
                pri_ext->EraseSuspend = 2;
 
        /* some chips got it backwards... */
        if (cfi_info->device_id == AT49BV6416 ||
-           cfi_info->device_id == AT49BV6416T) {
+                       cfi_info->device_id == AT49BV6416T) {
                if (atmel_pri_ext.bottom_boot)
                        pri_ext->TopBottom = 3;
                else
@@ -731,13 +709,9 @@ static int cfi_read_0002_pri_ext(struct flash_bank *bank)
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
 
        if (cfi_info->manufacturer == CFI_MFR_ATMEL)
-       {
                return cfi_read_atmel_pri_ext(bank);
-       }
        else
-       {
                return cfi_read_spansion_pri_ext(bank);
-       }
 }
 
 static int cfi_spansion_info(struct flash_bank *bank, char *buf, int buf_size)
@@ -769,8 +743,8 @@ static int cfi_spansion_info(struct flash_bank *bank, char *buf, int buf_size)
        buf_size -= printed;
 
        snprintf(buf, buf_size, "VppMin: %u.%x, VppMax: %u.%x\n",
-                       (pri_ext->VppMin & 0xf0) >> 4, pri_ext->VppMin & 0x0f,
-                       (pri_ext->VppMax & 0xf0) >> 4, pri_ext->VppMax & 0x0f);
+               (pri_ext->VppMin & 0xf0) >> 4, pri_ext->VppMin & 0x0f,
+               (pri_ext->VppMax & 0xf0) >> 4, pri_ext->VppMax & 0x0f);
 
        return ERROR_OK;
 }
@@ -785,14 +759,24 @@ static int cfi_intel_info(struct flash_bank *bank, char *buf, int buf_size)
        buf += printed;
        buf_size -= printed;
 
-       printed = snprintf(buf, buf_size, "pri: '%c%c%c', version: %c.%c\n", pri_ext->pri[0],
-                       pri_ext->pri[1], pri_ext->pri[2], pri_ext->major_version, pri_ext->minor_version);
+       printed = snprintf(buf,
+                       buf_size,
+                       "pri: '%c%c%c', version: %c.%c\n",
+                       pri_ext->pri[0],
+                       pri_ext->pri[1],
+                       pri_ext->pri[2],
+                       pri_ext->major_version,
+                       pri_ext->minor_version);
        buf += printed;
        buf_size -= printed;
 
-       printed = snprintf(buf, buf_size, "feature_support: 0x%" PRIx32 ", "
+       printed = snprintf(buf,
+                       buf_size,
+                       "feature_support: 0x%" PRIx32 ", "
                        "suspend_cmd_support: 0x%x, blk_status_reg_mask: 0x%x\n",
-                       pri_ext->feature_support, pri_ext->suspend_cmd_support, pri_ext->blk_status_reg_mask);
+                       pri_ext->feature_support,
+                       pri_ext->suspend_cmd_support,
+                       pri_ext->blk_status_reg_mask);
        buf += printed;
        buf_size -= printed;
 
@@ -803,9 +787,9 @@ static int cfi_intel_info(struct flash_bank *bank, char *buf, int buf_size)
        buf_size -= printed;
 
        snprintf(buf, buf_size, "protection_fields: %i, prot_reg_addr: 0x%x, "
-                       "factory pre-programmed: %i, user programmable: %i\n",
-                       pri_ext->num_protection_fields, pri_ext->prot_reg_addr,
-                       1 << pri_ext->fact_prot_reg_size, 1 << pri_ext->user_prot_reg_size);
+               "factory pre-programmed: %i, user programmable: %i\n",
+               pri_ext->num_protection_fields, pri_ext->prot_reg_addr,
+               1 << pri_ext->fact_prot_reg_size, 1 << pri_ext->user_prot_reg_size);
 
        return ERROR_OK;
 }
@@ -817,9 +801,7 @@ FLASH_BANK_COMMAND_HANDLER(cfi_flash_bank_command)
        struct cfi_flash_bank *cfi_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        /* both widths must:
         * - not exceed max value;
@@ -832,8 +814,7 @@ FLASH_BANK_COMMAND_HANDLER(cfi_flash_bank_command)
                        || (bank->bus_width == 0)
                        || (bank->chip_width & (bank->chip_width - 1))
                        || (bank->bus_width & (bank->bus_width - 1))
-                       || (bank->chip_width > bank->bus_width))
-       {
+                       || (bank->chip_width > bank->bus_width)) {
                LOG_ERROR("chip and bus width have to specified in bytes");
                return ERROR_FLASH_BANK_INVALID;
        }
@@ -850,16 +831,11 @@ FLASH_BANK_COMMAND_HANDLER(cfi_flash_bank_command)
        cfi_info->jedec_probe = 0;
        cfi_info->not_cfi = 0;
 
-       for (unsigned i = 6; i < CMD_ARGC; i++)
-       {
+       for (unsigned i = 6; i < CMD_ARGC; i++) {
                if (strcmp(CMD_ARGV[i], "x16_as_x8") == 0)
-               {
                        cfi_info->x16_as_x8 = 1;
-               }
                else if (strcmp(CMD_ARGV[i], "jedec_probe") == 0)
-               {
                        cfi_info->jedec_probe = 1;
-               }
        }
 
        cfi_info->write_algorithm = NULL;
@@ -878,17 +854,14 @@ static int cfi_intel_erase(struct flash_bank *bank, int first, int last)
 
        cfi_intel_clear_status_register(bank);
 
-       for (i = first; i <= last; i++)
-       {
-               if ((retval = cfi_send_command(bank, 0x20, flash_address(bank, i, 0x0))) != ERROR_OK)
-               {
+       for (i = first; i <= last; i++) {
+               retval = cfi_send_command(bank, 0x20, flash_address(bank, i, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
-               if ((retval = cfi_send_command(bank, 0xd0, flash_address(bank, i, 0x0))) != ERROR_OK)
-               {
+               retval = cfi_send_command(bank, 0xd0, flash_address(bank, i, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                uint8_t status;
                retval = cfi_intel_wait_status_busy(bank, cfi_info->block_erase_timeout, &status);
@@ -897,14 +870,14 @@ static int cfi_intel_erase(struct flash_bank *bank, int first, int last)
 
                if (status == 0x80)
                        bank->sectors[i].is_erased = 1;
-               else
-               {
-                       if ((retval = cfi_send_command(bank, 0xff, flash_address(bank, 0, 0x0))) != ERROR_OK)
-                       {
+               else {
+                       retval = cfi_send_command(bank, 0xff, flash_address(bank, 0, 0x0));
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
 
-                       LOG_ERROR("couldn't erase block %i of flash bank at base 0x%" PRIx32 , i, bank->base);
+                       LOG_ERROR("couldn't erase block %i of flash bank at base 0x%" PRIx32,
+                               i,
+                               bank->base);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
        }
@@ -919,85 +892,63 @@ static int cfi_spansion_erase(struct flash_bank *bank, int first, int last)
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
        int i;
 
-       for (i = first; i <= last; i++)
-       {
-               if ((retval = cfi_send_command(bank, 0xaa,
-                               flash_address(bank, 0, pri_ext->_unlock1))) != ERROR_OK)
-               {
+       for (i = first; i <= last; i++) {
+               retval = cfi_send_command(bank, 0xaa, flash_address(bank, 0, pri_ext->_unlock1));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
-               if ((retval = cfi_send_command(bank, 0x55,
-                               flash_address(bank, 0, pri_ext->_unlock2))) != ERROR_OK)
-               {
+               retval = cfi_send_command(bank, 0x55, flash_address(bank, 0, pri_ext->_unlock2));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
-               if ((retval = cfi_send_command(bank, 0x80,
-                               flash_address(bank, 0, pri_ext->_unlock1))) != ERROR_OK)
-               {
+               retval = cfi_send_command(bank, 0x80, flash_address(bank, 0, pri_ext->_unlock1));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
-               if ((retval = cfi_send_command(bank, 0xaa,
-                               flash_address(bank, 0, pri_ext->_unlock1))) != ERROR_OK)
-               {
+               retval = cfi_send_command(bank, 0xaa, flash_address(bank, 0, pri_ext->_unlock1));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
-               if ((retval = cfi_send_command(bank, 0x55,
-                               flash_address(bank, 0, pri_ext->_unlock2))) != ERROR_OK)
-               {
+               retval = cfi_send_command(bank, 0x55, flash_address(bank, 0, pri_ext->_unlock2));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
-               if ((retval = cfi_send_command(bank, 0x30,
-                               flash_address(bank, i, 0x0))) != ERROR_OK)
-               {
+               retval = cfi_send_command(bank, 0x30, flash_address(bank, i, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                if (cfi_spansion_wait_status_busy(bank, cfi_info->block_erase_timeout) == ERROR_OK)
-               {
                        bank->sectors[i].is_erased = 1;
-               }
-               else
-               {
-                       if ((retval = cfi_send_command(bank, 0xf0,
-                                       flash_address(bank, 0, 0x0))) != ERROR_OK)
-                       {
+               else {
+                       retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0));
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
 
                        LOG_ERROR("couldn't erase block %i of flash bank at base 0x%"
-                                       PRIx32, i, bank->base);
+                               PRIx32, i, bank->base);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
        }
 
-       return  cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0));
+       return cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0));
 }
 
 static int cfi_erase(struct flash_bank *bank, int first, int last)
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if ((first < 0) || (last < first) || (last >= bank->num_sectors))
-       {
                return ERROR_FLASH_SECTOR_INVALID;
-       }
 
        if (cfi_info->qry[0] != 'Q')
                return ERROR_FLASH_BANK_NOT_PROBED;
 
-       switch (cfi_info->pri_id)
-       {
+       switch (cfi_info->pri_id) {
                case 1:
                case 3:
                        return cfi_intel_erase(bank, first, last);
@@ -1024,67 +975,54 @@ static int cfi_intel_protect(struct flash_bank *bank, int set, int first, int la
        /* if the device supports neither legacy lock/unlock (bit 3) nor
         * instant individual block locking (bit 5).
         */
-       if (!(pri_ext->feature_support & 0x28))
-       {
+       if (!(pri_ext->feature_support & 0x28)) {
                LOG_ERROR("lock/unlock not supported on flash");
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        cfi_intel_clear_status_register(bank);
 
-       for (i = first; i <= last; i++)
-       {
-               if ((retval = cfi_send_command(bank, 0x60, flash_address(bank, i, 0x0))) != ERROR_OK)
-               {
+       for (i = first; i <= last; i++) {
+               retval = cfi_send_command(bank, 0x60, flash_address(bank, i, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
-               if (set)
-               {
-                       if ((retval = cfi_send_command(bank, 0x01, flash_address(bank, i, 0x0))) != ERROR_OK)
-                       {
+               if (set) {
+                       retval = cfi_send_command(bank, 0x01, flash_address(bank, i, 0x0));
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
                        bank->sectors[i].is_protected = 1;
-               }
-               else
-               {
-                       if ((retval = cfi_send_command(bank, 0xd0, flash_address(bank, i, 0x0))) != ERROR_OK)
-                       {
+               } else {
+                       retval = cfi_send_command(bank, 0xd0, flash_address(bank, i, 0x0));
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
                        bank->sectors[i].is_protected = 0;
                }
 
-               /* instant individual block locking doesn't require reading of the status register */
-               if (!(pri_ext->feature_support & 0x20))
-               {
+               /* instant individual block locking doesn't require reading of the status register
+                **/
+               if (!(pri_ext->feature_support & 0x20)) {
                        /* Clear lock bits operation may take up to 1.4s */
                        uint8_t status;
                        retval = cfi_intel_wait_status_busy(bank, 1400, &status);
                        if (retval != ERROR_OK)
                                return retval;
-               }
-               else
-               {
+               } else {
                        uint8_t block_status;
                        /* read block lock bit, to verify status */
-                       if ((retval = cfi_send_command(bank, 0x90, flash_address(bank, 0, 0x55))) != ERROR_OK)
-                       {
+                       retval = cfi_send_command(bank, 0x90, flash_address(bank, 0, 0x55));
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
                        retval = cfi_get_u8(bank, i, 0x2, &block_status);
                        if (retval != ERROR_OK)
                                return retval;
 
-                       if ((block_status & 0x1) != set)
-                       {
-                               LOG_ERROR("couldn't change block lock status (set = %i, block_status = 0x%2.2x)",
-                                               set, block_status);
-                               if ((retval = cfi_send_command(bank, 0x70,
-                                               flash_address(bank, 0, 0x55))) != ERROR_OK)
-                               {
+                       if ((block_status & 0x1) != set) {
+                               LOG_ERROR(
+                                       "couldn't change block lock status (set = %i, block_status = 0x%2.2x)",
+                                       set, block_status);
+                               retval = cfi_send_command(bank, 0x70, flash_address(bank, 0, 0x55));
+                               if (retval != ERROR_OK)
                                        return retval;
-                               }
                                uint8_t status;
                                retval = cfi_intel_wait_status_busy(bank, 10, &status);
                                if (retval != ERROR_OK)
@@ -1092,8 +1030,7 @@ static int cfi_intel_protect(struct flash_bank *bank, int set, int first, int la
 
                                if (retry > 10)
                                        return ERROR_FLASH_OPERATION_FAILED;
-                               else
-                               {
+                               else {
                                        i--;
                                        retry++;
                                }
@@ -1104,8 +1041,7 @@ static int cfi_intel_protect(struct flash_bank *bank, int set, int first, int la
        /* if the device doesn't support individual block lock bits set/clear,
         * all blocks have been unlocked in parallel, so we set those that should be protected
         */
-       if ((!set) && (!(pri_ext->feature_support & 0x20)))
-       {
+       if ((!set) && (!(pri_ext->feature_support & 0x20))) {
                /* FIX!!! this code path is broken!!!
                 *
                 * The correct approach is:
@@ -1117,23 +1053,17 @@ static int cfi_intel_protect(struct flash_bank *bank, int set, int first, int la
                 * 3. re-protect what should be protected.
                 *
                 */
-               for (i = 0; i < bank->num_sectors; i++)
-               {
-                       if (bank->sectors[i].is_protected == 1)
-                       {
+               for (i = 0; i < bank->num_sectors; i++) {
+                       if (bank->sectors[i].is_protected == 1) {
                                cfi_intel_clear_status_register(bank);
 
-                               if ((retval = cfi_send_command(bank, 0x60,
-                                               flash_address(bank, i, 0x0))) != ERROR_OK)
-                               {
+                               retval = cfi_send_command(bank, 0x60, flash_address(bank, i, 0x0));
+                               if (retval != ERROR_OK)
                                        return retval;
-                               }
 
-                               if ((retval = cfi_send_command(bank, 0x01,
-                                               flash_address(bank, i, 0x0))) != ERROR_OK)
-                               {
+                               retval = cfi_send_command(bank, 0x01, flash_address(bank, i, 0x0));
+                               if (retval != ERROR_OK)
                                        return retval;
-                               }
 
                                uint8_t status;
                                retval = cfi_intel_wait_status_busy(bank, 100, &status);
@@ -1150,14 +1080,12 @@ static int cfi_protect(struct flash_bank *bank, int set, int first, int last)
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if ((first < 0) || (last < first) || (last >= bank->num_sectors))
-       {
+       if ((first < 0) || (last < first) || (last >= bank->num_sectors)) {
                LOG_ERROR("Invalid sector range");
                return ERROR_FLASH_SECTOR_INVALID;
        }
@@ -1165,8 +1093,7 @@ static int cfi_protect(struct flash_bank *bank, int set, int first, int last)
        if (cfi_info->qry[0] != 'Q')
                return ERROR_FLASH_BANK_NOT_PROBED;
 
-       switch (cfi_info->pri_id)
-       {
+       switch (cfi_info->pri_id) {
                case 1:
                case 3:
                        return cfi_intel_protect(bank, set, first, last);
@@ -1177,14 +1104,13 @@ static int cfi_protect(struct flash_bank *bank, int set, int first, int last)
        }
 }
 
-/* Convert code image to target endian */
-/* FIXME create general block conversion fcts in target.c?) */
+/* Convert code image to target endian
+ * FIXME create general block conversion fcts in target.c?) */
 static void cfi_fix_code_endian(struct target *target, uint8_t *dest,
-               const uint32_t *src, uint32_t count)
+       const uint32_t *src, uint32_t count)
 {
        uint32_t i;
-       for (i = 0; i< count; i++)
-       {
+       for (i = 0; i < count; i++) {
                target_buffer_set_u32(target, dest, *src);
                dest += 4;
                src++;
@@ -1197,25 +1123,25 @@ static uint32_t cfi_command_val(struct flash_bank *bank, uint8_t cmd)
 
        uint8_t buf[CFI_MAX_BUS_WIDTH];
        cfi_command(bank, cmd, buf);
-       switch (bank->bus_width)
-       {
-       case 1 :
-               return buf[0];
-               break;
-       case 2 :
-               return target_buffer_get_u16(target, buf);
-               break;
-       case 4 :
-               return target_buffer_get_u32(target, buf);
-               break;
-       default :
-               LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes", bank->bus_width);
-               return 0;
+       switch (bank->bus_width) {
+               case 1:
+                       return buf[0];
+                       break;
+               case 2:
+                       return target_buffer_get_u16(target, buf);
+                       break;
+               case 4:
+                       return target_buffer_get_u32(target, buf);
+                       break;
+               default:
+                       LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes",
+                                       bank->bus_width);
+                       return 0;
        }
 }
 
 static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer,
-               uint32_t address, uint32_t count)
+       uint32_t address, uint32_t count)
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct target *target = bank->target;
@@ -1237,65 +1163,65 @@ static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer,
 
        /* see contib/loaders/flash/armv4_5_cfi_intel_32.s for src */
        static const uint32_t word_32_code[] = {
-               0xe4904004,   /* loop:  ldr r4, [r0], #4 */
-               0xe5813000,   /*                str r3, [r1] */
-               0xe5814000,   /*                str r4, [r1] */
-               0xe5914000,   /* busy:  ldr r4, [r1] */
-               0xe0047005,   /*                and r7, r4, r5 */
-               0xe1570005,   /*                cmp r7, r5 */
-               0x1afffffb,   /*                bne busy */
-               0xe1140006,   /*                tst r4, r6 */
-               0x1a000003,   /*                bne done */
-               0xe2522001,   /*                subs r2, r2, #1 */
-               0x0a000001,   /*                beq done */
-               0xe2811004,   /*                add r1, r1 #4 */
-               0xeafffff2,   /*                b loop */
-               0xeafffffe    /* done:  b -2 */
+               0xe4904004,     /* loop:        ldr r4, [r0], #4 */
+               0xe5813000,     /*              str r3, [r1] */
+               0xe5814000,     /*              str r4, [r1] */
+               0xe5914000,     /* busy:  ldr r4, [r1] */
+               0xe0047005,     /*              and r7, r4, r5 */
+               0xe1570005,     /*              cmp r7, r5 */
+               0x1afffffb,     /*              bne busy */
+               0xe1140006,     /*              tst r4, r6 */
+               0x1a000003,     /*              bne done */
+               0xe2522001,     /*              subs r2, r2, #1 */
+               0x0a000001,     /*              beq done */
+               0xe2811004,     /*              add r1, r1 #4 */
+               0xeafffff2,     /*              b loop */
+               0xeafffffe      /* done:        b -2 */
        };
 
        /* see contib/loaders/flash/armv4_5_cfi_intel_16.s for src */
        static const uint32_t word_16_code[] = {
-               0xe0d040b2,   /* loop:  ldrh r4, [r0], #2 */
-               0xe1c130b0,   /*                strh r3, [r1] */
-               0xe1c140b0,   /*                strh r4, [r1] */
-               0xe1d140b0,   /* busy   ldrh r4, [r1] */
-               0xe0047005,   /*                and r7, r4, r5 */
-               0xe1570005,   /*                cmp r7, r5 */
-               0x1afffffb,   /*                bne busy */
-               0xe1140006,   /*                tst r4, r6 */
-               0x1a000003,   /*                bne done */
-               0xe2522001,   /*                subs r2, r2, #1 */
-               0x0a000001,   /*                beq done */
-               0xe2811002,   /*                add r1, r1 #2 */
-               0xeafffff2,   /*                b loop */
-               0xeafffffe    /* done:  b -2 */
+               0xe0d040b2,     /* loop:        ldrh r4, [r0], #2 */
+               0xe1c130b0,     /*              strh r3, [r1] */
+               0xe1c140b0,     /*              strh r4, [r1] */
+               0xe1d140b0,     /* busy ldrh r4, [r1] */
+               0xe0047005,     /*              and r7, r4, r5 */
+               0xe1570005,     /*              cmp r7, r5 */
+               0x1afffffb,     /*              bne busy */
+               0xe1140006,     /*              tst r4, r6 */
+               0x1a000003,     /*              bne done */
+               0xe2522001,     /*              subs r2, r2, #1 */
+               0x0a000001,     /*              beq done */
+               0xe2811002,     /*              add r1, r1 #2 */
+               0xeafffff2,     /*              b loop */
+               0xeafffffe      /* done:        b -2 */
        };
 
        /* see contib/loaders/flash/armv4_5_cfi_intel_8.s for src */
        static const uint32_t word_8_code[] = {
-               0xe4d04001,   /* loop:  ldrb r4, [r0], #1 */
-               0xe5c13000,   /*                strb r3, [r1] */
-               0xe5c14000,   /*                strb r4, [r1] */
-               0xe5d14000,   /* busy   ldrb r4, [r1] */
-               0xe0047005,   /*                and r7, r4, r5 */
-               0xe1570005,   /*                cmp r7, r5 */
-               0x1afffffb,   /*                bne busy */
-               0xe1140006,   /*                tst r4, r6 */
-               0x1a000003,   /*                bne done */
-               0xe2522001,   /*                subs r2, r2, #1 */
-               0x0a000001,   /*                beq done */
-               0xe2811001,   /*                add r1, r1 #1 */
-               0xeafffff2,   /*                b loop */
-               0xeafffffe    /* done:  b -2 */
+               0xe4d04001,     /* loop:        ldrb r4, [r0], #1 */
+               0xe5c13000,     /*              strb r3, [r1] */
+               0xe5c14000,     /*              strb r4, [r1] */
+               0xe5d14000,     /* busy ldrb r4, [r1] */
+               0xe0047005,     /*              and r7, r4, r5 */
+               0xe1570005,     /*              cmp r7, r5 */
+               0x1afffffb,     /*              bne busy */
+               0xe1140006,     /*              tst r4, r6 */
+               0x1a000003,     /*              bne done */
+               0xe2522001,     /*              subs r2, r2, #1 */
+               0x0a000001,     /*              beq done */
+               0xe2811001,     /*              add r1, r1 #1 */
+               0xeafffff2,     /*              b loop */
+               0xeafffffe      /* done:        b -2 */
        };
        uint8_t target_code[4*CFI_MAX_INTEL_CODESIZE];
        const uint32_t *target_code_src;
        uint32_t target_code_size;
        int retval = ERROR_OK;
 
-       /*  todo:  if ( (!is_armv7m(target_to_armv7m(target)) && (!is_arm(target_to_arm(target)) ) */
-       if (strncmp(target_type_name(target),"mips_m4k",8) == 0)
-       {
+       /*  todo:  if ( (!is_armv7m(target_to_armv7m(target)) && (!is_arm(target_to_arm(target)) )
+        **/
+       if (strncmp(target_type_name(target), "mips_m4k", 8) == 0) {
                LOG_ERROR("Your target has no flash block write support yet.");
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        }
@@ -1306,57 +1232,56 @@ static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer,
        armv4_5_info.core_mode = ARM_MODE_SVC;
        armv4_5_info.core_state = ARM_STATE_ARM;
 
-       /* If we are setting up the write_algorith, we need target_code_src */
-       /* if not we only need target_code_size. */
+       /* If we are setting up the write_algorith, we need target_code_src
+        * if not we only need target_code_size. */
 
-       /* However, we don't want to create multiple code paths, so we */
-       /* do the unecessary evaluation of target_code_src, which the */
-       /* compiler will probably nicely optimize away if not needed */
+       /* However, we don't want to create multiple code paths, so we
+        * do the unecessary evaluation of target_code_src, which the
+        * compiler will probably nicely optimize away if not needed */
 
        /* prepare algorithm code for target endian */
-       switch (bank->bus_width)
-       {
-       case 1 :
-               target_code_src = word_8_code;
-               target_code_size = sizeof(word_8_code);
-               break;
-       case 2 :
-               target_code_src = word_16_code;
-               target_code_size = sizeof(word_16_code);
-               break;
-       case 4 :
-               target_code_src = word_32_code;
-               target_code_size = sizeof(word_32_code);
-               break;
-       default:
-               LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes", bank->bus_width);
-               return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
+       switch (bank->bus_width) {
+               case 1:
+                       target_code_src = word_8_code;
+                       target_code_size = sizeof(word_8_code);
+                       break;
+               case 2:
+                       target_code_src = word_16_code;
+                       target_code_size = sizeof(word_16_code);
+                       break;
+               case 4:
+                       target_code_src = word_32_code;
+                       target_code_size = sizeof(word_32_code);
+                       break;
+               default:
+                       LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes",
+                                       bank->bus_width);
+                       return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        }
 
        /* flash write code */
-       if (!cfi_info->write_algorithm)
-       {
-               if (target_code_size > sizeof(target_code))
-               {
+       if (!cfi_info->write_algorithm) {
+               if (target_code_size > sizeof(target_code)) {
                        LOG_WARNING("Internal error - target code buffer to small. "
-                                       "Increase CFI_MAX_INTEL_CODESIZE and recompile.");
+                               "Increase CFI_MAX_INTEL_CODESIZE and recompile.");
                        return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
                }
                cfi_fix_code_endian(target, target_code, target_code_src, target_code_size / 4);
 
                /* Get memory for block write handler */
-               retval = target_alloc_working_area(target, target_code_size, &cfi_info->write_algorithm);
-               if (retval != ERROR_OK)
-               {
+               retval = target_alloc_working_area(target,
+                               target_code_size,
+                               &cfi_info->write_algorithm);
+               if (retval != ERROR_OK) {
                        LOG_WARNING("No working area available, can't do block memory writes");
                        return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
-               };
+               }
+               ;
 
                /* write algorithm code to working area */
                retval = target_write_buffer(target, cfi_info->write_algorithm->address,
                                target_code_size, target_code);
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        LOG_ERROR("Unable to write block write code to target");
                        goto cleanup;
                }
@@ -1365,16 +1290,16 @@ static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer,
        /* Get a workspace buffer for the data to flash starting with 32k size.
           Half size until buffer would be smaller 256 Bytem then fail back */
        /* FIXME Why 256 bytes, why not 32 bytes (smallest flash write page */
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= 256)
-               {
-                       LOG_WARNING("no large enough working area available, can't do block memory writes");
+               if (buffer_size <= 256) {
+                       LOG_WARNING(
+                               "no large enough working area available, can't do block memory writes");
                        retval = ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
                        goto cleanup;
                }
-       };
+       }
+       ;
 
        /* setup algo registers */
        init_reg_param(&reg_params[0], "r0", 32, PARAM_OUT);
@@ -1391,19 +1316,16 @@ static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer,
        error_pattern_val = cfi_command_val(bank, 0x7e);
 
        LOG_DEBUG("Using target buffer at 0x%08" PRIx32 " and of size 0x%04" PRIx32,
-                       source->address, buffer_size);
+               source->address, buffer_size);
 
        /* Programming main loop */
-       while (count > 0)
-       {
+       while (count > 0) {
                uint32_t thisrun_count = (count > buffer_size) ? buffer_size : count;
                uint32_t wsm_error;
 
-               if ((retval = target_write_buffer(target, source->address,
-                               thisrun_count, buffer)) != ERROR_OK)
-               {
+               retval = target_write_buffer(target, source->address, thisrun_count, buffer);
+               if (retval != ERROR_OK)
                        goto cleanup;
-               }
 
                buf_set_u32(reg_params[0].value, 0, 32, source->address);
                buf_set_u32(reg_params[1].value, 0, 32, address);
@@ -1413,20 +1335,22 @@ static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer,
                buf_set_u32(reg_params[5].value, 0, 32, busy_pattern_val);
                buf_set_u32(reg_params[6].value, 0, 32, error_pattern_val);
 
-               LOG_DEBUG("Write 0x%04" PRIx32 " bytes to flash at 0x%08" PRIx32 , thisrun_count, address);
+               LOG_DEBUG("Write 0x%04" PRIx32 " bytes to flash at 0x%08" PRIx32,
+                       thisrun_count, address);
 
                /* Execute algorithm, assume breakpoint for last instruction */
                retval = target_run_algorithm(target, 0, NULL, 7, reg_params,
-                       cfi_info->write_algorithm->address,
-                       cfi_info->write_algorithm->address + target_code_size - sizeof(uint32_t),
-                       10000, /* 10s should be enough for max. 32k of data */
-                       &armv4_5_info);
+                               cfi_info->write_algorithm->address,
+                               cfi_info->write_algorithm->address + target_code_size -
+                               sizeof(uint32_t),
+                               10000,  /* 10s should be enough for max. 32k of data */
+                               &armv4_5_info);
 
                /* On failure try a fall back to direct word writes */
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        cfi_intel_clear_status_register(bank);
-                       LOG_ERROR("Execution of flash algorythm failed. Can't fall back. Please report.");
+                       LOG_ERROR(
+                               "Execution of flash algorythm failed. Can't fall back. Please report.");
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        /* retval = ERROR_TARGET_RESOURCE_NOT_AVAILABLE; */
                        /* FIXME To allow fall back or recovery, we must save the actual status
@@ -1436,8 +1360,7 @@ static int cfi_intel_write_block(struct flash_bank *bank, uint8_t *buffer,
 
                /* Check return value from algo code */
                wsm_error = buf_get_u32(reg_params[4].value, 0, 32) & error_pattern_val;
-               if (wsm_error)
-               {
+               if (wsm_error) {
                        /* read status register (outputs debug inforation) */
                        uint8_t status;
                        cfi_intel_wait_status_busy(bank, 100, &status);
@@ -1458,8 +1381,7 @@ cleanup:
        if (source)
                target_free_working_area(target, source);
 
-       if (cfi_info->write_algorithm)
-       {
+       if (cfi_info->write_algorithm) {
                target_free_working_area(target, cfi_info->write_algorithm);
                cfi_info->write_algorithm = NULL;
        }
@@ -1476,7 +1398,7 @@ cleanup:
 }
 
 static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffer,
-               uint32_t address, uint32_t count)
+       uint32_t address, uint32_t count)
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
@@ -1488,72 +1410,86 @@ static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffe
        uint32_t status;
        int retval = ERROR_OK;
 
-       /* input parameters - */
-       /*      4  A0 = source address */
-       /*      5  A1 = destination address */
-       /*      6  A2 = number of writes */
-       /*      7  A3 = flash write command */
-       /*      8  T0 = constant to mask DQ7 bits (also used for Dq5 with shift) */
-       /* output parameters - */
-       /*      9  T1 = 0x80 ok 0x00 bad */
-       /* temp registers - */
-       /*      10 T2 = value read from flash to test status */
-       /*      11 T3 = holding register */
-       /* unlock registers - */
-       /*  12 T4 = unlock1_addr */
-       /*  13 T5 = unlock1_cmd */
-       /*  14 T6 = unlock2_addr */
-       /*  15 T7 = unlock2_cmd */
+       /* input parameters -
+        *      4  A0 = source address
+        *      5  A1 = destination address
+        *      6  A2 = number of writes
+        *      7  A3 = flash write command
+        *      8  T0 = constant to mask DQ7 bits (also used for Dq5 with shift)
+        * output parameters -
+        *      9  T1 = 0x80 ok 0x00 bad
+        * temp registers -
+        *      10 T2 = value read from flash to test status
+        *      11 T3 = holding register
+        * unlock registers -
+        *  12 T4 = unlock1_addr
+        *  13 T5 = unlock1_cmd
+        *  14 T6 = unlock2_addr
+        *  15 T7 = unlock2_cmd */
 
        static const uint32_t mips_word_16_code[] = {
-                                                                                                                       /* start:       */
-               MIPS32_LHU(9,0,4),              /* lhu $t1, ($a0)               ; out = &saddr                          */
-               MIPS32_ADDI(4,4,2),             /* addi $a0, $a0, 2             ; saddr += 2                            */
-               MIPS32_SH(13,0,12),             /* sh $t5, ($t4)                ; *fl_unl_addr1 = fl_unl_cmd1           */
-               MIPS32_SH(15,0,14),             /* sh $t7, ($t6)                ; *fl_unl_addr2 = fl_unl_cmd2           */
-               MIPS32_SH(7,0,12),              /* sh $a3, ($t4)                ; *fl_unl_addr1 = fl_write_cmd          */
-               MIPS32_SH(9,0,5),               /* sh $t1, ($a1)                ; *daddr = out                          */
+               /* start:       */
+               MIPS32_LHU(9, 0, 4),            /* lhu $t1, ($a0)               ; out = &saddr                          */
+               MIPS32_ADDI(4, 4, 2),           /* addi $a0, $a0, 2             ; saddr += 2                            */
+               MIPS32_SH(13, 0, 12),           /* sh $t5, ($t4)                ; *fl_unl_addr1 =
+                                                *fl_unl_cmd1           */
+               MIPS32_SH(15, 0, 14),           /* sh $t7, ($t6)                ; *fl_unl_addr2 =
+                                                *fl_unl_cmd2           */
+               MIPS32_SH(7, 0, 12),            /* sh $a3, ($t4)                ; *fl_unl_addr1 =
+                                                *fl_write_cmd          */
+               MIPS32_SH(9, 0, 5),             /* sh $t1, ($a1)                ; *daddr = out                          */
                MIPS32_NOP,                     /* nop                                                                  */
-                                                                                                                       /* busy:        */
-               MIPS32_LHU(10,0,5),             /* lhu $t2, ($a1)               ; temp1 = *daddr                        */
-               MIPS32_XOR(11,9,10),            /* xor $t3, $a0, $t2            ; temp2 = out ^ temp1;                  */
-               MIPS32_AND(11,8,11),            /* and $t3, $t0, $t3            ; temp2 = temp2 & DQ7mask               */
-               MIPS32_BNE(11,8, 13),           /* bne $t3, $t0, cont           ; if (temp2 != DQ7mask) goto cont       */
+               /* busy:        */
+               MIPS32_LHU(10, 0, 5),           /* lhu $t2, ($a1)               ; temp1 = *daddr                        */
+               MIPS32_XOR(11, 9, 10),          /* xor $t3, $a0, $t2            ; temp2 = out ^
+                                                *temp1;                        */
+               MIPS32_AND(11, 8, 11),          /* and $t3, $t0, $t3            ; temp2 = temp2 &
+                                                *DQ7mask               */
+               MIPS32_BNE(11, 8, 13),          /* bne $t3, $t0, cont           ; if (temp2 !=
+                                                *DQ7mask) goto cont    */
                MIPS32_NOP,                     /* nop                                                                  */
 
-               MIPS32_SRL(10,8,2),             /* srl $t2,$t0,2                ; temp1 = DQ7mask >> 2                  */
-               MIPS32_AND(11,10,11),           /* and $t3, $t2, $t3            ; temp2 = temp2 & temp1                 */
-               MIPS32_BNE(11,10, NEG16(8)),    /* bne $t3, $t2, busy           ; if (temp2 != temp1) goto busy         */
+               MIPS32_SRL(10, 8, 2),           /* srl $t2,$t0,2                ; temp1 = DQ7mask >>
+                                                *2                     */
+               MIPS32_AND(11, 10, 11),         /* and $t3, $t2, $t3            ; temp2 = temp2 &
+                                                *temp1                 */
+               MIPS32_BNE(11, 10, NEG16(8)),   /* bne $t3, $t2, busy           ; if (temp2 !=
+                                                *temp1) goto busy              */
                MIPS32_NOP,                     /* nop                                                                  */
 
-               MIPS32_LHU(10,0,5),             /* lhu $t2, ($a1)               ; temp1 = *daddr                        */
-               MIPS32_XOR(11,9,10),            /* xor $t3, $a0, $t2            ; temp2 = out ^ temp1;                  */
-               MIPS32_AND(11,8,11),            /* and $t3, $t0, $t3            ; temp2 = temp2 & DQ7mask               */
-               MIPS32_BNE(11,8, 4),            /* bne $t3, $t0, cont           ; if (temp2 != DQ7mask) goto cont       */
+               MIPS32_LHU(10, 0, 5),           /* lhu $t2, ($a1)               ; temp1 = *daddr                        */
+               MIPS32_XOR(11, 9, 10),          /* xor $t3, $a0, $t2            ; temp2 = out ^
+                                                *temp1;                        */
+               MIPS32_AND(11, 8, 11),          /* and $t3, $t0, $t3            ; temp2 = temp2 &
+                                                *DQ7mask               */
+               MIPS32_BNE(11, 8, 4),           /* bne $t3, $t0, cont           ; if (temp2 !=
+                                                *DQ7mask) goto cont    */
                MIPS32_NOP,                     /* nop                                                                  */
 
-               MIPS32_XOR(9,9,9),              /* xor $t1, $t1, $t1            ; out = 0                               */
-               MIPS32_BEQ(9,0, 11),            /* beq $t1, $zero, done         ; if (out == 0) goto done               */
+               MIPS32_XOR(9, 9, 9),            /* xor $t1, $t1, $t1            ; out = 0                               */
+               MIPS32_BEQ(9, 0, 11),           /* beq $t1, $zero, done         ; if (out == 0) goto
+                                                *done          */
                MIPS32_NOP,                     /* nop                                                                  */
-                                                                                                                       /* cont:        */
-               MIPS32_ADDI(6,6,NEG16(1)),      /* addi, $a2, $a2, -1           ; numwrites--                           */
-               MIPS32_BNE(6,0, 5),             /* bne $a2, $zero, cont2        ; if (numwrite != 0) goto cont2         */
+               /* cont:        */
+               MIPS32_ADDI(6, 6, NEG16(1)),    /* addi, $a2, $a2, -1           ; numwrites--                           */
+               MIPS32_BNE(6, 0, 5),            /* bne $a2, $zero, cont2        ; if (numwrite != 0)
+                                                *goto cont2            */
                MIPS32_NOP,                     /* nop                                                                  */
-               
-               MIPS32_LUI(9,0),                /* lui $t1, 0                                                           */
-               MIPS32_ORI(9,9,0x80),           /* ori $t1, $t1, 0x80           ; out = 0x80                            */
+
+               MIPS32_LUI(9, 0),               /* lui $t1, 0                                                           */
+               MIPS32_ORI(9, 9, 0x80),         /* ori $t1, $t1, 0x80           ; out = 0x80                            */
 
                MIPS32_B(4),                    /* b done                       ; goto done                             */
                MIPS32_NOP,                     /* nop                                                                  */
-                                                                                                                       /* cont2:       */
-               MIPS32_ADDI(5,5,2),             /* addi $a0, $a0, 2             ; daddr += 2                            */
+               /* cont2:       */
+               MIPS32_ADDI(5, 5, 2),           /* addi $a0, $a0, 2             ; daddr += 2                            */
                MIPS32_B(NEG16(33)),            /* b start                      ; goto start                            */
                MIPS32_NOP,                     /* nop                                                                  */
-                                                                                                                       /* done:        */
-               /*MIPS32_B(NEG16(1)),   */      /* b done                       ; goto done                             */
+               /* done:
+                *MIPS32_B(NEG16(1)),   */      /* b done                       ; goto done                             */
                MIPS32_SDBBP,                   /* sdbbp                        ; break();                              */
-               /*MIPS32_B(NEG16(33)),  */      /* b start                      ; goto start                            */
-               /* MIPS32_NOP, */
+               /*MIPS32_B(NEG16(33)),  */      /* b start                      ; goto start
+                * MIPS32_NOP, */
        };
 
        mips32_info.common_magic = MIPS32_COMMON_MAGIC;
@@ -1562,37 +1498,32 @@ static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffe
        int target_code_size = 0;
        const uint32_t *target_code_src = NULL;
 
-       switch (bank->bus_width)
-       {
-       case 2 :
-               /* Check for DQ5 support */
-               if( cfi_info->status_poll_mask & (1 << 5) )
-               {
-                       target_code_src = mips_word_16_code;
-                       target_code_size = sizeof(mips_word_16_code);
-               }
-               else
-               {
-                       LOG_ERROR("Need DQ5 support");
+       switch (bank->bus_width) {
+               case 2:
+                       /* Check for DQ5 support */
+                       if (cfi_info->status_poll_mask & (1 << 5)) {
+                               target_code_src = mips_word_16_code;
+                               target_code_size = sizeof(mips_word_16_code);
+                       } else {
+                               LOG_ERROR("Need DQ5 support");
+                               return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
+                               /* target_code_src = mips_word_16_code_dq7only; */
+                               /* target_code_size = sizeof(mips_word_16_code_dq7only); */
+                       }
+                       break;
+               default:
+                       LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes",
+                                       bank->bus_width);
                        return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
-                       //target_code_src = mips_word_16_code_dq7only;
-                       //target_code_size = sizeof(mips_word_16_code_dq7only);
-               }
-               break;
-       default:
-               LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes", bank->bus_width);
-               return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        }
 
        /* flash write code */
-       if (!cfi_info->write_algorithm)
-       {
+       if (!cfi_info->write_algorithm) {
                uint8_t *target_code;
 
                /* convert bus-width dependent algorithm code to correct endiannes */
                target_code = malloc(target_code_size);
-               if (target_code == NULL)
-               {
+               if (target_code == NULL) {
                        LOG_ERROR("Out of memory");
                        return ERROR_FAIL;
                }
@@ -1601,16 +1532,15 @@ static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffe
                /* allocate working area */
                retval = target_alloc_working_area(target, target_code_size,
                                &cfi_info->write_algorithm);
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        free(target_code);
                        return retval;
                }
 
                /* write algorithm code to working area */
-               if ((retval = target_write_buffer(target, cfi_info->write_algorithm->address,
-                               target_code_size, target_code)) != ERROR_OK)
-               {
+               retval = target_write_buffer(target, cfi_info->write_algorithm->address,
+                               target_code_size, target_code);
+               if (retval != ERROR_OK) {
                        free(target_code);
                        return retval;
                }
@@ -1619,20 +1549,20 @@ static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffe
        }
        /* the following code still assumes target code is fixed 24*4 bytes */
 
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= 256)
-               {
+               if (buffer_size <= 256) {
                        /* if we already allocated the writing code, but failed to get a
                         * buffer, free the algorithm */
                        if (cfi_info->write_algorithm)
                                target_free_working_area(target, cfi_info->write_algorithm);
 
-                       LOG_WARNING("not enough working area available, can't do block memory writes");
+                       LOG_WARNING(
+                               "not enough working area available, can't do block memory writes");
                        return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
                }
-       };
+       }
+       ;
 
        init_reg_param(&reg_params[0], "a0", 32, PARAM_OUT);
        init_reg_param(&reg_params[1], "a1", 32, PARAM_OUT);
@@ -1645,15 +1575,12 @@ static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffe
        init_reg_param(&reg_params[8], "t6", 32, PARAM_OUT);
        init_reg_param(&reg_params[9], "t7", 32, PARAM_OUT);
 
-       while (count > 0)
-       {
+       while (count > 0) {
                uint32_t thisrun_count = (count > buffer_size) ? buffer_size : count;
 
                retval = target_write_buffer(target, source->address, thisrun_count, buffer);
                if (retval != ERROR_OK)
-               {
                        break;
-               }
 
                buf_set_u32(reg_params[0].value, 0, 32, source->address);
                buf_set_u32(reg_params[1].value, 0, 32, address);
@@ -1670,14 +1597,11 @@ static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffe
                                cfi_info->write_algorithm->address + ((target_code_size) - 4),
                                10000, &mips32_info);
                if (retval != ERROR_OK)
-               {
                        break;
-               }
 
                status = buf_get_u32(reg_params[5].value, 0, 32);
-               if (status != 0x80)
-               {
-                       LOG_ERROR("flash write block failed status: 0x%" PRIx32 , status);
+               if (status != 0x80) {
+                       LOG_ERROR("flash write block failed status: 0x%" PRIx32, status);
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        break;
                }
@@ -1704,7 +1628,7 @@ static int cfi_spansion_write_block_mips(struct flash_bank *bank, uint8_t *buffe
 }
 
 static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
-               uint32_t address, uint32_t count)
+       uint32_t address, uint32_t count)
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
@@ -1716,34 +1640,34 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
        uint32_t status;
        int retval = ERROR_OK;
 
-       /* input parameters - */
-       /*      R0 = source address */
-       /*      R1 = destination address */
-       /*      R2 = number of writes */
-       /*      R3 = flash write command */
-       /*      R4 = constant to mask DQ7 bits (also used for Dq5 with shift) */
-       /* output parameters - */
-       /*      R5 = 0x80 ok 0x00 bad */
-       /* temp registers - */
-       /*      R6 = value read from flash to test status */
-       /*      R7 = holding register */
-       /* unlock registers - */
-       /*  R8 = unlock1_addr */
-       /*  R9 = unlock1_cmd */
-       /*  R10 = unlock2_addr */
-       /*  R11 = unlock2_cmd */
+       /* input parameters -
+        *      R0 = source address
+        *      R1 = destination address
+        *      R2 = number of writes
+        *      R3 = flash write command
+        *      R4 = constant to mask DQ7 bits (also used for Dq5 with shift)
+        * output parameters -
+        *      R5 = 0x80 ok 0x00 bad
+        * temp registers -
+        *      R6 = value read from flash to test status
+        *      R7 = holding register
+        * unlock registers -
+        *  R8 = unlock1_addr
+        *  R9 = unlock1_cmd
+        *  R10 = unlock2_addr
+        *  R11 = unlock2_cmd */
 
        /* see contib/loaders/flash/armv4_5_cfi_span_32.s for src */
        static const uint32_t armv4_5_word_32_code[] = {
-                                               /* 00008100 <sp_32_code>:               */
+               /* 00008100 <sp_32_code>:               */
                0xe4905004,             /* ldr  r5, [r0], #4                    */
                0xe5889000,             /* str  r9, [r8]                                */
                0xe58ab000,             /* str  r11, [r10]                              */
                0xe5883000,             /* str  r3, [r8]                                */
                0xe5815000,             /* str  r5, [r1]                                */
                0xe1a00000,             /* nop                                                  */
-                                               /*                                                              */
-                                               /* 00008110 <sp_32_busy>:               */
+               /*
+                * 00008110 <sp_32_busy>:               */
                0xe5916000,             /* ldr  r6, [r1]                                */
                0xe0257006,             /* eor  r7, r5, r6                              */
                0xe0147007,             /* ands r7, r4, r7                              */
@@ -1756,29 +1680,29 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
                0x0a000001,             /* beq  8140 <sp_32_cont> ; b if DQ7 == Data7 */
                0xe3a05000,             /* mov  r5, #0  ; 0x0 - return 0x00, error */
                0x1a000004,             /* bne  8154 <sp_32_done>               */
-                                               /*                                                              */
-                                               /* 00008140 <sp_32_cont>:               */
+               /*
+                * 00008140 <sp_32_cont>:               */
                0xe2522001,             /* subs r2, r2, #1      ; 0x1           */
                0x03a05080,             /* moveq        r5, #128        ; 0x80  */
                0x0a000001,             /* beq  8154 <sp_32_done>               */
                0xe2811004,             /* add  r1, r1, #4      ; 0x4           */
                0xeaffffe8,             /* b    8100 <sp_32_code>               */
-                                               /*                                                              */
-                                               /* 00008154 <sp_32_done>:               */
+               /*
+                * 00008154 <sp_32_done>:               */
                0xeafffffe              /* b    8154 <sp_32_done>               */
        };
 
        /* see contib/loaders/flash/armv4_5_cfi_span_16.s for src */
        static const uint32_t armv4_5_word_16_code[] = {
-                                               /* 00008158 <sp_16_code>:               */
+               /* 00008158 <sp_16_code>:               */
                0xe0d050b2,             /* ldrh r5, [r0], #2                    */
                0xe1c890b0,             /* strh r9, [r8]                                */
                0xe1cab0b0,             /* strh r11, [r10]                              */
                0xe1c830b0,             /* strh r3, [r8]                                */
                0xe1c150b0,             /* strh r5, [r1]                                */
                0xe1a00000,             /* nop                  (mov r0,r0)             */
-                                               /*                                                              */
-                                               /* 00008168 <sp_16_busy>:               */
+               /*
+                * 00008168 <sp_16_busy>:               */
                0xe1d160b0,             /* ldrh r6, [r1]                                */
                0xe0257006,             /* eor  r7, r5, r6                              */
                0xe0147007,             /* ands r7, r4, r7                              */
@@ -1791,15 +1715,15 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
                0x0a000001,             /* beq  8198 <sp_16_cont>               */
                0xe3a05000,             /* mov  r5, #0  ; 0x0                   */
                0x1a000004,             /* bne  81ac <sp_16_done>               */
-                                               /*                                                              */
-                                               /* 00008198 <sp_16_cont>:               */
-               0xe2522001,     /* subs r2, r2, #1      ; 0x1           */
-               0x03a05080,     /* moveq        r5, #128        ; 0x80  */
-               0x0a000001,     /* beq  81ac <sp_16_done>               */
-               0xe2811002,     /* add  r1, r1, #2      ; 0x2           */
-               0xeaffffe8,     /* b    8158 <sp_16_code>               */
-                                               /*                                                              */
-                                               /* 000081ac <sp_16_done>:               */
+               /*
+                * 00008198 <sp_16_cont>:               */
+               0xe2522001,     /* subs r2, r2, #1      ; 0x1           */
+               0x03a05080,     /* moveq        r5, #128        ; 0x80  */
+               0x0a000001,     /* beq  81ac <sp_16_done>               */
+               0xe2811002,     /* add  r1, r1, #2      ; 0x2           */
+               0xeaffffe8,     /* b    8158 <sp_16_code>               */
+               /*
+                * 000081ac <sp_16_done>:               */
                0xeafffffe              /* b    81ac <sp_16_done>               */
        };
 
@@ -1827,41 +1751,41 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
 
        /* see contib/loaders/flash/armv4_5_cfi_span_16_dq7.s for src */
        static const uint32_t armv4_5_word_16_code_dq7only[] = {
-                                               /* <sp_16_code>:                                */
+               /* <sp_16_code>:                                */
                0xe0d050b2,             /* ldrh r5, [r0], #2                    */
                0xe1c890b0,             /* strh r9, [r8]                                */
                0xe1cab0b0,             /* strh r11, [r10]                              */
                0xe1c830b0,             /* strh r3, [r8]                                */
                0xe1c150b0,             /* strh r5, [r1]                                */
                0xe1a00000,             /* nop                  (mov r0,r0)             */
-                                               /*                                                              */
-                                               /* <sp_16_busy>:                                */
+               /*
+                * <sp_16_busy>:                                */
                0xe1d160b0,             /* ldrh r6, [r1]                                */
                0xe0257006,             /* eor  r7, r5, r6                              */
                0xe2177080,             /* ands r7, #0x80                               */
                0x1afffffb,             /* bne  8168 <sp_16_busy>               */
-                                               /*                                                              */
+               /*                                                              */
                0xe2522001,             /* subs r2, r2, #1      ; 0x1           */
                0x03a05080,             /* moveq        r5, #128        ; 0x80  */
                0x0a000001,             /* beq  81ac <sp_16_done>               */
                0xe2811002,             /* add  r1, r1, #2      ; 0x2           */
                0xeafffff0,             /* b    8158 <sp_16_code>               */
-                                               /*                                                              */
-                                               /* 000081ac <sp_16_done>:               */
+               /*
+                * 000081ac <sp_16_done>:               */
                0xeafffffe              /* b    81ac <sp_16_done>               */
        };
 
        /* see contib/loaders/flash/armv4_5_cfi_span_8.s for src */
        static const uint32_t armv4_5_word_8_code[] = {
-                                               /* 000081b0 <sp_16_code_end>:   */
+               /* 000081b0 <sp_16_code_end>:   */
                0xe4d05001,             /* ldrb r5, [r0], #1                    */
                0xe5c89000,             /* strb r9, [r8]                                */
                0xe5cab000,             /* strb r11, [r10]                              */
                0xe5c83000,             /* strb r3, [r8]                                */
                0xe5c15000,             /* strb r5, [r1]                                */
                0xe1a00000,             /* nop                  (mov r0,r0)             */
-                                               /*                                                              */
-                                               /* 000081c0 <sp_8_busy>:                */
+               /*
+                * 000081c0 <sp_8_busy>:                */
                0xe5d16000,             /* ldrb r6, [r1]                                */
                0xe0257006,             /* eor  r7, r5, r6                              */
                0xe0147007,             /* ands r7, r4, r7                              */
@@ -1874,30 +1798,26 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
                0x0a000001,             /* beq  81f0 <sp_8_cont>                */
                0xe3a05000,             /* mov  r5, #0  ; 0x0                   */
                0x1a000004,             /* bne  8204 <sp_8_done>                */
-                                               /*                                                              */
-                                               /* 000081f0 <sp_8_cont>:                */
+               /*
+                * 000081f0 <sp_8_cont>:                */
                0xe2522001,             /* subs r2, r2, #1      ; 0x1           */
                0x03a05080,             /* moveq        r5, #128        ; 0x80  */
                0x0a000001,             /* beq  8204 <sp_8_done>                */
                0xe2811001,             /* add  r1, r1, #1      ; 0x1           */
                0xeaffffe8,             /* b    81b0 <sp_16_code_end>   */
-                                               /*                                                              */
-                                               /* 00008204 <sp_8_done>:                */
+               /*
+                * 00008204 <sp_8_done>:                */
                0xeafffffe              /* b    8204 <sp_8_done>                */
        };
 
-       if (strncmp(target_type_name(target),"mips_m4k",8) == 0)
-       {
-               return cfi_spansion_write_block_mips(bank,buffer,address,count);
-       }
+       if (strncmp(target_type_name(target), "mips_m4k", 8) == 0)
+               return cfi_spansion_write_block_mips(bank, buffer, address, count);
 
-       if (is_armv7m(target_to_armv7m(target))) /* Cortex-M3 target */
-       {
+       if (is_armv7m(target_to_armv7m(target))) {      /* Cortex-M3 target */
                armv4_5_info.common_magic = ARMV7M_COMMON_MAGIC;
                armv4_5_info.core_mode = ARMV7M_MODE_HANDLER;
                armv4_5_info.core_state = ARM_STATE_ARM;
-       } else if (is_arm7_9(target_to_arm7_9(target)))
-       {
+       } else if (is_arm7_9(target_to_arm7_9(target))) {
                /* All other ARM CPUs have 32 bit instructions */
                armv4_5_info.common_magic = ARM_COMMON_MAGIC;
                armv4_5_info.core_mode = ARM_MODE_SVC;
@@ -1910,64 +1830,59 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
        int target_code_size = 0;
        const uint32_t *target_code_src = NULL;
 
-       switch (bank->bus_width)
-       {
-       case 1 :
-               if (armv4_5_info.common_magic != ARM_COMMON_MAGIC) {
-                       LOG_ERROR("Unknown ARM architecture");
-                       return ERROR_FAIL;
-               }
-               target_code_src = armv4_5_word_8_code;
-               target_code_size = sizeof(armv4_5_word_8_code);
-               break;
-       case 2 :
-               /* Check for DQ5 support */
-               if( cfi_info->status_poll_mask & (1 << 5) )
-               {
-                       if(armv4_5_info.common_magic == ARM_COMMON_MAGIC) /* armv4_5 target */
-                       {
-                               target_code_src = armv4_5_word_16_code;
-                               target_code_size = sizeof(armv4_5_word_16_code);
+       switch (bank->bus_width) {
+               case 1:
+                       if (armv4_5_info.common_magic != ARM_COMMON_MAGIC) {
+                               LOG_ERROR("Unknown ARM architecture");
+                               return ERROR_FAIL;
                        }
-                       else if (armv4_5_info.common_magic == ARMV7M_COMMON_MAGIC) /* cortex-m3 target */
-                       {
-                               target_code_src = armv7m_word_16_code;
-                               target_code_size = sizeof(armv7m_word_16_code);
+                       target_code_src = armv4_5_word_8_code;
+                       target_code_size = sizeof(armv4_5_word_8_code);
+                       break;
+               case 2:
+                       /* Check for DQ5 support */
+                       if (cfi_info->status_poll_mask & (1 << 5)) {
+                               if (armv4_5_info.common_magic == ARM_COMMON_MAGIC) {/* armv4_5 target */
+                                       target_code_src = armv4_5_word_16_code;
+                                       target_code_size = sizeof(armv4_5_word_16_code);
+                               } else if (armv4_5_info.common_magic == ARMV7M_COMMON_MAGIC) {  /*
+                                                                                                *cortex-m3
+                                                                                                *target
+                                                                                                **/
+                                       target_code_src = armv7m_word_16_code;
+                                       target_code_size = sizeof(armv7m_word_16_code);
+                               }
+                       } else {
+                               /* No DQ5 support. Use DQ7 DATA# polling only. */
+                               if (armv4_5_info.common_magic != ARM_COMMON_MAGIC) {
+                                       LOG_ERROR("Unknown ARM architecture");
+                                       return ERROR_FAIL;
+                               }
+                               target_code_src = armv4_5_word_16_code_dq7only;
+                               target_code_size = sizeof(armv4_5_word_16_code_dq7only);
                        }
-               }
-               else
-               {
-                       /* No DQ5 support. Use DQ7 DATA# polling only. */
+                       break;
+               case 4:
                        if (armv4_5_info.common_magic != ARM_COMMON_MAGIC) {
                                LOG_ERROR("Unknown ARM architecture");
                                return ERROR_FAIL;
                        }
-                       target_code_src = armv4_5_word_16_code_dq7only;
-                       target_code_size = sizeof(armv4_5_word_16_code_dq7only);
-               }
-               break;
-       case 4 :
-               if (armv4_5_info.common_magic != ARM_COMMON_MAGIC) {
-                       LOG_ERROR("Unknown ARM architecture");
-                       return ERROR_FAIL;
-               }
-               target_code_src = armv4_5_word_32_code;
-               target_code_size = sizeof(armv4_5_word_32_code);
-               break;
-       default:
-               LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes", bank->bus_width);
-               return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
+                       target_code_src = armv4_5_word_32_code;
+                       target_code_size = sizeof(armv4_5_word_32_code);
+                       break;
+               default:
+                       LOG_ERROR("Unsupported bank buswidth %d, can't do block memory writes",
+                                       bank->bus_width);
+                       return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        }
 
        /* flash write code */
-       if (!cfi_info->write_algorithm)
-       {
+       if (!cfi_info->write_algorithm) {
                uint8_t *target_code;
 
                /* convert bus-width dependent algorithm code to correct endiannes */
                target_code = malloc(target_code_size);
-               if (target_code == NULL)
-               {
+               if (target_code == NULL) {
                        LOG_ERROR("Out of memory");
                        return ERROR_FAIL;
                }
@@ -1976,16 +1891,15 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
                /* allocate working area */
                retval = target_alloc_working_area(target, target_code_size,
                                &cfi_info->write_algorithm);
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        free(target_code);
                        return retval;
                }
 
                /* write algorithm code to working area */
-               if ((retval = target_write_buffer(target, cfi_info->write_algorithm->address,
-                               target_code_size, target_code)) != ERROR_OK)
-               {
+               retval = target_write_buffer(target, cfi_info->write_algorithm->address,
+                               target_code_size, target_code);
+               if (retval != ERROR_OK) {
                        free(target_code);
                        return retval;
                }
@@ -1994,20 +1908,20 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
        }
        /* the following code still assumes target code is fixed 24*4 bytes */
 
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= 256)
-               {
+               if (buffer_size <= 256) {
                        /* if we already allocated the writing code, but failed to get a
                         * buffer, free the algorithm */
                        if (cfi_info->write_algorithm)
                                target_free_working_area(target, cfi_info->write_algorithm);
 
-                       LOG_WARNING("not enough working area available, can't do block memory writes");
+                       LOG_WARNING(
+                               "not enough working area available, can't do block memory writes");
                        return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
                }
-       };
+       }
+       ;
 
        init_reg_param(&reg_params[0], "r0", 32, PARAM_OUT);
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);
@@ -2020,15 +1934,12 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
        init_reg_param(&reg_params[8], "r10", 32, PARAM_OUT);
        init_reg_param(&reg_params[9], "r11", 32, PARAM_OUT);
 
-       while (count > 0)
-       {
+       while (count > 0) {
                uint32_t thisrun_count = (count > buffer_size) ? buffer_size : count;
 
                retval = target_write_buffer(target, source->address, thisrun_count, buffer);
                if (retval != ERROR_OK)
-               {
                        break;
-               }
 
                buf_set_u32(reg_params[0].value, 0, 32, source->address);
                buf_set_u32(reg_params[1].value, 0, 32, address);
@@ -2045,14 +1956,11 @@ static int cfi_spansion_write_block(struct flash_bank *bank, uint8_t *buffer,
                                cfi_info->write_algorithm->address + ((target_code_size) - 4),
                                10000, &armv4_5_info);
                if (retval != ERROR_OK)
-               {
                        break;
-               }
 
                status = buf_get_u32(reg_params[5].value, 0, 32);
-               if (status != 0x80)
-               {
-                       LOG_ERROR("flash write block failed status: 0x%" PRIx32 , status);
+               if (status != 0x80) {
+                       LOG_ERROR("flash write block failed status: 0x%" PRIx32, status);
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        break;
                }
@@ -2085,27 +1993,23 @@ static int cfi_intel_write_word(struct flash_bank *bank, uint8_t *word, uint32_t
        struct target *target = bank->target;
 
        cfi_intel_clear_status_register(bank);
-       if ((retval = cfi_send_command(bank, 0x40, address)) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x40, address);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = target_write_memory(target, address, bank->bus_width, 1, word)) != ERROR_OK)
-       {
+       retval = target_write_memory(target, address, bank->bus_width, 1, word);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        uint8_t status;
        retval = cfi_intel_wait_status_busy(bank, cfi_info->word_write_timeout, &status);
-       if (retval != 0x80)
-       {
-               if ((retval = cfi_send_command(bank, 0xff, flash_address(bank, 0, 0x0))) != ERROR_OK)
-               {
+       if (retval != 0x80) {
+               retval = cfi_send_command(bank, 0xff, flash_address(bank, 0, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                LOG_ERROR("couldn't write word at base 0x%" PRIx32 ", address 0x%" PRIx32,
-                               bank->base, address);
+                       bank->base, address);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
@@ -2113,33 +2017,32 @@ static int cfi_intel_write_word(struct flash_bank *bank, uint8_t *word, uint32_t
 }
 
 static int cfi_intel_write_words(struct flash_bank *bank, uint8_t *word,
-               uint32_t wordcount, uint32_t address)
+       uint32_t wordcount, uint32_t address)
 {
        int retval;
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct target *target = bank->target;
 
-       /* Calculate buffer size and boundary mask */
-       /* buffersize is (buffer size per chip) * (number of chips) */
-       /* bufferwsize is buffersize in words */
-       uint32_t buffersize = (1UL << cfi_info->max_buf_write_size) * (bank->bus_width / bank->chip_width);
+       /* Calculate buffer size and boundary mask
+        * buffersize is (buffer size per chip) * (number of chips)
+        * bufferwsize is buffersize in words */
+       uint32_t buffersize =
+               (1UL << cfi_info->max_buf_write_size) * (bank->bus_width / bank->chip_width);
        uint32_t buffermask = buffersize-1;
        uint32_t bufferwsize = buffersize / bank->bus_width;
 
        /* Check for valid range */
-       if (address & buffermask)
-       {
+       if (address & buffermask) {
                LOG_ERROR("Write address at base 0x%" PRIx32 ", address 0x%" PRIx32
-                               " not aligned to 2^%d boundary",
-                               bank->base, address, cfi_info->max_buf_write_size);
+                       " not aligned to 2^%d boundary",
+                       bank->base, address, cfi_info->max_buf_write_size);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        /* Check for valid size */
-       if (wordcount > bufferwsize)
-       {
+       if (wordcount > bufferwsize) {
                LOG_ERROR("Number of data words %" PRId32 " exceeds available buffersize %" PRId32,
-                               wordcount, buffersize);
+                       wordcount, buffersize);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
@@ -2147,58 +2050,50 @@ static int cfi_intel_write_words(struct flash_bank *bank, uint8_t *word,
        cfi_intel_clear_status_register(bank);
 
        /* Initiate buffer operation _*/
-       if ((retval = cfi_send_command(bank, 0xe8, address)) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0xe8, address);
+       if (retval != ERROR_OK)
                return retval;
-       }
        uint8_t status;
        retval = cfi_intel_wait_status_busy(bank, cfi_info->buf_write_timeout, &status);
        if (retval != ERROR_OK)
                return retval;
-       if (status != 0x80)
-       {
-               if ((retval = cfi_send_command(bank, 0xff, flash_address(bank, 0, 0x0))) != ERROR_OK)
-               {
+       if (status != 0x80) {
+               retval = cfi_send_command(bank, 0xff, flash_address(bank, 0, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
-               LOG_ERROR("couldn't start buffer write operation at base 0x%" PRIx32 ", address 0x%" PRIx32,
-                               bank->base, address);
+               LOG_ERROR(
+                       "couldn't start buffer write operation at base 0x%" PRIx32 ", address 0x%" PRIx32,
+                       bank->base,
+                       address);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        /* Write buffer wordcount-1 and data words */
-       if ((retval = cfi_send_command(bank, bufferwsize-1, address)) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, bufferwsize-1, address);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = target_write_memory(target,
-                       address, bank->bus_width, bufferwsize, word)) != ERROR_OK)
-       {
+       retval = target_write_memory(target, address, bank->bus_width, bufferwsize, word);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        /* Commit write operation */
-       if ((retval = cfi_send_command(bank, 0xd0, address)) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0xd0, address);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        retval = cfi_intel_wait_status_busy(bank, cfi_info->buf_write_timeout, &status);
        if (retval != ERROR_OK)
                return retval;
 
-       if (status != 0x80)
-       {
-               if ((retval = cfi_send_command(bank, 0xff,
-                               flash_address(bank, 0, 0x0))) != ERROR_OK)
-               {
+       if (status != 0x80) {
+               retval = cfi_send_command(bank, 0xff, flash_address(bank, 0, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                LOG_ERROR("Buffer write at base 0x%" PRIx32
-                               ", address 0x%" PRIx32 " failed.", bank->base, address);
+                       ", address 0x%" PRIx32 " failed.", bank->base, address);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
@@ -2212,39 +2107,29 @@ static int cfi_spansion_write_word(struct flash_bank *bank, uint8_t *word, uint3
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
        struct target *target = bank->target;
 
-       if ((retval = cfi_send_command(bank, 0xaa,
-                       flash_address(bank, 0, pri_ext->_unlock1))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0xaa, flash_address(bank, 0, pri_ext->_unlock1));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = cfi_send_command(bank, 0x55,
-                       flash_address(bank, 0, pri_ext->_unlock2))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x55, flash_address(bank, 0, pri_ext->_unlock2));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = cfi_send_command(bank, 0xa0,
-                       flash_address(bank, 0, pri_ext->_unlock1))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0xa0, flash_address(bank, 0, pri_ext->_unlock1));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = target_write_memory(target,
-                       address, bank->bus_width, 1, word)) != ERROR_OK)
-       {
+       retval = target_write_memory(target, address, bank->bus_width, 1, word);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if (cfi_spansion_wait_status_busy(bank, cfi_info->word_write_timeout) != ERROR_OK)
-       {
-               if ((retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0))) != ERROR_OK)
-               {
+       if (cfi_spansion_wait_status_busy(bank, cfi_info->word_write_timeout) != ERROR_OK) {
+               retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                LOG_ERROR("couldn't write word at base 0x%" PRIx32
-                               ", address 0x%" PRIx32 , bank->base, address);
+                       ", address 0x%" PRIx32, bank->base, address);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
@@ -2252,84 +2137,72 @@ static int cfi_spansion_write_word(struct flash_bank *bank, uint8_t *word, uint3
 }
 
 static int cfi_spansion_write_words(struct flash_bank *bank, uint8_t *word,
-               uint32_t wordcount, uint32_t address)
+       uint32_t wordcount, uint32_t address)
 {
        int retval;
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct target *target = bank->target;
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
 
-       /* Calculate buffer size and boundary mask */
-       /* buffersize is (buffer size per chip) * (number of chips) */
-       /* bufferwsize is buffersize in words */
-       uint32_t buffersize = (1UL << cfi_info->max_buf_write_size) * (bank->bus_width / bank->chip_width);
+       /* Calculate buffer size and boundary mask
+        * buffersize is (buffer size per chip) * (number of chips)
+        * bufferwsize is buffersize in words */
+       uint32_t buffersize =
+               (1UL << cfi_info->max_buf_write_size) * (bank->bus_width / bank->chip_width);
        uint32_t buffermask = buffersize-1;
        uint32_t bufferwsize = buffersize / bank->bus_width;
 
        /* Check for valid range */
-       if (address & buffermask)
-       {
+       if (address & buffermask) {
                LOG_ERROR("Write address at base 0x%" PRIx32
-                               ", address 0x%" PRIx32 " not aligned to 2^%d boundary",
-                               bank->base, address, cfi_info->max_buf_write_size);
+                       ", address 0x%" PRIx32 " not aligned to 2^%d boundary",
+                       bank->base, address, cfi_info->max_buf_write_size);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        /* Check for valid size */
-       if (wordcount > bufferwsize)
-       {
+       if (wordcount > bufferwsize) {
                LOG_ERROR("Number of data words %" PRId32 " exceeds available buffersize %"
-                               PRId32, wordcount, buffersize);
+                       PRId32, wordcount, buffersize);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        /* Unlock */
-       if ((retval = cfi_send_command(bank, 0xaa,
-                       flash_address(bank, 0, pri_ext->_unlock1))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0xaa, flash_address(bank, 0, pri_ext->_unlock1));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = cfi_send_command(bank, 0x55,
-                       flash_address(bank, 0, pri_ext->_unlock2))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x55, flash_address(bank, 0, pri_ext->_unlock2));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        /* Buffer load command */
-       if ((retval = cfi_send_command(bank, 0x25, address)) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x25, address);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        /* Write buffer wordcount-1 and data words */
-       if ((retval = cfi_send_command(bank, bufferwsize-1, address)) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, bufferwsize-1, address);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = target_write_memory(target,
-                       address, bank->bus_width, bufferwsize, word)) != ERROR_OK)
-       {
+       retval = target_write_memory(target, address, bank->bus_width, bufferwsize, word);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        /* Commit write operation */
-       if ((retval = cfi_send_command(bank, 0x29, address)) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x29, address);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if (cfi_spansion_wait_status_busy(bank, cfi_info->buf_write_timeout) != ERROR_OK)
-       {
-               if ((retval = cfi_send_command(bank, 0xf0,
-                               flash_address(bank, 0, 0x0))) != ERROR_OK)
-               {
+       if (cfi_spansion_wait_status_busy(bank, cfi_info->buf_write_timeout) != ERROR_OK) {
+               retval = cfi_send_command(bank, 0xf0, flash_address(bank, 0, 0x0));
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                LOG_ERROR("couldn't write block at base 0x%" PRIx32
-                               ", address 0x%" PRIx32 ", size 0x%" PRIx32, bank->base, address, bufferwsize);
+                       ", address 0x%" PRIx32 ", size 0x%" PRIx32, bank->base, address,
+                       bufferwsize);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
@@ -2340,8 +2213,7 @@ static int cfi_write_word(struct flash_bank *bank, uint8_t *word, uint32_t addre
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
 
-       switch (cfi_info->pri_id)
-       {
+       switch (cfi_info->pri_id) {
                case 1:
                case 3:
                        return cfi_intel_write_word(bank, word, address);
@@ -2358,19 +2230,17 @@ static int cfi_write_word(struct flash_bank *bank, uint8_t *word, uint32_t addre
 }
 
 static int cfi_write_words(struct flash_bank *bank, uint8_t *word,
-               uint32_t wordcount, uint32_t address)
+       uint32_t wordcount, uint32_t address)
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
 
-       if (cfi_info->buf_write_timeout_typ == 0)
-       {
+       if (cfi_info->buf_write_timeout_typ == 0) {
                /* buffer writes are not supported */
                LOG_DEBUG("Buffer Writes Not Supported");
                return ERROR_FLASH_OPER_UNSUPPORTED;
        }
 
-       switch (cfi_info->pri_id)
-       {
+       switch (cfi_info->pri_id) {
                case 1:
                case 3:
                        return cfi_intel_write_words(bank, word, wordcount, address);
@@ -2400,8 +2270,7 @@ static int cfi_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, u
        LOG_DEBUG("reading buffer of %i byte at 0x%8.8x",
                (int)count, (unsigned)offset);
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -2414,13 +2283,13 @@ static int cfi_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, u
 
        /* start at the first byte of the first word (bus_width size) */
        read_p = address & ~(bank->bus_width - 1);
-       if ((align = address - read_p) != 0)
-       {
+       align = address - read_p;
+       if (align != 0) {
                LOG_INFO("Fixup %d unaligned read head bytes", align);
 
                /* read a complete word from flash */
-               if ((retval = target_read_memory(target, read_p,
-                               bank->bus_width, 1, current_word)) != ERROR_OK)
+               retval = target_read_memory(target, read_p, bank->bus_width, 1, current_word);
+               if (retval != ERROR_OK)
                        return retval;
 
                /* take only bytes we need */
@@ -2431,10 +2300,9 @@ static int cfi_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, u
        }
 
        align = count / bank->bus_width;
-       if (align)
-       {
-               if ((retval = target_read_memory(target, read_p,
-                               bank->bus_width, align, buffer)) != ERROR_OK)
+       if (align) {
+               retval = target_read_memory(target, read_p, bank->bus_width, align, buffer);
+               if (retval != ERROR_OK)
                        return retval;
 
                read_p += align * bank->bus_width;
@@ -2442,13 +2310,12 @@ static int cfi_read(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, u
                count -= align * bank->bus_width;
        }
 
-       if (count)
-       {
+       if (count) {
                LOG_INFO("Fixup %d unaligned read tail bytes", count);
 
                /* read a complete word from flash */
-               if ((retval = target_read_memory(target, read_p,
-                               bank->bus_width, 1, current_word)) != ERROR_OK)
+               retval = target_read_memory(target, read_p, bank->bus_width, 1, current_word);
+               if (retval != ERROR_OK)
                        return retval;
 
                /* take only bytes we need */
@@ -2466,13 +2333,13 @@ static int cfi_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
        uint32_t address = bank->base + offset; /* address of first byte to be programmed */
        uint32_t write_p;
        int align;      /* number of unaligned bytes */
-       int blk_count; /* number of bus_width bytes for block copy */
-       uint8_t current_word[CFI_MAX_BUS_WIDTH * 4];    /* word (bus_width size) currently being programmed */
+       int blk_count;  /* number of bus_width bytes for block copy */
+       uint8_t current_word[CFI_MAX_BUS_WIDTH * 4];    /* word (bus_width size) currently being
+                                                        *programmed */
        int i;
        int retval;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -2485,13 +2352,13 @@ static int cfi_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
 
        /* start at the first byte of the first word (bus_width size) */
        write_p = address & ~(bank->bus_width - 1);
-       if ((align = address - write_p) != 0)
-       {
+       align = address - write_p;
+       if (align != 0) {
                LOG_INFO("Fixup %d unaligned head bytes", align);
 
                /* read a complete word from flash */
-               if ((retval = target_read_memory(target, write_p,
-                               bank->bus_width, 1, current_word)) != ERROR_OK)
+               retval = target_read_memory(target, write_p, bank->bus_width, 1, current_word);
+               if (retval != ERROR_OK)
                        return retval;
 
                /* replace only bytes that must be written */
@@ -2505,9 +2372,8 @@ static int cfi_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
        }
 
        /* handle blocks of bus_size aligned bytes */
-       blk_count = count & ~(bank->bus_width - 1); /* round down, leave tail bytes */
-       switch (cfi_info->pri_id)
-       {
+       blk_count = count & ~(bank->bus_width - 1);     /* round down, leave tail bytes */
+       switch (cfi_info->pri_id) {
                /* try block writes (fails without working area) */
                case 1:
                case 3:
@@ -2521,50 +2387,44 @@ static int cfi_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        break;
        }
-       if (retval == ERROR_OK)
-       {
+       if (retval == ERROR_OK) {
                /* Increment pointers and decrease count on succesful block write */
                buffer += blk_count;
                write_p += blk_count;
                count -= blk_count;
-       }
-       else
-       {
-               if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
-               {
-                       /* Calculate buffer size and boundary mask */
-                       /* buffersize is (buffer size per chip) * (number of chips) */
-                       /* bufferwsize is buffersize in words */
-                       uint32_t buffersize = (1UL << cfi_info->max_buf_write_size) * (bank->bus_width / bank->chip_width);
+       } else {
+               if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
+                       /* Calculate buffer size and boundary mask
+                        * buffersize is (buffer size per chip) * (number of chips)
+                        * bufferwsize is buffersize in words */
+                       uint32_t buffersize =
+                               (1UL <<
+                                cfi_info->max_buf_write_size) *
+                               (bank->bus_width / bank->chip_width);
                        uint32_t buffermask = buffersize-1;
                        uint32_t bufferwsize = buffersize / bank->bus_width;
 
                        /* fall back to memory writes */
-                       while (count >= (uint32_t)bank->bus_width)
-                       {
+                       while (count >= (uint32_t)bank->bus_width) {
                                int fallback;
-                               if ((write_p & 0xff) == 0)
-                               {
+                               if ((write_p & 0xff) == 0) {
                                        LOG_INFO("Programming at 0x%08" PRIx32 ", count 0x%08"
-                                                       PRIx32 " bytes remaining", write_p, count);
+                                               PRIx32 " bytes remaining", write_p, count);
                                }
                                fallback = 1;
-                               if ((bufferwsize > 0) && (count >= buffersize) && !(write_p & buffermask))
-                               {
+                               if ((bufferwsize > 0) && (count >= buffersize) &&
+                                               !(write_p & buffermask)) {
                                        retval = cfi_write_words(bank, buffer, bufferwsize, write_p);
-                                       if (retval == ERROR_OK)
-                                       {
+                                       if (retval == ERROR_OK) {
                                                buffer += buffersize;
                                                write_p += buffersize;
                                                count -= buffersize;
                                                fallback = 0;
-                                       }
-                                       else if (retval != ERROR_FLASH_OPER_UNSUPPORTED)
+                                       } else if (retval != ERROR_FLASH_OPER_UNSUPPORTED)
                                                return retval;
                                }
                                /* try the slow way? */
-                               if (fallback)
-                               {
+                               if (fallback) {
                                        for (i = 0; i < bank->bus_width; i++)
                                                current_word[i] = *buffer++;
 
@@ -2576,25 +2436,22 @@ static int cfi_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
                                        count -= bank->bus_width;
                                }
                        }
-               }
-               else
+               } else
                        return retval;
        }
 
        /* return to read array mode, so we can read from flash again for padding */
-       if ((retval = cfi_reset(bank)) != ERROR_OK)
-       {
+       retval = cfi_reset(bank);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        /* handle unaligned tail bytes */
-       if (count > 0)
-       {
+       if (count > 0) {
                LOG_INFO("Fixup %" PRId32 " unaligned tail bytes", count);
 
                /* read a complete word from flash */
-               if ((retval = target_read_memory(target, write_p,
-                               bank->bus_width, 1, current_word)) != ERROR_OK)
+               retval = target_read_memory(target, write_p, bank->bus_width, 1, current_word);
+               if (retval != ERROR_OK)
                        return retval;
 
                /* replace only bytes that must be written */
@@ -2626,12 +2483,10 @@ static void cfi_fixup_0002_erase_regions(struct flash_bank *bank, void *param)
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
        (void) param;
 
-       if ((pri_ext->_reversed_geometry) || (pri_ext->TopBottom == 3))
-       {
+       if ((pri_ext->_reversed_geometry) || (pri_ext->TopBottom == 3)) {
                LOG_DEBUG("swapping reversed erase region information on cmdset 0002 device");
 
-               for (i = 0; i < cfi_info->num_erase_regions / 2; i++)
-               {
+               for (i = 0; i < cfi_info->num_erase_regions / 2; i++) {
                        int j = (cfi_info->num_erase_regions - 1) - i;
                        uint32_t swap;
 
@@ -2658,10 +2513,9 @@ static int cfi_query_string(struct flash_bank *bank, int address)
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        int retval;
 
-       if ((retval = cfi_send_command(bank, 0x98, flash_address(bank, 0, address))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x98, flash_address(bank, 0, address));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        retval = cfi_query_u8(bank, 0, 0x10, &cfi_info->qry[0]);
        if (retval != ERROR_OK)
@@ -2674,14 +2528,12 @@ static int cfi_query_string(struct flash_bank *bank, int address)
                return retval;
 
        LOG_DEBUG("CFI qry returned: 0x%2.2x 0x%2.2x 0x%2.2x",
-                       cfi_info->qry[0], cfi_info->qry[1], cfi_info->qry[2]);
+               cfi_info->qry[0], cfi_info->qry[1], cfi_info->qry[2]);
 
-       if ((cfi_info->qry[0] != 'Q') || (cfi_info->qry[1] != 'R') || (cfi_info->qry[2] != 'Y'))
-       {
-               if ((retval = cfi_reset(bank)) != ERROR_OK)
-               {
+       if ((cfi_info->qry[0] != 'Q') || (cfi_info->qry[1] != 'R') || (cfi_info->qry[2] != 'Y')) {
+               retval = cfi_reset(bank);
+               if (retval != ERROR_OK)
                        return retval;
-               }
                LOG_ERROR("Could not probe bank: no QRY");
                return ERROR_FLASH_BANK_INVALID;
        }
@@ -2701,21 +2553,18 @@ static int cfi_probe(struct flash_bank *bank)
        int retval;
        uint8_t value_buf0[CFI_MAX_BUS_WIDTH], value_buf1[CFI_MAX_BUS_WIDTH];
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        cfi_info->probed = 0;
        cfi_info->num_erase_regions = 0;
-       if (bank->sectors)
-       {
+       if (bank->sectors) {
                free(bank->sectors);
                bank->sectors = NULL;
        }
-       if(cfi_info->erase_region_info)
-       {
+       if (cfi_info->erase_region_info) {
                free(cfi_info->erase_region_info);
                cfi_info->erase_region_info = NULL;
        }
@@ -2723,36 +2572,30 @@ static int cfi_probe(struct flash_bank *bank)
        /* JEDEC standard JESD21C uses 0x5555 and 0x2aaa as unlock addresses,
         * while CFI compatible AMD/Spansion flashes use 0x555 and 0x2aa
         */
-       if (cfi_info->jedec_probe)
-       {
+       if (cfi_info->jedec_probe) {
                unlock1 = 0x5555;
                unlock2 = 0x2aaa;
        }
 
        /* switch to read identifier codes mode ("AUTOSELECT") */
-       if ((retval = cfi_send_command(bank, 0xaa, flash_address(bank, 0, unlock1))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0xaa, flash_address(bank, 0, unlock1));
+       if (retval != ERROR_OK)
                return retval;
-       }
-       if ((retval = cfi_send_command(bank, 0x55, flash_address(bank, 0, unlock2))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x55, flash_address(bank, 0, unlock2));
+       if (retval != ERROR_OK)
                return retval;
-       }
-       if ((retval = cfi_send_command(bank, 0x90, flash_address(bank, 0, unlock1))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x90, flash_address(bank, 0, unlock1));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = target_read_memory(target, flash_address(bank, 0, 0x00),
-                       bank->bus_width, 1, value_buf0)) != ERROR_OK)
-       {
+       retval = target_read_memory(target, flash_address(bank, 0, 0x00),
+                       bank->bus_width, 1, value_buf0);
+       if (retval != ERROR_OK)
                return retval;
-       }
-       if ((retval = target_read_memory(target, flash_address(bank, 0, 0x01),
-                       bank->bus_width, 1, value_buf1)) != ERROR_OK)
-       {
+       retval = target_read_memory(target, flash_address(bank, 0, 0x01),
+                       bank->bus_width, 1, value_buf1);
+       if (retval != ERROR_OK)
                return retval;
-       }
        switch (bank->chip_width) {
                case 1:
                        cfi_info->manufacturer = *value_buf0;
@@ -2767,17 +2610,17 @@ static int cfi_probe(struct flash_bank *bank)
                        cfi_info->device_id = target_buffer_get_u32(target, value_buf1);
                        break;
                default:
-                       LOG_ERROR("Unsupported bank chipwidth %d, can't probe memory", bank->chip_width);
+                       LOG_ERROR("Unsupported bank chipwidth %d, can't probe memory",
+                                       bank->chip_width);
                        return ERROR_FLASH_OPERATION_FAILED;
        }
 
        LOG_INFO("Flash Manufacturer/Device: 0x%04x 0x%04x",
-                       cfi_info->manufacturer, cfi_info->device_id);
+               cfi_info->manufacturer, cfi_info->device_id);
        /* switch back to read array mode */
-       if ((retval = cfi_reset(bank)) != ERROR_OK)
-       {
+       retval = cfi_reset(bank);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        /* check device/manufacturer ID for known non-CFI flashes. */
        cfi_fixup_non_cfi(bank);
@@ -2785,8 +2628,7 @@ static int cfi_probe(struct flash_bank *bank)
        /* query only if this is a CFI compatible flash,
         * otherwise the relevant info has already been filled in
         */
-       if (cfi_info->not_cfi == 0)
-       {
+       if (cfi_info->not_cfi == 0) {
                /* enter CFI query mode
                 * according to JEDEC Standard No. 68.01,
                 * a single bus sequence with address = 0x55, data = 0x98 should put
@@ -2796,8 +2638,7 @@ static int cfi_probe(struct flash_bank *bank)
                 */
 
                retval = cfi_query_string(bank, 0x55);
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        /*
                         * Spansion S29WS-N CFI query fix is to try 0x555 if 0x55 fails. Should
                         * be harmless enough:
@@ -2824,9 +2665,9 @@ static int cfi_probe(struct flash_bank *bank)
                        return retval;
 
                LOG_DEBUG("qry: '%c%c%c', pri_id: 0x%4.4x, pri_addr: 0x%4.4x, alt_id: "
-                               "0x%4.4x, alt_addr: 0x%4.4x", cfi_info->qry[0], cfi_info->qry[1],
-                               cfi_info->qry[2], cfi_info->pri_id, cfi_info->pri_addr,
-                               cfi_info->alt_id, cfi_info->alt_addr);
+                       "0x%4.4x, alt_addr: 0x%4.4x", cfi_info->qry[0], cfi_info->qry[1],
+                       cfi_info->qry[2], cfi_info->pri_id, cfi_info->pri_addr,
+                       cfi_info->alt_id, cfi_info->alt_addr);
 
                retval = cfi_query_u8(bank, 0, 0x1b, &cfi_info->vcc_min);
                if (retval != ERROR_OK)
@@ -2883,32 +2724,32 @@ static int cfi_probe(struct flash_bank *bank)
                        return retval;
 
                LOG_DEBUG("size: 0x%" PRIx32 ", interface desc: %i, max buffer write size: 0x%x",
-                               cfi_info->dev_size, cfi_info->interface_desc, (1 << cfi_info->max_buf_write_size));
+                       cfi_info->dev_size, cfi_info->interface_desc,
+                       (1 << cfi_info->max_buf_write_size));
 
-               if (cfi_info->num_erase_regions)
-               {
+               if (cfi_info->num_erase_regions) {
                        cfi_info->erase_region_info = malloc(sizeof(*cfi_info->erase_region_info)
                                        * cfi_info->num_erase_regions);
-                       for (i = 0; i < cfi_info->num_erase_regions; i++)
-                       {
-                               retval = cfi_query_u32(bank, 0, 0x2d + (4 * i), &cfi_info->erase_region_info[i]);
+                       for (i = 0; i < cfi_info->num_erase_regions; i++) {
+                               retval = cfi_query_u32(bank,
+                                               0,
+                                               0x2d + (4 * i),
+                                               &cfi_info->erase_region_info[i]);
                                if (retval != ERROR_OK)
                                        return retval;
-                               LOG_DEBUG("erase region[%i]: %" PRIu32 " blocks of size 0x%" PRIx32 "", i,
-                                               (cfi_info->erase_region_info[i] & 0xffff) + 1,
-                                               (cfi_info->erase_region_info[i] >> 16) * 256);
+                               LOG_DEBUG(
+                                       "erase region[%i]: %" PRIu32 " blocks of size 0x%" PRIx32 "",
+                                       i,
+                                       (cfi_info->erase_region_info[i] & 0xffff) + 1,
+                                       (cfi_info->erase_region_info[i] >> 16) * 256);
                        }
-               }
-               else
-               {
+               } else
                        cfi_info->erase_region_info = NULL;
-               }
 
                /* We need to read the primary algorithm extended query table before calculating
                 * the sector layout to be able to apply fixups
                 */
-               switch (cfi_info->pri_id)
-               {
+               switch (cfi_info->pri_id) {
                        /* Intel command set (standard and extended) */
                        case 0x0001:
                        case 0x0003:
@@ -2916,7 +2757,13 @@ static int cfi_probe(struct flash_bank *bank)
                                break;
                        /* AMD/Spansion, Atmel, ... command set */
                        case 0x0002:
-                               cfi_info->status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7; /* default for all CFI flashs */
+                               cfi_info->status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7;  /*
+                                                                                                *default
+                                                                                                *for
+                                                                                                *all
+                                                                                                *CFI
+                                                                                                *flashs
+                                                                                                **/
                                cfi_read_0002_pri_ext(bank);
                                break;
                        default:
@@ -2927,11 +2774,10 @@ static int cfi_probe(struct flash_bank *bank)
                /* return to read array mode
                 * we use both reset commands, as some Intel flashes fail to recognize the 0xF0 command
                 */
-               if ((retval = cfi_reset(bank)) != ERROR_OK)
-               {
+               retval = cfi_reset(bank);
+               if (retval != ERROR_OK)
                        return retval;
-               }
-       } /* end CFI case */
+       }       /* end CFI case */
 
        LOG_DEBUG("Vcc min: %x.%x, Vcc max: %x.%x, Vpp min: %u.%x, Vpp max: %u.%x",
                (cfi_info->vcc_min & 0xf0) >> 4, cfi_info->vcc_min & 0x0f,
@@ -2940,35 +2786,34 @@ static int cfi_probe(struct flash_bank *bank)
                (cfi_info->vpp_max & 0xf0) >> 4, cfi_info->vpp_max & 0x0f);
 
        LOG_DEBUG("typ. word write timeout: %u us, typ. buf write timeout: %u us, "
-                       "typ. block erase timeout: %u ms, typ. chip erase timeout: %u ms",
-                       1 << cfi_info->word_write_timeout_typ, 1 << cfi_info->buf_write_timeout_typ,
-                       1 << cfi_info->block_erase_timeout_typ, 1 << cfi_info->chip_erase_timeout_typ);
+               "typ. block erase timeout: %u ms, typ. chip erase timeout: %u ms",
+               1 << cfi_info->word_write_timeout_typ, 1 << cfi_info->buf_write_timeout_typ,
+               1 << cfi_info->block_erase_timeout_typ, 1 << cfi_info->chip_erase_timeout_typ);
 
        LOG_DEBUG("max. word write timeout: %u us, max. buf write timeout: %u us, "
-                       "max. block erase timeout: %u ms, max. chip erase timeout: %u ms",
-                       (1 << cfi_info->word_write_timeout_max) * (1 << cfi_info->word_write_timeout_typ),
-                       (1 << cfi_info->buf_write_timeout_max) * (1 << cfi_info->buf_write_timeout_typ),
-                       (1 << cfi_info->block_erase_timeout_max) * (1 << cfi_info->block_erase_timeout_typ),
-                       (1 << cfi_info->chip_erase_timeout_max) * (1 << cfi_info->chip_erase_timeout_typ));
+               "max. block erase timeout: %u ms, max. chip erase timeout: %u ms",
+               (1 << cfi_info->word_write_timeout_max) * (1 << cfi_info->word_write_timeout_typ),
+               (1 << cfi_info->buf_write_timeout_max) * (1 << cfi_info->buf_write_timeout_typ),
+               (1 << cfi_info->block_erase_timeout_max) * (1 << cfi_info->block_erase_timeout_typ),
+               (1 << cfi_info->chip_erase_timeout_max) * (1 << cfi_info->chip_erase_timeout_typ));
 
        /* convert timeouts to real values in ms */
        cfi_info->word_write_timeout = DIV_ROUND_UP((1L << cfi_info->word_write_timeout_typ) *
-                               (1L << cfi_info->word_write_timeout_max), 1000);
+                       (1L << cfi_info->word_write_timeout_max), 1000);
        cfi_info->buf_write_timeout = DIV_ROUND_UP((1L << cfi_info->buf_write_timeout_typ) *
-                               (1L << cfi_info->buf_write_timeout_max), 1000);
+                       (1L << cfi_info->buf_write_timeout_max), 1000);
        cfi_info->block_erase_timeout = (1L << cfi_info->block_erase_timeout_typ) *
-                               (1L << cfi_info->block_erase_timeout_max);
+               (1L << cfi_info->block_erase_timeout_max);
        cfi_info->chip_erase_timeout = (1L << cfi_info->chip_erase_timeout_typ) *
-                               (1L << cfi_info->chip_erase_timeout_max);
+               (1L << cfi_info->chip_erase_timeout_max);
 
        LOG_DEBUG("calculated word write timeout: %u ms, buf write timeout: %u ms, "
-                       "block erase timeout: %u ms, chip erase timeout: %u ms",
-                       cfi_info->word_write_timeout, cfi_info->buf_write_timeout,
-                       cfi_info->block_erase_timeout, cfi_info->chip_erase_timeout);
+               "block erase timeout: %u ms, chip erase timeout: %u ms",
+               cfi_info->word_write_timeout, cfi_info->buf_write_timeout,
+               cfi_info->block_erase_timeout, cfi_info->chip_erase_timeout);
 
        /* apply fixups depending on the primary command set */
-       switch (cfi_info->pri_id)
-       {
+       switch (cfi_info->pri_id) {
                /* Intel command set (standard and extended) */
                case 0x0001:
                case 0x0003:
@@ -2983,14 +2828,12 @@ static int cfi_probe(struct flash_bank *bank)
                        break;
        }
 
-       if ((cfi_info->dev_size * bank->bus_width / bank->chip_width) != bank->size)
-       {
+       if ((cfi_info->dev_size * bank->bus_width / bank->chip_width) != bank->size) {
                LOG_WARNING("configuration specifies 0x%" PRIx32 " size, but a 0x%" PRIx32
-                               " size flash was found", bank->size, cfi_info->dev_size);
+                       " size flash was found", bank->size, cfi_info->dev_size);
        }
 
-       if (cfi_info->num_erase_regions == 0)
-       {
+       if (cfi_info->num_erase_regions == 0) {
                /* a device might have only one erase block, spanning the whole device */
                bank->num_sectors = 1;
                bank->sectors = malloc(sizeof(struct flash_sector));
@@ -2999,37 +2842,33 @@ static int cfi_probe(struct flash_bank *bank)
                bank->sectors[sector].size = bank->size;
                bank->sectors[sector].is_erased = -1;
                bank->sectors[sector].is_protected = -1;
-       }
-       else
-       {
+       } else {
                uint32_t offset = 0;
 
                for (i = 0; i < cfi_info->num_erase_regions; i++)
-               {
                        num_sectors += (cfi_info->erase_region_info[i] & 0xffff) + 1;
-               }
 
                bank->num_sectors = num_sectors;
                bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
 
-               for (i = 0; i < cfi_info->num_erase_regions; i++)
-               {
+               for (i = 0; i < cfi_info->num_erase_regions; i++) {
                        uint32_t j;
-                       for (j = 0; j < (cfi_info->erase_region_info[i] & 0xffff) + 1; j++)
-                       {
+                       for (j = 0; j < (cfi_info->erase_region_info[i] & 0xffff) + 1; j++) {
                                bank->sectors[sector].offset = offset;
-                               bank->sectors[sector].size = ((cfi_info->erase_region_info[i] >> 16) * 256)
-                                               * bank->bus_width / bank->chip_width;
+                               bank->sectors[sector].size =
+                                       ((cfi_info->erase_region_info[i] >> 16) * 256)
+                                       * bank->bus_width / bank->chip_width;
                                offset += bank->sectors[sector].size;
                                bank->sectors[sector].is_erased = -1;
                                bank->sectors[sector].is_protected = -1;
                                sector++;
                        }
                }
-               if (offset != (cfi_info->dev_size * bank->bus_width / bank->chip_width))
-               {
-                       LOG_WARNING("CFI size is 0x%" PRIx32 ", but total sector size is 0x%" PRIx32 "", \
-                               (cfi_info->dev_size * bank->bus_width / bank->chip_width), offset);
+               if (offset != (cfi_info->dev_size * bank->bus_width / bank->chip_width)) {
+                       LOG_WARNING(
+                               "CFI size is 0x%" PRIx32 ", but total sector size is 0x%" PRIx32 "", \
+                               (cfi_info->dev_size * bank->bus_width / bank->chip_width),
+                               offset);
                }
        }
 
@@ -3057,13 +2896,11 @@ static int cfi_intel_protect_check(struct flash_bank *bank)
        if (!(pri_ext->blk_status_reg_mask & 0x1))
                return ERROR_FLASH_OPERATION_FAILED;
 
-       if ((retval = cfi_send_command(bank, 0x90, flash_address(bank, 0, 0x55))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x90, flash_address(bank, 0, 0x55));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                uint8_t block_status;
                retval = cfi_get_u8(bank, i, 0x2, &block_status);
                if (retval != ERROR_OK)
@@ -3085,26 +2922,19 @@ static int cfi_spansion_protect_check(struct flash_bank *bank)
        struct cfi_spansion_pri_ext *pri_ext = cfi_info->pri_ext;
        int i;
 
-       if ((retval = cfi_send_command(bank, 0xaa,
-                       flash_address(bank, 0, pri_ext->_unlock1))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0xaa, flash_address(bank, 0, pri_ext->_unlock1));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = cfi_send_command(bank, 0x55,
-                       flash_address(bank, 0, pri_ext->_unlock2))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x55, flash_address(bank, 0, pri_ext->_unlock2));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       if ((retval = cfi_send_command(bank, 0x90,
-                       flash_address(bank, 0, pri_ext->_unlock1))) != ERROR_OK)
-       {
+       retval = cfi_send_command(bank, 0x90, flash_address(bank, 0, pri_ext->_unlock1));
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                uint8_t block_status;
                retval = cfi_get_u8(bank, i, 0x2, &block_status);
                if (retval != ERROR_OK)
@@ -3123,8 +2953,7 @@ static int cfi_protect_check(struct flash_bank *bank)
 {
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -3132,8 +2961,7 @@ static int cfi_protect_check(struct flash_bank *bank)
        if (cfi_info->qry[0] != 'Q')
                return ERROR_FLASH_BANK_NOT_PROBED;
 
-       switch (cfi_info->pri_id)
-       {
+       switch (cfi_info->pri_id) {
                case 1:
                case 3:
                        return cfi_intel_protect_check(bank);
@@ -3154,8 +2982,7 @@ static int get_cfi_info(struct flash_bank *bank, char *buf, int buf_size)
        int printed;
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
 
-       if (cfi_info->qry[0] == 0xff)
-       {
+       if (cfi_info->qry[0] == 0xff) {
                snprintf(buf, buf_size, "\ncfi flash bank not probed yet\n");
                return ERROR_OK;
        }
@@ -3168,7 +2995,7 @@ static int get_cfi_info(struct flash_bank *bank, char *buf, int buf_size)
        buf_size -= printed;
 
        printed = snprintf(buf, buf_size, "mfr: 0x%4.4x, id:0x%4.4x\n\n",
-               cfi_info->manufacturer, cfi_info->device_id);
+                       cfi_info->manufacturer, cfi_info->device_id);
        buf += printed;
        buf_size -= printed;
 
@@ -3199,13 +3026,21 @@ static int get_cfi_info(struct flash_bank *bank, char *buf, int buf_size)
        buf += printed;
        buf_size -= printed;
 
-       printed = snprintf(buf, buf_size, "max. word write timeout: %u us, "
+       printed = snprintf(buf,
+                       buf_size,
+                       "max. word write timeout: %u us, "
                        "max. buf write timeout: %u us, max. "
                        "block erase timeout: %u ms, max. chip erase timeout: %u ms\n",
-                       (1 << cfi_info->word_write_timeout_max) * (1 << cfi_info->word_write_timeout_typ),
-                       (1 << cfi_info->buf_write_timeout_max) * (1 << cfi_info->buf_write_timeout_typ),
-                       (1 << cfi_info->block_erase_timeout_max) * (1 << cfi_info->block_erase_timeout_typ),
-                       (1 << cfi_info->chip_erase_timeout_max) * (1 << cfi_info->chip_erase_timeout_typ));
+                       (1 <<
+                        cfi_info->word_write_timeout_max) * (1 << cfi_info->word_write_timeout_typ),
+                       (1 <<
+                        cfi_info->buf_write_timeout_max) * (1 << cfi_info->buf_write_timeout_typ),
+                       (1 <<
+                        cfi_info->block_erase_timeout_max) *
+                       (1 << cfi_info->block_erase_timeout_typ),
+                       (1 <<
+                        cfi_info->chip_erase_timeout_max) *
+                       (1 << cfi_info->chip_erase_timeout_typ));
        buf += printed;
        buf_size -= printed;
 
@@ -3217,18 +3052,17 @@ static int get_cfi_info(struct flash_bank *bank, char *buf, int buf_size)
        buf += printed;
        buf_size -= printed;
 
-       switch (cfi_info->pri_id)
-       {
-               case 1:
-               case 3:
-                       cfi_intel_info(bank, buf, buf_size);
-                       break;
-               case 2:
-                       cfi_spansion_info(bank, buf, buf_size);
-                       break;
-               default:
-                       LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
-                       break;
+       switch (cfi_info->pri_id) {
+           case 1:
+           case 3:
+                   cfi_intel_info(bank, buf, buf_size);
+                   break;
+           case 2:
+                   cfi_spansion_info(bank, buf, buf_size);
+                   break;
+           default:
+                   LOG_ERROR("cfi primary command set %i unsupported", cfi_info->pri_id);
+                   break;
        }
 
        return ERROR_OK;
index a57b0ddc49be9c3481ebdca08b87ea281dafecdc..04153b688075287cb6be558774a7bb584ff901bd 100644 (file)
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifndef CFI_H
 #define CFI_H
 
 #define CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7 0xE0 /* DQ5..DQ7 */
 #define CFI_STATUS_POLL_MASK_DQ6_DQ7     0xC0 /* DQ6..DQ7 */
 
-struct cfi_flash_bank
-{
+struct cfi_flash_bank {
        struct working_area *write_algorithm;
 
        int x16_as_x8;
@@ -80,8 +80,7 @@ struct cfi_flash_bank
  * as defined for the Advanced+ Boot Block Flash Memory (C3)
  * and used by the linux kernel cfi driver (as of 2.6.14)
  */
-struct cfi_intel_pri_ext
-{
+struct cfi_intel_pri_ext {
        uint8_t pri[3];
        uint8_t major_version;
        uint8_t minor_version;
@@ -100,8 +99,7 @@ struct cfi_intel_pri_ext
 /* Spansion primary extended query table as defined for and used by
  * the linux kernel cfi driver (as of 2.6.15)
  */
-struct cfi_spansion_pri_ext
-{
+struct cfi_spansion_pri_ext {
        uint8_t  pri[3];
        uint8_t  major_version;
        uint8_t  minor_version;
@@ -124,8 +122,7 @@ struct cfi_spansion_pri_ext
 /* Atmel primary extended query table as defined for and used by
  * the linux kernel cfi driver (as of 2.6.20+)
  */
-struct cfi_atmel_pri_ext
-{
+struct cfi_atmel_pri_ext {
        uint8_t pri[3];
        uint8_t major_version;
        uint8_t minor_version;
@@ -140,14 +137,12 @@ enum {
        CFI_UNLOCK_5555_2AAA,
 };
 
-struct cfi_unlock_addresses
-{
+struct cfi_unlock_addresses {
        uint32_t unlock1;
        uint32_t unlock2;
 };
 
-struct cfi_fixup
-{
+struct cfi_fixup {
        uint16_t mfr;
        uint16_t id;
        void (*fixup)(struct flash_bank *bank, void *param);
index 7f40bbff0346ddecca601ac2723cea9df86a6fdc..ce3ab4822073611a9f9ea99a862c19c167515063 100644 (file)
@@ -29,7 +29,6 @@
 #include <flash/nor/imp.h>
 #include <target/image.h>
 
-
 /**
  * @file
  * Upper level of NOR flash framework.
@@ -45,9 +44,7 @@ int flash_driver_erase(struct flash_bank *bank, int first, int last)
 
        retval = bank->driver->erase(bank, first, last);
        if (retval != ERROR_OK)
-       {
                LOG_ERROR("failed erasing sectors %d to %d", first, last);
-       }
 
        return retval;
 }
@@ -57,8 +54,7 @@ int flash_driver_protect(struct flash_bank *bank, int set, int first, int last)
        int retval;
 
        /* callers may not supply illegal parameters ... */
-       if (first < 0 || first > last || last >= bank->num_sectors)
-       {
+       if (first < 0 || first > last || last >= bank->num_sectors) {
                LOG_ERROR("illegal sector range");
                return ERROR_FAIL;
        }
@@ -79,47 +75,47 @@ int flash_driver_protect(struct flash_bank *bank, int set, int first, int last)
         */
        retval = bank->driver->protect(bank, set, first, last);
        if (retval != ERROR_OK)
-       {
                LOG_ERROR("failed setting protection for areas %d to %d", first, last);
-       }
 
        return retval;
 }
 
 int flash_driver_write(struct flash_bank *bank,
-               uint8_t *buffer, uint32_t offset, uint32_t count)
+       uint8_t *buffer, uint32_t offset, uint32_t count)
 {
        int retval;
 
        retval = bank->driver->write(bank, buffer, offset, count);
-       if (retval != ERROR_OK)
-       {
-               LOG_ERROR("error writing to flash at address 0x%08" PRIx32 " at offset 0x%8.8" PRIx32,
-                         bank->base, offset);
+       if (retval != ERROR_OK) {
+               LOG_ERROR(
+                       "error writing to flash at address 0x%08" PRIx32 " at offset 0x%8.8" PRIx32,
+                       bank->base,
+                       offset);
        }
 
        return retval;
 }
 
 int flash_driver_read(struct flash_bank *bank,
-               uint8_t *buffer, uint32_t offset, uint32_t count)
+       uint8_t *buffer, uint32_t offset, uint32_t count)
 {
        int retval;
 
        LOG_DEBUG("call flash_driver_read()");
 
        retval = bank->driver->read(bank, buffer, offset, count);
-       if (retval != ERROR_OK)
-       {
-               LOG_ERROR("error reading to flash at address 0x%08" PRIx32 " at offset 0x%8.8" PRIx32,
-                         bank->base, offset);
+       if (retval != ERROR_OK) {
+               LOG_ERROR(
+                       "error reading to flash at address 0x%08" PRIx32 " at offset 0x%8.8" PRIx32,
+                       bank->base,
+                       offset);
        }
 
        return retval;
 }
 
 int default_flash_read(struct flash_bank *bank,
-               uint8_t *buffer, uint32_t offset, uint32_t count)
+       uint8_t *buffer, uint32_t offset, uint32_t count)
 {
        return target_read_buffer(bank->target, offset + bank->base, count, buffer);
 }
@@ -128,19 +124,16 @@ void flash_bank_add(struct flash_bank *bank)
 {
        /* put flash bank in linked list */
        unsigned bank_num = 0;
-       if (flash_banks)
-       {
+       if (flash_banks) {
                /* find last flash bank */
                struct flash_bank *p = flash_banks;
-               while (NULL != p->next)
-               {
+               while (NULL != p->next) {
                        bank_num += 1;
                        p = p->next;
                }
                p->next = bank;
                bank_num += 1;
-       }
-       else
+       } else
                flash_banks = bank;
 
        bank->bank_number = bank_num;
@@ -156,12 +149,9 @@ struct flash_bank *get_flash_bank_by_num_noprobe(int num)
        struct flash_bank *p;
        int i = 0;
 
-       for (p = flash_banks; p; p = p->next)
-       {
+       for (p = flash_banks; p; p = p->next) {
                if (i++ == num)
-               {
                        return p;
-               }
        }
        LOG_ERROR("flash bank %d does not exist", num);
        return NULL;
@@ -172,9 +162,7 @@ int flash_get_bank_count(void)
        struct flash_bank *p;
        int i = 0;
        for (p = flash_banks; p; p = p->next)
-       {
                i++;
-       }
        return i;
 }
 
@@ -184,8 +172,7 @@ struct flash_bank *get_flash_bank_by_name_noprobe(const char *name)
        unsigned found = 0;
 
        struct flash_bank *bank;
-       for (bank = flash_banks; NULL != bank; bank = bank->next)
-       {
+       for (bank = flash_banks; NULL != bank; bank = bank->next) {
                if (strcmp(bank->name, name) == 0)
                        return bank;
                if (!flash_driver_name_matches(bank->driver->name, name))
@@ -203,12 +190,10 @@ int get_flash_bank_by_name(const char *name, struct flash_bank **bank_result)
        int retval;
 
        bank = get_flash_bank_by_name_noprobe(name);
-       if (bank != NULL)
-       {
+       if (bank != NULL) {
                retval = bank->driver->auto_probe(bank);
 
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        LOG_ERROR("auto_probe failed");
                        return retval;
                }
@@ -224,14 +209,11 @@ int get_flash_bank_by_num(int num, struct flash_bank **bank)
        int retval;
 
        if (p == NULL)
-       {
                return ERROR_FAIL;
-       }
 
        retval = p->driver->auto_probe(p);
 
-       if (retval != ERROR_OK)
-       {
+       if (retval != ERROR_OK) {
                LOG_ERROR("auto_probe failed");
                return retval;
        }
@@ -241,31 +223,30 @@ int get_flash_bank_by_num(int num, struct flash_bank **bank)
 
 /* lookup flash bank by address, bank not found is success, but
  * result_bank is set to NULL. */
-int get_flash_bank_by_addr(struct target *target, uint32_t addr, bool check, struct flash_bank **result_bank)
+int get_flash_bank_by_addr(struct target *target,
+       uint32_t addr,
+       bool check,
+       struct flash_bank **result_bank)
 {
        struct flash_bank *c;
 
        /* cycle through bank list */
-       for (c = flash_banks; c; c = c->next)
-       {
+       for (c = flash_banks; c; c = c->next) {
                int retval;
                retval = c->driver->auto_probe(c);
 
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        LOG_ERROR("auto_probe failed");
                        return retval;
                }
                /* check whether address belongs to this flash bank */
-               if ((addr >= c->base) && (addr <= c->base + (c->size - 1)) && target == c->target)
-               {
+               if ((addr >= c->base) && (addr <= c->base + (c->size - 1)) && target == c->target) {
                        *result_bank = c;
                        return ERROR_OK;
                }
        }
        *result_bank = NULL;
-       if (check)
-       {
+       if (check) {
                LOG_ERROR("No flash at address 0x%08" PRIx32, addr);
                return ERROR_FAIL;
        }
@@ -280,38 +261,33 @@ int default_flash_mem_blank_check(struct flash_bank *bank)
        uint32_t nBytes;
        int retval = ERROR_OK;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        uint8_t *buffer = malloc(buffer_size);
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                uint32_t j;
                bank->sectors[i].is_erased = 1;
 
-               for (j = 0; j < bank->sectors[i].size; j += buffer_size)
-               {
+               for (j = 0; j < bank->sectors[i].size; j += buffer_size) {
                        uint32_t chunk;
                        chunk = buffer_size;
                        if (chunk > (j - bank->sectors[i].size))
-                       {
                                chunk = (j - bank->sectors[i].size);
-                       }
 
-                       retval = target_read_memory(target, bank->base + bank->sectors[i].offset + j, 4, chunk/4, buffer);
+                       retval = target_read_memory(target,
+                                       bank->base + bank->sectors[i].offset + j,
+                                       4,
+                                       chunk/4,
+                                       buffer);
                        if (retval != ERROR_OK)
-                       {
                                goto done;
-                       }
 
-                       for (nBytes = 0; nBytes < chunk; nBytes++)
-                       {
-                               if (buffer[nBytes] != 0xFF)
-                               {
+                       for (nBytes = 0; nBytes < chunk; nBytes++) {
+                               if (buffer[nBytes] != 0xFF) {
                                        bank->sectors[i].is_erased = 0;
                                        break;
                                }
@@ -319,7 +295,7 @@ int default_flash_mem_blank_check(struct flash_bank *bank)
                }
        }
 
-       done:
+done:
        free(buffer);
 
        return retval;
@@ -333,20 +309,17 @@ int default_flash_blank_check(struct flash_bank *bank)
        int fast_check = 0;
        uint32_t blank;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                uint32_t address = bank->base + bank->sectors[i].offset;
                uint32_t size = bank->sectors[i].size;
 
                retval = target_blank_check_memory(target, address, size, &blank);
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        fast_check = 0;
                        break;
                }
@@ -357,8 +330,7 @@ int default_flash_blank_check(struct flash_bank *bank)
                fast_check = 1;
        }
 
-       if (!fast_check)
-       {
+       if (!fast_check) {
                LOG_USER("Running slow fallback erase check - add working memory");
                return default_flash_mem_blank_check(bank);
        }
@@ -381,8 +353,8 @@ int default_flash_blank_check(struct flash_bank *bank)
  * warning about those additions.
  */
 static int flash_iterate_address_range_inner(struct target *target,
-               char *pad_reason, uint32_t addr, uint32_t length,
-               int (*callback)(struct flash_bank *bank, int first, int last))
+       char *pad_reason, uint32_t addr, uint32_t length,
+       int (*callback)(struct flash_bank *bank, int first, int last))
 {
        struct flash_bank *c;
        uint32_t last_addr = addr + length;     /* first address AFTER end */
@@ -394,17 +366,14 @@ static int flash_iterate_address_range_inner(struct target *target,
        if (retval != ERROR_OK)
                return retval;
 
-       if (c->size == 0 || c->num_sectors == 0)
-       {
+       if (c->size == 0 || c->num_sectors == 0) {
                LOG_ERROR("Bank is invalid");
                return ERROR_FLASH_BANK_INVALID;
        }
 
-       if (length == 0)
-       {
+       if (length == 0) {
                /* special case, erase whole bank when length is zero */
-               if (addr != c->base)
-               {
+               if (addr != c->base) {
                        LOG_ERROR("Whole bank access must start at beginning of bank.");
                        return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
                }
@@ -413,8 +382,7 @@ static int flash_iterate_address_range_inner(struct target *target,
        }
 
        /* check whether it all fits in this bank */
-       if (addr + length - 1 > c->base + c->size - 1)
-       {
+       if (addr + length - 1 > c->base + c->size - 1) {
                LOG_ERROR("Flash access does not fit into bank.");
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
@@ -424,8 +392,7 @@ static int flash_iterate_address_range_inner(struct target *target,
        addr -= c->base;
        last_addr -= c->base;
 
-       for (i = 0; i < c->num_sectors; i++)
-       {
+       for (i = 0; i < c->num_sectors; i++) {
                struct flash_sector *f = c->sectors + i;
                uint32_t end = f->offset + f->size;
 
@@ -449,7 +416,7 @@ static int flash_iterate_address_range_inner(struct target *target,
                        else if (addr < end && pad_reason) {
                                /* FIXME say how many bytes (e.g. 80 KB) */
                                LOG_WARNING("Adding extra %s range, "
-                                               "%#8.8x to %#8.8x",
+                                       "%#8.8x to %#8.8x",
                                        pad_reason,
                                        (unsigned) f->offset,
                                        (unsigned) addr - 1);
@@ -470,7 +437,7 @@ static int flash_iterate_address_range_inner(struct target *target,
                if (last_addr < end && pad_reason) {
                        /* FIXME say how many bytes (e.g. 80 KB) */
                        LOG_WARNING("Adding extra %s range, "
-                                       "%#8.8x to %#8.8x",
+                               "%#8.8x to %#8.8x",
                                pad_reason,
                                (unsigned) last_addr,
                                (unsigned) end - 1);
@@ -486,9 +453,9 @@ static int flash_iterate_address_range_inner(struct target *target,
        /* invalid start or end address? */
        if (first == -1 || last == -1) {
                LOG_ERROR("address range 0x%8.8x .. 0x%8.8x "
-                               "is not sector-aligned",
-                               (unsigned) (c->base + addr),
-                               (unsigned) (c->base + last_addr - 1));
+                       "is not sector-aligned",
+                       (unsigned) (c->base + addr),
+                       (unsigned) (c->base + last_addr - 1));
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
 
@@ -503,23 +470,21 @@ static int flash_iterate_address_range_inner(struct target *target,
  * multiple chips.
  */
 static int flash_iterate_address_range(struct target *target,
-               char *pad_reason, uint32_t addr, uint32_t length,
-               int (*callback)(struct flash_bank *bank, int first, int last))
+       char *pad_reason, uint32_t addr, uint32_t length,
+       int (*callback)(struct flash_bank *bank, int first, int last))
 {
        struct flash_bank *c;
        int retval = ERROR_OK;
 
        /* Danger! zero-length iterations means entire bank! */
-       do
-       {
+       do {
                retval = get_flash_bank_by_addr(target, addr, true, &c);
                if (retval != ERROR_OK)
                        return retval;
 
                uint32_t cur_length = length;
                /* check whether it all fits in this bank */
-               if (addr + length - 1 > c->base + c->size - 1)
-               {
+               if (addr + length - 1 > c->base + c->size - 1) {
                        LOG_DEBUG("iterating over more than one flash bank.");
                        cur_length = c->base + c->size - addr;
                }
@@ -537,10 +502,10 @@ static int flash_iterate_address_range(struct target *target,
 }
 
 int flash_erase_address_range(struct target *target,
-               bool pad, uint32_t addr, uint32_t length)
+       bool pad, uint32_t addr, uint32_t length)
 {
        return flash_iterate_address_range(target, pad ? "erase" : NULL,
-                       addr, length, &flash_driver_erase);
+               addr, length, &flash_driver_erase);
 }
 
 static int flash_driver_unprotect(struct flash_bank *bank, int first, int last)
@@ -555,30 +520,25 @@ int flash_unlock_address_range(struct target *target, uint32_t addr, uint32_t le
         * and doesn't restore it.
         */
        return flash_iterate_address_range(target, "unprotect",
-                       addr, length, &flash_driver_unprotect);
+               addr, length, &flash_driver_unprotect);
 }
 
-static int compare_section (const void * a, const void * b)
+static int compare_section(const void *a, const void *b)
 {
        struct imagesection *b1, *b2;
-       b1=*((struct imagesection **)a);
-       b2=*((struct imagesection **)b);
+       b1 = *((struct imagesection **)a);
+       b2 = *((struct imagesection **)b);
 
        if (b1->base_address == b2->base_address)
-       {
                return 0;
-       } else if (b1->base_address > b2->base_address)
-       {
+       else if (b1->base_address > b2->base_address)
                return 1;
-       } else
-       {
+       else
                return -1;
-       }
 }
 
-
 int flash_write_unlock(struct target *target, struct image *image,
-               uint32_t *written, int erase, bool unlock)
+       uint32_t *written, int erase, bool unlock)
 {
        int retval = ERROR_OK;
 
@@ -593,8 +553,7 @@ int flash_write_unlock(struct target *target, struct image *image,
        if (written)
                *written = 0;
 
-       if (erase)
-       {
+       if (erase) {
                /* assume all sectors need erasing - stops any problems
                 * when flash_write is called multiple times */
 
@@ -610,16 +569,13 @@ int flash_write_unlock(struct target *target, struct image *image,
                        image->num_sections);
        int i;
        for (i = 0; i < image->num_sections; i++)
-       {
                sections[i] = &image->sections[i];
-       }
 
        qsort(sections, image->num_sections, sizeof(struct imagesection *),
-                       compare_section);
+               compare_section);
 
        /* loop until we reach end of the image */
-       while (section < image->num_sections)
-       {
+       while (section < image->num_sections) {
                uint32_t buffer_size;
                uint8_t *buffer;
                int section_last;
@@ -627,8 +583,7 @@ int flash_write_unlock(struct target *target, struct image *image,
                uint32_t run_size = sections[section]->size - section_offset;
                int pad_bytes = 0;
 
-               if (sections[section]->size ==  0)
-               {
+               if (sections[section]->size ==  0) {
                        LOG_WARNING("empty section %d", section);
                        section++;
                        section_offset = 0;
@@ -638,12 +593,9 @@ int flash_write_unlock(struct target *target, struct image *image,
                /* find the corresponding flash bank */
                retval = get_flash_bank_by_addr(target, run_address, false, &c);
                if (retval != ERROR_OK)
-               {
                        goto done;
-               }
-               if (c == NULL)
-               {
-                       section++; /* and skip it */
+               if (c == NULL) {
+                       section++;      /* and skip it */
                        section_offset = 0;
                        continue;
                }
@@ -651,15 +603,13 @@ int flash_write_unlock(struct target *target, struct image *image,
                /* collect consecutive sections which fall into the same bank */
                section_last = section;
                padding[section] = 0;
-               while ((run_address + run_size - 1 < c->base + c->size - 1)
-                               && (section_last + 1 < image->num_sections))
-               {
+               while ((run_address + run_size - 1 < c->base + c->size - 1) &&
+                               (section_last + 1 < image->num_sections)) {
                        /* sections are sorted */
                        assert(sections[section_last + 1]->base_address >= c->base);
-                       if (sections[section_last + 1]->base_address >= (c->base + c->size))
-                       {
-                         /* Done with this bank */
-                         break;
+                       if (sections[section_last + 1]->base_address >= (c->base + c->size)) {
+                               /* Done with this bank */
+                               break;
                        }
 
                        /* FIXME This needlessly touches sectors BETWEEN the
@@ -685,11 +635,12 @@ int flash_write_unlock(struct target *target, struct image *image,
                        run_size += pad_bytes;
 
                        if (pad_bytes > 0)
-                               LOG_INFO("Padding image section %d with %d bytes", section_last-1, pad_bytes);
+                               LOG_INFO("Padding image section %d with %d bytes",
+                                       section_last-1,
+                                       pad_bytes);
                }
 
-               if (run_address + run_size - 1 > c->base + c->size - 1)
-               {
+               if (run_address + run_size - 1 > c->base + c->size - 1) {
                        /* If we have more than one flash chip back to back, then we limit
                         * the current write operation to the current chip.
                         */
@@ -710,7 +661,7 @@ int flash_write_unlock(struct target *target, struct image *image,
 
                        for (sector = 0; sector < c->num_sectors; sector++) {
                                end = c->sectors[sector].offset
-                                               + c->sectors[sector].size;
+                                       + c->sectors[sector].size;
                                if (offset_end <= end)
                                        break;
                        }
@@ -722,8 +673,7 @@ int flash_write_unlock(struct target *target, struct image *image,
 
                /* allocate buffer */
                buffer = malloc(run_size);
-               if (buffer == NULL)
-               {
+               if (buffer == NULL) {
                        LOG_ERROR("Out of memory for flash bank buffer");
                        retval = ERROR_FAIL;
                        goto done;
@@ -731,13 +681,12 @@ int flash_write_unlock(struct target *target, struct image *image,
                buffer_size = 0;
 
                /* read sections to the buffer */
-               while (buffer_size < run_size)
-               {
+               while (buffer_size < run_size) {
                        size_t size_read;
 
                        size_read = run_size - buffer_size;
                        if (size_read > sections[section]->size - section_offset)
-                           size_read = sections[section]->size - section_offset;
+                               size_read = sections[section]->size - section_offset;
 
                        /* KLUDGE!
                         *
@@ -747,25 +696,25 @@ int flash_write_unlock(struct target *target, struct image *image,
                        intptr_t diff = (intptr_t)sections[section] - (intptr_t)image->sections;
                        int t_section_num = diff / sizeof(struct imagesection);
 
-                       LOG_DEBUG("image_read_section: section = %d, t_section_num = %d, section_offset = %d, buffer_size = %d, size_read = %d",
-                                (int)section,
-(int)t_section_num, (int)section_offset, (int)buffer_size, (int)size_read);
-                       if ((retval = image_read_section(image, t_section_num, section_offset,
-                                       size_read, buffer + buffer_size, &size_read)) != ERROR_OK || size_read == 0)
-                       {
+                       LOG_DEBUG("image_read_section: section = %d, t_section_num = %d, "
+                                       "section_offset = %d, buffer_size = %d, size_read = %d",
+                               (int)section, (int)t_section_num, (int)section_offset,
+                               (int)buffer_size, (int)size_read);
+                       retval = image_read_section(image, t_section_num, section_offset,
+                                       size_read, buffer + buffer_size, &size_read);
+                       if (retval != ERROR_OK || size_read == 0) {
                                free(buffer);
                                goto done;
                        }
 
                        /* see if we need to pad the section */
                        while (padding[section]--)
-                                (buffer + buffer_size)[size_read++] = 0xff;
+                               (buffer + buffer_size)[size_read++] = 0xff;
 
                        buffer_size += size_read;
                        section_offset += size_read;
 
-                       if (section_offset >= sections[section]->size)
-                       {
+                       if (section_offset >= sections[section]->size) {
                                section++;
                                section_offset = 0;
                        }
@@ -774,38 +723,31 @@ int flash_write_unlock(struct target *target, struct image *image,
                retval = ERROR_OK;
 
                if (unlock)
-               {
                        retval = flash_unlock_address_range(target, run_address, run_size);
-               }
-               if (retval == ERROR_OK)
-               {
-                       if (erase)
-                       {
+               if (retval == ERROR_OK) {
+                       if (erase) {
                                /* calculate and erase sectors */
                                retval = flash_erase_address_range(target,
                                                true, run_address, run_size);
                        }
                }
 
-               if (retval == ERROR_OK)
-               {
+               if (retval == ERROR_OK) {
                        /* write flash sectors */
                        retval = flash_driver_write(c, buffer, run_address - c->base, run_size);
                }
 
                free(buffer);
 
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        /* abort operation */
                        goto done;
                }
 
                if (written != NULL)
-                       *written += run_size; /* add run size to total written counter */
+                       *written += run_size;   /* add run size to total written counter */
        }
 
-
 done:
        free(sections);
        free(padding);
@@ -814,7 +756,7 @@ done:
 }
 
 int flash_write(struct target *target, struct image *image,
-               uint32_t *written, int erase)
+       uint32_t *written, int erase)
 {
        return flash_write_unlock(target, image, written, erase, false);
 }
index 8f7dce882d267b07afef52d7a788bf90eff73550..90f4e61431a805c479be1169f3a638d309276fbd 100644 (file)
@@ -20,6 +20,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifndef FLASH_NOR_CORE_H
 #define FLASH_NOR_CORE_H
 
@@ -39,11 +40,10 @@ struct image;
  * within a flash bank.  A single bank typically consists of multiple
  * sectors, each of which can be erased and protected independently.
  */
-struct flash_sector
-{
-       /// Bus offset from start of the flash chip (in bytes).
+struct flash_sector {
+       /** Bus offset from start of the flash chip (in bytes). */
        uint32_t offset;
-       /// Number of bytes in this flash sector.
+       /** Number of bytes in this flash sector. */
        uint32_t size;
        /**
         * Indication of erasure status: 0 = not erased, 1 = erased,
@@ -72,8 +72,7 @@ struct flash_sector
  * may use the @c driver_priv member to store additional data on a
  * per-bank basis, if required.
  */
-struct flash_bank
-{
+struct flash_bank {
        const char *name;
 
        struct target *target; /**< Target to which this bank belongs. */
@@ -94,13 +93,13 @@ struct flash_bank
         * some non-zero value during "probe()" or "auto_probe()".
         */
        int num_sectors;
-       /// Array of sectors, allocated and initilized by the flash driver
+       /** Array of sectors, allocated and initilized by the flash driver */
        struct flash_sector *sectors;
 
        struct flash_bank *next; /**< The next flash bank on this chip */
 };
 
-/// Registers the 'flash' subsystem commands
+/** Registers the 'flash' subsystem commands */
 int flash_register_commands(struct command_context *cmd_ctx);
 
 /**
@@ -134,7 +133,7 @@ int flash_write(struct target *target,
  * This routine must be called when the system may modify the status.
  */
 void flash_set_dirty(void);
-/// @returns The number of flash banks currently defined.
+/** @returns The number of flash banks currently defined. */
 int flash_get_bank_count(void);
 /**
  * Provides default read implementation for flash memory.
@@ -209,6 +208,7 @@ struct flash_bank *get_flash_bank_by_num_noprobe(int num);
  * @param check return ERROR_OK and result_bank NULL if the bank does not exist
  * @returns The struct flash_bank located at @a addr, or NULL.
  */
-int get_flash_bank_by_addr(struct target *target, uint32_t addr, bool check, struct flash_bank **result_bank);
+int get_flash_bank_by_addr(struct target *target, uint32_t addr, bool check,
+               struct flash_bank **result_bank);
 
-#endif // FLASH_NOR_CORE_H
+#endif /* FLASH_NOR_CORE_H */
index 3b8e31a004cee483ec236e41a77203f291d991c3..466417adb7c57766a3307e63c4ee1cb210906231 100644 (file)
@@ -20,6 +20,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifndef FLASH_NOR_DRIVER_H
 #define FLASH_NOR_DRIVER_H
 
@@ -48,8 +49,7 @@ struct flash_bank;
  * corresponding static <code>flash_driver_<i>callback</i>()</code>
  * routine in flash.c.
  */
-struct flash_driver
-{
+struct flash_driver {
        /**
         * Gives a human-readable name of this flash driver,
         * This field is used to select and initialize the driver.
@@ -213,7 +213,8 @@ struct flash_driver
        int (*auto_probe)(struct flash_bank *bank);
 };
 
-#define FLASH_BANK_COMMAND_HANDLER(name) static __FLASH_BANK_COMMAND(name)
+#define FLASH_BANK_COMMAND_HANDLER(name) \
+       static __FLASH_BANK_COMMAND(name)
 
 /**
  * Find a NOR flash driver by its name.
@@ -222,4 +223,4 @@ struct flash_driver
  */
 struct flash_driver *flash_driver_find_by_name(const char *name);
 
-#endif // FLASH_NOR_DRIVER_H
+#endif /* FLASH_NOR_DRIVER_H */
index 6b0cc369fa70e1d9893f82dcc6cadc1388f2e199..06de0c6646d3869bb642808fdcb3eda20e2add3a 100644 (file)
@@ -16,6 +16,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -84,8 +85,7 @@ static struct flash_driver *flash_drivers[] = {
 
 struct flash_driver *flash_driver_find_by_name(const char *name)
 {
-       for (unsigned i = 0; flash_drivers[i]; i++)
-       {
+       for (unsigned i = 0; flash_drivers[i]; i++) {
                if (strcmp(name, flash_drivers[i]->name) == 0)
                        return flash_drivers[i];
        }
index 78cd6e3d4e49775567291931f1640f6e547bb7f6..eb2f3e1b3782478f7523c1355ab3bb12fae235c8 100644 (file)
  * @file   dsp5680xx_flash.c
  * @author Rodrigo L. Rosa <rodrigorosa.LG@gmail.com>
  * @date   Thu Jun  9 18:21:58 2011
- * 
+ *
  * @brief  This file implements the basic functions to run flashing commands
  * from the TCL interface.
  * It allows the user to flash the Freescale 5680xx DSP.
- * 
- * 
+ *
+ *
  */
 
 #ifdef HAVE_CONFIG_H
@@ -84,14 +84,14 @@ FLASH_BANK_COMMAND_HANDLER(dsp5680xx_flash_bank_command)
        return ERROR_OK;
 }
 
-/** 
+/**
  * A memory mapped register (PROT) holds information regarding sector protection.
  * Protection refers to undesired core access.
  * The value in this register is loaded from flash upon reset.
- * 
- * @param bank 
- * 
- * @return 
+ *
+ * @param bank
+ *
+ * @return
  */
 static int dsp5680xx_flash_protect_check(struct flash_bank *bank)
 {
@@ -118,17 +118,18 @@ static int dsp5680xx_flash_protect_check(struct flash_bank *bank)
        return retval;
 }
 
-/** 
+/**
  * Protection funcionality is not implemented.
  * The current implementation applies/removes security on the chip.
- * The chip is effectively secured/unsecured after the first reset following the execution of this function.
- * 
- * @param bank 
+ * The chip is effectively secured/unsecured after the first reset
+ * following the execution of this function.
+ *
+ * @param bank
  * @param set Apply or remove security on the chip.
  * @param first This parameter is ignored.
  * @param last This parameter is ignored.
- * 
- * @return 
+ *
+ * @return
  */
 static int dsp5680xx_flash_protect(struct flash_bank *bank, int set, int first,
                                   int last)
@@ -153,15 +154,16 @@ static int dsp5680xx_flash_protect(struct flash_bank *bank, int set, int first,
        return retval;
 }
 
-/** 
- * The dsp5680xx use word addressing. The "/2" that appear in the following code are a workaround for the fact that OpenOCD uses byte addressing.
- * 
- * @param bank 
+/**
+ * The dsp5680xx use word addressing. The "/2" that appear in the following code
+ * are a workaround for the fact that OpenOCD uses byte addressing.
+ *
+ * @param bank
  * @param buffer Data to write to flash.
- * @param offset 
+ * @param offset
  * @param count In bytes (2 bytes per address).
- * 
- * @return 
+ *
+ * @return
  */
 static int dsp5680xx_flash_write(struct flash_bank *bank, uint8_t * buffer,
                                 uint32_t offset, uint32_t count)
@@ -178,24 +180,18 @@ static int dsp5680xx_flash_write(struct flash_bank *bank, uint8_t * buffer,
                 * This chip uses word addressing, Openocd only supports byte addressing.
                 * The workaround results in disabling writing to odd byte addresses
                 */
-               LOG_ERROR
-                   ("%s: Writing to odd addresses not supported for this target",
-                    __func__);
+               LOG_ERROR("%s: Writing to odd addresses not supported for this target", __func__);
                return ERROR_FAIL;
        }
-       retval =
-           dsp5680xx_f_wr(bank->target, buffer, bank->base + offset / 2, count,
-                          0);
+       retval = dsp5680xx_f_wr(bank->target, buffer, bank->base + offset / 2, count, 0);
        uint32_t addr_word;
 
        for (addr_word = bank->base + offset / 2; addr_word < count / 2;
-            addr_word += (HFM_SECTOR_SIZE / 2)) {
+                       addr_word += (HFM_SECTOR_SIZE / 2)) {
                if (retval == ERROR_OK)
-                       bank->sectors[addr_word /
-                                     (HFM_SECTOR_SIZE / 2)].is_erased = 0;
+                       bank->sectors[addr_word / (HFM_SECTOR_SIZE / 2)].is_erased = 0;
                else
-                       bank->sectors[addr_word /
-                                     (HFM_SECTOR_SIZE / 2)].is_erased = -1;
+                       bank->sectors[addr_word / (HFM_SECTOR_SIZE / 2)].is_erased = -1;
        }
        return retval;
 }
@@ -207,31 +203,32 @@ static int dsp5680xx_probe(struct flash_bank *bank)
 }
 
 static int dsp5680xx_flash_info(struct flash_bank *bank, char *buf,
-                               int buf_size)
+               int buf_size)
 {
        snprintf(buf, buf_size,
                "\ndsp5680xx flash driver info:\n - See comments in code.");
        return ERROR_OK;
 }
 
-/** 
- * The flash module (FM) on the dsp5680xx supports both individual sector and mass erase of the flash memory.
- * If this function is called with @first == @last == 0 or if @first is the first sector (#0) and @last is the last sector then the mass erase command is executed (much faster than erasing each sector individually).
- * 
- * @param bank 
- * @param first 
- * @param last 
- * 
- * @return 
+/**
+ * The flash module (FM) on the dsp5680xx supports both individual sector
+ * and mass erase of the flash memory.
+ * If this function is called with @first == @last == 0 or if @first is the
+ * first sector (#0) and @last is the last sector then the mass erase command
+ * is executed (much faster than erasing each sector individually).
+ *
+ * @param bank
+ * @param first
+ * @param last
+ *
+ * @return
  */
 static int dsp5680xx_flash_erase(struct flash_bank *bank, int first, int last)
 {
        int retval;
 
-       retval =
-           dsp5680xx_f_erase(bank->target, (uint32_t) first, (uint32_t) last);
-       if ((!(first | last))
-           || ((first == 0) && (last == (HFM_SECTOR_COUNT - 1))))
+       retval = dsp5680xx_f_erase(bank->target, (uint32_t) first, (uint32_t) last);
+       if ((!(first | last)) || ((first == 0) && (last == (HFM_SECTOR_COUNT - 1))))
                last = HFM_SECTOR_COUNT - 1;
        if (retval == ERROR_OK)
                for (int i = first; i <= last; i++)
@@ -246,13 +243,13 @@ static int dsp5680xx_flash_erase(struct flash_bank *bank, int first, int last)
        return retval;
 }
 
-/** 
+/**
  * The flash module (FM) on the dsp5680xx support a blank check function.
  * This function executes the FM's blank check functionality on each and every sector.
- * 
- * @param bank 
- * 
- * @return 
+ *
+ * @param bank
+ *
+ * @return
  */
 static int dsp5680xx_flash_erase_check(struct flash_bank *bank)
 {
@@ -264,8 +261,7 @@ static int dsp5680xx_flash_erase_check(struct flash_bank *bank)
 
        for (i = 0; i < HFM_SECTOR_COUNT; i++) {
                if (bank->sectors[i].is_erased == -1) {
-                       retval =
-                           dsp5680xx_f_erase_check(bank->target, &erased, i);
+                       retval = dsp5680xx_f_erase_check(bank->target, &erased, i);
                        if (retval != ERROR_OK) {
                                bank->sectors[i].is_erased = -1;
                        } else {
index cae89358db529a6b7f363718c38e4e2bd83d6e89..c7458596abeb4bc3184df6f9c5c08add8debbab0 100644 (file)
@@ -17,6 +17,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 #include <target/algorithm.h>
 #include <target/image.h>
 
-
 #if 0
 static uint32_t ecosflash_get_flash_status(struct flash_bank *bank);
-static void ecosflash_set_flash_mode(struct flash_bank *bank,int mode);
+static void ecosflash_set_flash_mode(struct flash_bank *bank, int mode);
 static uint32_t ecosflash_wait_status_busy(struct flash_bank *bank, uint32_t waitbits, int timeout);
-static int ecosflash_handle_gpnvm_command(struct command_context *cmd_ctx, char *cmd, char **args, int argc);
+static int ecosflash_handle_gpnvm_command(struct command_context *cmd_ctx,
+               char *cmd, char **args, int argc);
 #endif
 
-struct ecosflash_flash_bank
-{
+struct ecosflash_flash_bank {
        struct target *target;
        struct working_area *write_algorithm;
        struct working_area *erase_check_algorithm;
@@ -45,60 +45,58 @@ struct ecosflash_flash_bank
 
 static const int sectorSize = 0x10000;
 
-char *
-flash_errmsg(int err);
+char *flash_errmsg(int err);
 
 #ifndef __ECOS
-#define FLASH_ERR_OK              0x00  /* No error - operation complete */
-#define FLASH_ERR_INVALID         0x01  /* Invalid FLASH address */
-#define FLASH_ERR_ERASE           0x02  /* Error trying to erase */
-#define FLASH_ERR_LOCK            0x03  /* Error trying to lock/unlock */
-#define FLASH_ERR_PROGRAM         0x04  /* Error trying to program */
-#define FLASH_ERR_PROTOCOL        0x05  /* Generic error */
-#define FLASH_ERR_PROTECT         0x06  /* Device/region is write-protected */
-#define FLASH_ERR_NOT_INIT        0x07  /* FLASH info not yet initialized */
-#define FLASH_ERR_HWR             0x08  /* Hardware (configuration?) problem */
-#define FLASH_ERR_ERASE_SUSPEND   0x09  /* Device is in erase suspend mode */
-#define FLASH_ERR_PROGRAM_SUSPEND 0x0a  /* Device is in in program suspend mode */
-#define FLASH_ERR_DRV_VERIFY      0x0b  /* Driver failed to verify data */
-#define FLASH_ERR_DRV_TIMEOUT     0x0c  /* Driver timed out waiting for device */
-#define FLASH_ERR_DRV_WRONG_PART  0x0d  /* Driver does not support device */
-#define FLASH_ERR_LOW_VOLTAGE     0x0e  /* Not enough juice to complete job */
-
-char *
-flash_errmsg(int err)
+#define FLASH_ERR_OK              0x00 /* No error - operation complete */
+#define FLASH_ERR_INVALID         0x01 /* Invalid FLASH address */
+#define FLASH_ERR_ERASE           0x02 /* Error trying to erase */
+#define FLASH_ERR_LOCK            0x03 /* Error trying to lock/unlock */
+#define FLASH_ERR_PROGRAM         0x04 /* Error trying to program */
+#define FLASH_ERR_PROTOCOL        0x05 /* Generic error */
+#define FLASH_ERR_PROTECT         0x06 /* Device/region is write-protected */
+#define FLASH_ERR_NOT_INIT        0x07 /* FLASH info not yet initialized */
+#define FLASH_ERR_HWR             0x08 /* Hardware (configuration?) problem */
+#define FLASH_ERR_ERASE_SUSPEND   0x09 /* Device is in erase suspend mode */
+#define FLASH_ERR_PROGRAM_SUSPEND 0x0a /* Device is in in program suspend mode */
+#define FLASH_ERR_DRV_VERIFY      0x0b /* Driver failed to verify data */
+#define FLASH_ERR_DRV_TIMEOUT     0x0c /* Driver timed out waiting for device */
+#define FLASH_ERR_DRV_WRONG_PART  0x0d /* Driver does not support device */
+#define FLASH_ERR_LOW_VOLTAGE     0x0e /* Not enough juice to complete job */
+
+char *flash_errmsg(int err)
 {
        switch (err) {
-       case FLASH_ERR_OK:
-               return "No error - operation complete";
-       case FLASH_ERR_ERASE_SUSPEND:
-               return "Device is in erase suspend state";
-       case FLASH_ERR_PROGRAM_SUSPEND:
-               return "Device is in program suspend state";
-       case FLASH_ERR_INVALID:
-               return "Invalid FLASH address";
-       case FLASH_ERR_ERASE:
-               return "Error trying to erase";
-       case FLASH_ERR_LOCK:
-               return "Error trying to lock/unlock";
-       case FLASH_ERR_PROGRAM:
-               return "Error trying to program";
-       case FLASH_ERR_PROTOCOL:
-               return "Generic error";
-       case FLASH_ERR_PROTECT:
-               return "Device/region is write-protected";
-       case FLASH_ERR_NOT_INIT:
-               return "FLASH sub-system not initialized";
-       case FLASH_ERR_DRV_VERIFY:
-               return "Data verify failed after operation";
-       case FLASH_ERR_DRV_TIMEOUT:
-               return "Driver timed out waiting for device";
-       case FLASH_ERR_DRV_WRONG_PART:
-               return "Driver does not support device";
-       case FLASH_ERR_LOW_VOLTAGE:
-               return "Device reports low voltage";
-       default:
-               return "Unknown error";
+               case FLASH_ERR_OK:
+                       return "No error - operation complete";
+               case FLASH_ERR_ERASE_SUSPEND:
+                       return "Device is in erase suspend state";
+               case FLASH_ERR_PROGRAM_SUSPEND:
+                       return "Device is in program suspend state";
+               case FLASH_ERR_INVALID:
+                       return "Invalid FLASH address";
+               case FLASH_ERR_ERASE:
+                       return "Error trying to erase";
+               case FLASH_ERR_LOCK:
+                       return "Error trying to lock/unlock";
+               case FLASH_ERR_PROGRAM:
+                       return "Error trying to program";
+               case FLASH_ERR_PROTOCOL:
+                       return "Generic error";
+               case FLASH_ERR_PROTECT:
+                       return "Device/region is write-protected";
+               case FLASH_ERR_NOT_INIT:
+                       return "FLASH sub-system not initialized";
+               case FLASH_ERR_DRV_VERIFY:
+                       return "Data verify failed after operation";
+               case FLASH_ERR_DRV_TIMEOUT:
+                       return "Driver timed out waiting for device";
+               case FLASH_ERR_DRV_WRONG_PART:
+                       return "Driver does not support device";
+               case FLASH_ERR_LOW_VOLTAGE:
+                       return "Device reports low voltage";
+               default:
+                       return "Unknown error";
        }
 }
 #endif
@@ -110,13 +108,10 @@ FLASH_BANK_COMMAND_HANDLER(ecosflash_flash_bank_command)
        struct ecosflash_flash_bank *info;
 
        if (CMD_ARGC < 7)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        info = malloc(sizeof(struct ecosflash_flash_bank));
-       if (info == NULL)
-       {
+       if (info == NULL) {
                LOG_ERROR("no memory for flash bank info");
                exit(-1);
        }
@@ -131,8 +126,7 @@ FLASH_BANK_COMMAND_HANDLER(ecosflash_flash_bank_command)
        uint32_t offset = 0;
        bank->num_sectors = bank->size/sectorSize;
        bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                bank->sectors[i].offset = offset;
                bank->sectors[i].size = sectorSize;
                offset += bank->sectors[i].size;
@@ -141,8 +135,7 @@ FLASH_BANK_COMMAND_HANDLER(ecosflash_flash_bank_command)
        }
 
        info->target = get_target(CMD_ARGV[5]);
-       if (info->target == NULL)
-       {
+       if (info->target == NULL) {
                LOG_ERROR("target '%s' not defined", CMD_ARGV[5]);
                return ERROR_FAIL;
        }
@@ -160,20 +153,18 @@ static int loadDriver(struct ecosflash_flash_bank *info)
        struct target *target = info->target;
        int retval;
 
-       if ((retval = image_open(&image, info->driverPath, NULL)) != ERROR_OK)
-       {
+       retval = image_open(&image, info->driverPath, NULL);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        info->start_address = image.start_address;
 
        image_size = 0x0;
        int i;
-       for (i = 0; i < image.num_sections; i++)
-       {
+       for (i = 0; i < image.num_sections; i++) {
                void *buffer = malloc(image.sections[i].size);
-               if ((retval = image_read_section(&image, i, 0x0, image.sections[i].size, buffer, &buf_cnt)) != ERROR_OK)
-               {
+               retval = image_read_section(&image, i, 0x0, image.sections[i].size, buffer, &buf_cnt);
+               if (retval != ERROR_OK) {
                        free(buffer);
                        image_close(&image);
                        return retval;
@@ -181,7 +172,7 @@ static int loadDriver(struct ecosflash_flash_bank *info)
                target_write_buffer(target, image.sections[i].base_address, buf_cnt, buffer);
                image_size += buf_cnt;
                LOG_DEBUG("%zu bytes written at address 0x%8.8" PRIx32 "",
-                               buf_cnt, image.sections[i].base_address);
+                       buf_cnt, image.sections[i].base_address);
 
                free(buffer);
        }
@@ -191,7 +182,7 @@ static int loadDriver(struct ecosflash_flash_bank *info)
        return ERROR_OK;
 }
 
-static int const OFFSET_ERASE = 0x0;
+static int const OFFSET_ERASE;
 static int const OFFSET_ERASE_SIZE = 0x8;
 static int const OFFSET_FLASH = 0xc;
 static int const OFFSET_FLASH_SIZE = 0x8;
@@ -199,10 +190,10 @@ static int const OFFSET_GET_WORKAREA = 0x18;
 static int const OFFSET_GET_WORKAREA_SIZE = 0x4;
 
 static int runCode(struct ecosflash_flash_bank *info,
-               uint32_t codeStart, uint32_t codeStop, uint32_t r0, uint32_t r1, uint32_t r2,
-               uint32_t *result,
-               /* timeout in ms */
-               int timeout)
+       uint32_t codeStart, uint32_t codeStop, uint32_t r0, uint32_t r1, uint32_t r2,
+       uint32_t *result,
+       /* timeout in ms */
+       int timeout)
 {
        struct target *target = info->target;
 
@@ -220,12 +211,9 @@ static int runCode(struct ecosflash_flash_bank *info,
        buf_set_u32(reg_params[1].value, 0, 32, r1);
        buf_set_u32(reg_params[2].value, 0, 32, r2);
 
-       int retval;
-       if ((retval = target_run_algorithm(target, 0, NULL, 3, reg_params,
-                       codeStart,
-                       codeStop, timeout,
-                       &armv4_5_info)) != ERROR_OK)
-       {
+       int retval = target_run_algorithm(target, 0, NULL, 3, reg_params,
+                       codeStart, codeStop, timeout, &armv4_5_info);
+       if (retval != ERROR_OK) {
                LOG_ERROR("error executing eCos flash algorithm");
                return retval;
        }
@@ -242,7 +230,7 @@ static int runCode(struct ecosflash_flash_bank *info,
 static int eCosBoard_erase(struct ecosflash_flash_bank *info, uint32_t address, uint32_t len)
 {
        int retval;
-       int timeout = (len / 20480 + 1) * 1000; /*asume 20 KB/s*/
+       int timeout = (len / 20480 + 1) * 1000; /*asume 20 KB/s*/
 
        retval = loadDriver(info);
        if (retval != ERROR_OK)
@@ -257,12 +245,11 @@ static int eCosBoard_erase(struct ecosflash_flash_bank *info, uint32_t address,
                        0,
                        &flashErr,
                        timeout
-);
+                       );
        if (retval != ERROR_OK)
                return retval;
 
-       if (flashErr != 0x0)
-       {
+       if (flashErr != 0x0) {
                LOG_ERROR("Flash erase failed with %d (%s)", (int)flashErr, flash_errmsg(flashErr));
                return ERROR_FAIL;
        }
@@ -270,12 +257,15 @@ static int eCosBoard_erase(struct ecosflash_flash_bank *info, uint32_t address,
        return ERROR_OK;
 }
 
-static int eCosBoard_flash(struct ecosflash_flash_bank *info, void *data, uint32_t address, uint32_t len)
+static int eCosBoard_flash(struct ecosflash_flash_bank *info,
+       void *data,
+       uint32_t address,
+       uint32_t len)
 {
        struct target *target = info->target;
        const int chunk = 8192;
        int retval = ERROR_OK;
-       int timeout = (chunk / 20480 + 1) * 1000; /*asume 20 KB/s + 1 second*/
+       int timeout = (chunk / 20480 + 1) * 1000;       /*asume 20 KB/s + 1 second*/
 
        retval = loadDriver(info);
        if (retval != ERROR_OK)
@@ -295,13 +285,10 @@ static int eCosBoard_flash(struct ecosflash_flash_bank *info, void *data, uint32
 
 
        uint32_t i;
-       for (i = 0; i < len; i += chunk)
-       {
+       for (i = 0; i < len; i += chunk) {
                int t = len-i;
                if (t > chunk)
-               {
                        t = chunk;
-               }
 
                retval = target_write_buffer(target, buffer, t, ((uint8_t *)data) + i);
                if (retval != ERROR_OK)
@@ -319,9 +306,9 @@ static int eCosBoard_flash(struct ecosflash_flash_bank *info, void *data, uint32
                if (retval != ERROR_OK)
                        return retval;
 
-               if (flashErr != 0x0)
-               {
-                       LOG_ERROR("Flash prog failed with %d (%s)", (int)flashErr, flash_errmsg(flashErr));
+               if (flashErr != 0x0) {
+                       LOG_ERROR("Flash prog failed with %d (%s)", (int)flashErr,
+                               flash_errmsg(flashErr));
                        return ERROR_FAIL;
                }
        }
@@ -339,19 +326,12 @@ static void command(struct flash_bank *bank, uint8_t cmd, uint8_t *cmd_buf)
        struct ecosflash_flash_bank *info = bank->driver_priv;
        int i;
 
-       if (info->target->endianness == TARGET_LITTLE_ENDIAN)
-       {
+       if (info->target->endianness == TARGET_LITTLE_ENDIAN) {
                for (i = bank->bus_width; i > 0; i--)
-               {
                        *cmd_buf++ = (i & (bank->chip_width - 1)) ? 0x0 : cmd;
-               }
-       }
-       else
-       {
+       } else {
                for (i = 1; i <= bank->bus_width; i++)
-               {
                        *cmd_buf++ = (i & (bank->chip_width - 1)) ? 0x0 : cmd;
-               }
        }
 }
 #endif
@@ -360,8 +340,7 @@ static void command(struct flash_bank *bank, uint8_t cmd, uint8_t *cmd_buf)
 static uint32_t ecosflash_address(struct flash_bank *bank, uint32_t address)
 {
        uint32_t retval = 0;
-       switch (bank->bus_width)
-       {
+       switch (bank->bus_width) {
                case 4:
                        retval = address & 0xfffffffc;
                case 2:
@@ -386,7 +365,8 @@ static int ecosflash_protect(struct flash_bank *bank, int set, int first, int la
        return ERROR_OK;
 }
 
-static int ecosflash_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
+static int ecosflash_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
+       uint32_t count)
 {
        struct ecosflash_flash_bank *info = bank->driver_priv;
        struct flash_bank *c = bank;
@@ -411,7 +391,7 @@ static uint32_t ecosflash_get_flash_status(struct flash_bank *bank)
        return ERROR_OK;
 }
 
-static void ecosflash_set_flash_mode(struct flash_bank *bank,int mode)
+static void ecosflash_set_flash_mode(struct flash_bank *bank, int mode)
 {
 
 }
@@ -421,7 +401,10 @@ static uint32_t ecosflash_wait_status_busy(struct flash_bank *bank, uint32_t wai
        return ERROR_OK;
 }
 
-static int ecosflash_handle_gpnvm_command(struct command_context *cmd_ctx, char *cmd, char **args, int argc)
+static int ecosflash_handle_gpnvm_command(struct command_context *cmd_ctx,
+       char *cmd,
+       char **args,
+       int argc)
 {
        return ERROR_OK;
 }
index 2e40601f8aa9b18d2bccdc4676a81ff919a046a6..7c697f13efa53e33ecfedf7b41d358915d0b1298 100644 (file)
@@ -7,7 +7,7 @@
  *
  *   Copyright (C) 2011 by Erik Botö
  *   erik.boto@pelagicore.com
- * 
+ *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  *   the Free Software Foundation; either version 2 of the License, or     *
@@ -23,6 +23,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
 /* em357 register locations */
 
-#define EM357_FLASH_ACR                0x40008000
-#define EM357_FLASH_KEYR       0x40008004
-#define EM357_FLASH_OPTKEYR    0x40008008
-#define EM357_FLASH_SR         0x4000800C
-#define EM357_FLASH_CR         0x40008010
-#define EM357_FLASH_AR         0x40008014
-#define EM357_FLASH_OBR                0x4000801C
-#define EM357_FLASH_WRPR       0x40008020
+#define EM357_FLASH_ACR         0x40008000
+#define EM357_FLASH_KEYR        0x40008004
+#define EM357_FLASH_OPTKEYR     0x40008008
+#define EM357_FLASH_SR          0x4000800C
+#define EM357_FLASH_CR          0x40008010
+#define EM357_FLASH_AR          0x40008014
+#define EM357_FLASH_OBR         0x4000801C
+#define EM357_FLASH_WRPR        0x40008020
 
-#define EM357_FPEC_CLK         0x4000402c
+#define EM357_FPEC_CLK          0x4000402c
 /* option byte location */
 
-#define EM357_OB_RDP           0x08040800
-#define EM357_OB_WRP0          0x08040808
-#define EM357_OB_WRP1          0x0804080A
-#define EM357_OB_WRP2          0x0804080C
+#define EM357_OB_RDP            0x08040800
+#define EM357_OB_WRP0           0x08040808
+#define EM357_OB_WRP1           0x0804080A
+#define EM357_OB_WRP2           0x0804080C
 
 /* FLASH_CR register bits */
 
-#define FLASH_PG               (1 << 0)
-#define FLASH_PER              (1 << 1)
-#define FLASH_MER              (1 << 2)
-#define FLASH_OPTPG            (1 << 4)
-#define FLASH_OPTER            (1 << 5)
-#define FLASH_STRT             (1 << 6)
-#define FLASH_LOCK             (1 << 7)
-#define FLASH_OPTWRE   (1 << 9)
+#define FLASH_PG                (1 << 0)
+#define FLASH_PER               (1 << 1)
+#define FLASH_MER               (1 << 2)
+#define FLASH_OPTPG             (1 << 4)
+#define FLASH_OPTER             (1 << 5)
+#define FLASH_STRT              (1 << 6)
+#define FLASH_LOCK              (1 << 7)
+#define FLASH_OPTWRE    (1 << 9)
 
 /* FLASH_SR register bits */
 
-#define FLASH_BSY              (1 << 0)
-#define FLASH_PGERR            (1 << 2)
-#define FLASH_WRPRTERR (1 << 4)
-#define FLASH_EOP              (1 << 5)
+#define FLASH_BSY               (1 << 0)
+#define FLASH_PGERR             (1 << 2)
+#define FLASH_WRPRTERR  (1 << 4)
+#define FLASH_EOP               (1 << 5)
 
 /* EM357_FLASH_OBR bit definitions (reading) */
 
-#define OPT_ERROR              0
-#define OPT_READOUT            1
+#define OPT_ERROR               0
+#define OPT_READOUT             1
 
 /* register unlock keys */
 
-#define KEY1                   0x45670123
-#define KEY2                   0xCDEF89AB
+#define KEY1                    0x45670123
+#define KEY2                    0xCDEF89AB
 
-struct em357_options
-{
+struct em357_options {
        uint16_t RDP;
        uint16_t user_options;
        uint16_t protection[3];
 };
 
-struct em357_flash_bank
-{
+struct em357_flash_bank {
        struct em357_options option_bytes;
        struct working_area *write_algorithm;
        int ppage_size;
@@ -103,9 +102,7 @@ FLASH_BANK_COMMAND_HANDLER(em357_flash_bank_command)
        struct em357_flash_bank *em357_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        em357_info = malloc(sizeof(struct em357_flash_bank));
        bank->driver_priv = em357_info;
@@ -129,37 +126,32 @@ static int em357_wait_status_busy(struct flash_bank *bank, int timeout)
        int retval = ERROR_OK;
 
        /* wait for busy to clear */
-       for (;;)
-       {
+       for (;; ) {
                retval = em357_get_flash_status(bank, &status);
                if (retval != ERROR_OK)
                        return retval;
                LOG_DEBUG("status: 0x%" PRIx32 "", status);
                if ((status & FLASH_BSY) == 0)
                        break;
-               if (timeout-- <= 0)
-               {
+               if (timeout-- <= 0) {
                        LOG_ERROR("timed out waiting for flash");
                        return ERROR_FAIL;
                }
                alive_sleep(1);
        }
 
-       if (status & FLASH_WRPRTERR)
-       {
+       if (status & FLASH_WRPRTERR) {
                LOG_ERROR("em357 device protected");
                retval = ERROR_FAIL;
        }
 
-       if (status & FLASH_PGERR)
-       {
+       if (status & FLASH_PGERR) {
                LOG_ERROR("em357 device programming failed");
                retval = ERROR_FAIL;
        }
 
        /* Clear but report errors */
-       if (status & (FLASH_WRPRTERR | FLASH_PGERR))
-       {
+       if (status & (FLASH_WRPRTERR | FLASH_PGERR)) {
                /* If this operation fails, we ignore it and report the original
                 * retval
                 */
@@ -330,8 +322,7 @@ static int em357_protect_check(struct flash_bank *bank)
        int num_bits;
        int set;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -344,8 +335,7 @@ static int em357_protect_check(struct flash_bank *bank)
        /* each protection bit is for 4 * 2K pages */
        num_bits = (bank->num_sectors / em357_info->ppage_size);
 
-       for (i = 0; i < num_bits; i++)
-       {
+       for (i = 0; i < num_bits; i++) {
                set = 1;
                if (protection & (1 << i))
                        set = 0;
@@ -362,16 +352,13 @@ static int em357_erase(struct flash_bank *bank, int first, int last)
        struct target *target = bank->target;
        int i;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if ((first == 0) && (last == (bank->num_sectors - 1)))
-       {
                return em357_mass_erase(bank);
-       }
 
        /* unlock flash registers */
        int retval = target_write_u32(target, EM357_FLASH_KEYR, KEY1);
@@ -381,8 +368,7 @@ static int em357_erase(struct flash_bank *bank, int first, int last)
        if (retval != ERROR_OK)
                return retval;
 
-       for (i = first; i <= last; i++)
-       {
+       for (i = first; i <= last; i++) {
                retval = target_write_u32(target, EM357_FLASH_CR, FLASH_PER);
                if (retval != ERROR_OK)
                        return retval;
@@ -419,22 +405,19 @@ static int em357_protect(struct flash_bank *bank, int set, int first, int last)
 
        em357_info = bank->driver_priv;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if ((first % em357_info->ppage_size) != 0)
-       {
+       if ((first % em357_info->ppage_size) != 0) {
                LOG_WARNING("aligned start protect sector to a %d sector boundary",
-                               em357_info->ppage_size);
+                       em357_info->ppage_size);
                first = first - (first % em357_info->ppage_size);
        }
-       if (((last + 1) % em357_info->ppage_size) != 0)
-       {
+       if (((last + 1) % em357_info->ppage_size) != 0) {
                LOG_WARNING("aligned end protect sector to a %d sector boundary",
-                               em357_info->ppage_size);
+                       em357_info->ppage_size);
                last++;
                last = last - (last % em357_info->ppage_size);
                last--;
@@ -449,8 +432,7 @@ static int em357_protect(struct flash_bank *bank, int set, int first, int last)
        prot_reg[1] = (uint16_t)(protection >> 8);
        prot_reg[2] = (uint16_t)(protection >> 16);
 
-       for (i = first; i <= last; i++)
-       {
+       for (i = first; i <= last; i++) {
                reg = (i / em357_info->ppage_size) / 8;
                bit = (i / em357_info->ppage_size) - (reg * 8);
 
@@ -461,7 +443,8 @@ static int em357_protect(struct flash_bank *bank, int set, int first, int last)
                        prot_reg[reg] |= (1 << bit);
        }
 
-       if ((status = em357_erase_options(bank)) != ERROR_OK)
+       status = em357_erase_options(bank);
+       if (retval != ERROR_OK)
                return status;
 
        em357_info->option_bytes.protection[0] = prot_reg[0];
@@ -472,7 +455,7 @@ static int em357_protect(struct flash_bank *bank, int set, int first, int last)
 }
 
 static int em357_write_block(struct flash_bank *bank, uint8_t *buffer,
-               uint32_t offset, uint32_t count)
+       uint32_t offset, uint32_t count)
 {
        struct em357_flash_bank *em357_info = bank->driver_priv;
        struct target *target = bank->target;
@@ -483,61 +466,63 @@ static int em357_write_block(struct flash_bank *bank, uint8_t *buffer,
        struct armv7m_algorithm armv7m_info;
        int retval = ERROR_OK;
 
-       /* see contib/loaders/flash/stm32x.s for src, the same is used here except for 
+       /* see contib/loaders/flash/stm32x.s for src, the same is used here except for
         * a modified *_FLASH_BASE */
 
        static const uint8_t em357_flash_write_code[] = {
-                                                                       /* #define EM357_FLASH_CR_OFFSET        0x10 */
-                                                                       /* #define EM357_FLASH_SR_OFFSET        0x0C */
-                                                                       /* write: */
+               /* #define EM357_FLASH_CR_OFFSET        0x10
+                * #define EM357_FLASH_SR_OFFSET        0x0C
+                * write: */
                0x08, 0x4c,                                     /* ldr  r4, EM357_FLASH_BASE */
                0x1c, 0x44,                                     /* add  r4, r3 */
-                                                                       /* write_half_word: */
+               /* write_half_word: */
                0x01, 0x23,                                     /* movs r3, #0x01 */
-               0x23, 0x61,                                     /* str  r3, [r4, #EM357_FLASH_CR_OFFSET] */
+               0x23, 0x61,                                     /* str  r3, [r4,
+                                                                *#EM357_FLASH_CR_OFFSET] */
                0x30, 0xf8, 0x02, 0x3b,         /* ldrh r3, [r0], #0x02 */
                0x21, 0xf8, 0x02, 0x3b,         /* strh r3, [r1], #0x02 */
-                                                                       /* busy: */
-               0xe3, 0x68,                                     /* ldr  r3, [r4, #EM357_FLASH_SR_OFFSET] */
+               /* busy: */
+               0xe3, 0x68,                                     /* ldr  r3, [r4,
+                                                                *#EM357_FLASH_SR_OFFSET] */
                0x13, 0xf0, 0x01, 0x0f,         /* tst  r3, #0x01 */
                0xfb, 0xd0,                                     /* beq  busy */
                0x13, 0xf0, 0x14, 0x0f,         /* tst  r3, #0x14 */
                0x01, 0xd1,                                     /* bne  exit */
                0x01, 0x3a,                                     /* subs r2, r2, #0x01 */
                0xf0, 0xd1,                                     /* bne  write_half_word */
-                                                                       /* exit: */
+               /* exit: */
                0x00, 0xbe,                                     /* bkpt #0x00 */
                0x00, 0x80, 0x00, 0x40,         /* EM357_FLASH_BASE: .word 0x40008000 */
        };
 
        /* flash write code */
        if (target_alloc_working_area(target, sizeof(em357_flash_write_code),
-                       &em357_info->write_algorithm) != ERROR_OK)
-       {
+                       &em357_info->write_algorithm) != ERROR_OK) {
                LOG_WARNING("no working area available, can't do block memory writes");
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
-       };
+       }
+       ;
 
-       if ((retval = target_write_buffer(target, em357_info->write_algorithm->address,
-                       sizeof(em357_flash_write_code),
-                       (uint8_t*)em357_flash_write_code)) != ERROR_OK)
+       retval = target_write_buffer(target, em357_info->write_algorithm->address,
+                       sizeof(em357_flash_write_code), (uint8_t *)em357_flash_write_code);
+       if (retval != ERROR_OK)
                return retval;
 
        /* memory buffer */
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= 256)
-               {
+               if (buffer_size <= 256) {
                        /* if we already allocated the writing code, but failed to get a
                         * buffer, free the algorithm */
                        if (em357_info->write_algorithm)
                                target_free_working_area(target, em357_info->write_algorithm);
 
-                       LOG_WARNING("no large enough working area available, can't do block memory writes");
+                       LOG_WARNING(
+                               "no large enough working area available, can't do block memory writes");
                        return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
                }
-       };
+       }
+       ;
 
        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
        armv7m_info.core_mode = ARMV7M_MODE_ANY;
@@ -547,13 +532,12 @@ static int em357_write_block(struct flash_bank *bank, uint8_t *buffer,
        init_reg_param(&reg_params[2], "r2", 32, PARAM_OUT);
        init_reg_param(&reg_params[3], "r3", 32, PARAM_IN_OUT);
 
-       while (count > 0)
-       {
+       while (count > 0) {
                uint32_t thisrun_count = (count > (buffer_size / 2)) ?
-                               (buffer_size / 2) : count;
+                       (buffer_size / 2) : count;
 
-               if ((retval = target_write_buffer(target, source->address,
-                               thisrun_count * 2, buffer)) != ERROR_OK)
+               retval = target_write_buffer(target, source->address, thisrun_count * 2, buffer);
+               if (retval != ERROR_OK)
                        break;
 
                buf_set_u32(reg_params[0].value, 0, 32, source->address);
@@ -561,17 +545,14 @@ static int em357_write_block(struct flash_bank *bank, uint8_t *buffer,
                buf_set_u32(reg_params[2].value, 0, 32, thisrun_count);
                buf_set_u32(reg_params[3].value, 0, 32, 0);
 
-               if ((retval = target_run_algorithm(target, 0, NULL, 4, reg_params,
-                               em357_info->write_algorithm->address,
-                               0,
-                               10000, &armv7m_info)) != ERROR_OK)
-               {
+               retval = target_run_algorithm(target, 0, NULL, 4, reg_params,
+                               em357_info->write_algorithm->address, 0, 10000, &armv7m_info);
+               if (retval != ERROR_OK) {
                        LOG_ERROR("error executing em357 flash write algorithm");
                        break;
                }
 
-               if (buf_get_u32(reg_params[3].value, 0, 32) & FLASH_PGERR)
-               {
+               if (buf_get_u32(reg_params[3].value, 0, 32) & FLASH_PGERR) {
                        LOG_ERROR("flash memory not erased before writing");
                        /* Clear but report errors */
                        target_write_u32(target, EM357_FLASH_SR, FLASH_PGERR);
@@ -579,8 +560,7 @@ static int em357_write_block(struct flash_bank *bank, uint8_t *buffer,
                        break;
                }
 
-               if (buf_get_u32(reg_params[3].value, 0, 32) & FLASH_WRPRTERR)
-               {
+               if (buf_get_u32(reg_params[3].value, 0, 32) & FLASH_WRPRTERR) {
                        LOG_ERROR("flash memory write protected");
                        /* Clear but report errors */
                        target_write_u32(target, EM357_FLASH_SR, FLASH_WRPRTERR);
@@ -605,7 +585,7 @@ static int em357_write_block(struct flash_bank *bank, uint8_t *buffer,
 }
 
 static int em357_write(struct flash_bank *bank, uint8_t *buffer,
-               uint32_t offset, uint32_t count)
+       uint32_t offset, uint32_t count)
 {
        struct target *target = bank->target;
        uint32_t words_remaining = (count / 2);
@@ -614,14 +594,12 @@ static int em357_write(struct flash_bank *bank, uint8_t *buffer,
        uint32_t bytes_written = 0;
        int retval;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (offset & 0x1)
-       {
+       if (offset & 0x1) {
                LOG_WARNING("offset 0x%" PRIx32 " breaks required 2-byte alignment", offset);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
@@ -635,20 +613,17 @@ static int em357_write(struct flash_bank *bank, uint8_t *buffer,
                return retval;
 
        /* multiple half words (2-byte) to be programmed? */
-       if (words_remaining > 0)
-       {
+       if (words_remaining > 0) {
                /* try using a block write */
-               if ((retval = em357_write_block(bank, buffer, offset, words_remaining)) != ERROR_OK)
-               {
-                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
-                       {
+               retval = em357_write_block(bank, buffer, offset, words_remaining);
+               if (retval != ERROR_OK) {
+                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
                                /* if block write failed (no sufficient working area),
                                 * we use normal (slow) single dword accesses */
-                               LOG_WARNING("couldn't use block writes, falling back to single memory accesses");
+                               LOG_WARNING(
+                                       "couldn't use block writes, falling back to single memory accesses");
                        }
-               }
-               else
-               {
+               } else {
                        buffer += words_remaining * 2;
                        address += words_remaining * 2;
                        words_remaining = 0;
@@ -658,8 +633,7 @@ static int em357_write(struct flash_bank *bank, uint8_t *buffer,
        if ((retval != ERROR_OK) && (retval != ERROR_TARGET_RESOURCE_NOT_AVAILABLE))
                return retval;
 
-       while (words_remaining > 0)
-       {
+       while (words_remaining > 0) {
                uint16_t value;
                memcpy(&value, buffer + bytes_written, sizeof(uint16_t));
 
@@ -679,8 +653,7 @@ static int em357_write(struct flash_bank *bank, uint8_t *buffer,
                address += 2;
        }
 
-       if (bytes_remaining)
-       {
+       if (bytes_remaining) {
                uint16_t value = 0xffff;
                memcpy(&value, buffer + bytes_written, bytes_remaining);
 
@@ -721,8 +694,7 @@ static int em357_probe(struct flash_bank *bank)
 
        LOG_INFO("flash size = %dkbytes", num_pages*page_size/1024);
 
-       if (bank->sectors)
-       {
+       if (bank->sectors) {
                free(bank->sectors);
                bank->sectors = NULL;
        }
@@ -732,8 +704,7 @@ static int em357_probe(struct flash_bank *bank)
        bank->num_sectors = num_pages;
        bank->sectors = malloc(sizeof(struct flash_sector) * num_pages);
 
-       for (i = 0; i < num_pages; i++)
-       {
+       for (i = 0; i < num_pages; i++) {
                bank->sectors[i].offset = i * page_size;
                bank->sectors[i].size = page_size;
                bank->sectors[i].is_erased = -1;
@@ -766,9 +737,7 @@ COMMAND_HANDLER(em357_handle_lock_command)
        struct em357_flash_bank *em357_info = NULL;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -779,14 +748,12 @@ COMMAND_HANDLER(em357_handle_lock_command)
 
        target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (em357_erase_options(bank) != ERROR_OK)
-       {
+       if (em357_erase_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "em357 failed to erase options");
                return ERROR_OK;
        }
@@ -794,8 +761,7 @@ COMMAND_HANDLER(em357_handle_lock_command)
        /* set readout protection */
        em357_info->option_bytes.RDP = 0;
 
-       if (em357_write_options(bank) != ERROR_OK)
-       {
+       if (em357_write_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "em357 failed to lock device");
                return ERROR_OK;
        }
@@ -810,9 +776,7 @@ COMMAND_HANDLER(em357_handle_unlock_command)
        struct target *target = NULL;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -821,27 +785,24 @@ COMMAND_HANDLER(em357_handle_unlock_command)
 
        target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (em357_erase_options(bank) != ERROR_OK)
-       {
+       if (em357_erase_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "em357 failed to unlock device");
                return ERROR_OK;
        }
 
-       if (em357_write_options(bank) != ERROR_OK)
-       {
+       if (em357_write_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "em357 failed to lock device");
                return ERROR_OK;
        }
 
        command_print(CMD_CTX, "em357 unlocked.\n"
-                       "INFO: a reset or power cycle is required "
-                       "for the new settings to take effect.");
+               "INFO: a reset or power cycle is required "
+               "for the new settings to take effect.");
 
        return ERROR_OK;
 }
@@ -850,8 +811,7 @@ static int em357_mass_erase(struct flash_bank *bank)
 {
        struct target *target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -888,9 +848,7 @@ COMMAND_HANDLER(em357_handle_mass_erase_command)
        int i;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -898,20 +856,14 @@ COMMAND_HANDLER(em357_handle_mass_erase_command)
                return retval;
 
        retval = em357_mass_erase(bank);
-       if (retval == ERROR_OK)
-       {
+       if (retval == ERROR_OK) {
                /* set all sectors as erased */
                for (i = 0; i < bank->num_sectors; i++)
-               {
                        bank->sectors[i].is_erased = 1;
-               }
 
                command_print(CMD_CTX, "em357 mass erase complete");
-       }
-       else
-       {
+       } else
                command_print(CMD_CTX, "em357 mass erase failed");
-       }
 
        return retval;
 }
index 75ea9d60f2cd2a0254b8c70339fe670eef5ba367..2da4dbe30249a021ed5499b0e4d7c192113d0c5c 100644 (file)
@@ -17,6 +17,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -25,9 +26,7 @@
 #include <target/image.h>
 #include "hello.h"
 
-
-struct faux_flash_bank
-{
+struct faux_flash_bank {
        struct target *target;
        uint8_t *memory;
        uint32_t start_address;
@@ -43,19 +42,15 @@ FLASH_BANK_COMMAND_HANDLER(faux_flash_bank_command)
        struct faux_flash_bank *info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        info = malloc(sizeof(struct faux_flash_bank));
-       if (info == NULL)
-       {
+       if (info == NULL) {
                LOG_ERROR("no memory for flash bank info");
                return ERROR_FAIL;
        }
        info->memory = malloc(bank->size);
-       if (info == NULL)
-       {
+       if (info == NULL) {
                free(info);
                LOG_ERROR("no memory for flash bank info");
                return ERROR_FAIL;
@@ -67,8 +62,7 @@ FLASH_BANK_COMMAND_HANDLER(faux_flash_bank_command)
        uint32_t offset = 0;
        bank->num_sectors = bank->size/sectorSize;
        bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                bank->sectors[i].offset = offset;
                bank->sectors[i].size = sectorSize;
                offset += bank->sectors[i].size;
@@ -77,8 +71,7 @@ FLASH_BANK_COMMAND_HANDLER(faux_flash_bank_command)
        }
 
        info->target = get_target(CMD_ARGV[5]);
-       if (info->target == NULL)
-       {
+       if (info->target == NULL) {
                LOG_ERROR("target '%s' not defined", CMD_ARGV[5]);
                free(info->memory);
                free(info);
@@ -96,7 +89,7 @@ static int faux_erase(struct flash_bank *bank, int first, int last)
 
 static int faux_protect(struct flash_bank *bank, int set, int first, int last)
 {
-       LOG_USER("set protection sector %d to %d to %s", first, last, set?"on":"off");
+       LOG_USER("set protection sector %d to %d to %s", first, last, set ? "on" : "off");
        return ERROR_OK;
 }
 
index 9f9695e75d4f27f9694a04b7180a53a81c7caefb..22772aaa02b038ec5174dd0e36e917af15c0573d 100644 (file)
@@ -31,8 +31,7 @@
 #define FLASH_DQ6 0x00000040   /* Data toggle flag bit (TOGG) position */
 #define FLASH_DQ5 0x00000020   /* Time limit exceeding flag bit (TLOV) position */
 
-enum fm3_variant
-{
+enum fm3_variant {
        mb9bfxx1,       /* Flash Type '1' */
        mb9bfxx2,
        mb9bfxx3,
@@ -47,15 +46,13 @@ enum fm3_variant
        mb9afxx6
 };
 
-enum fm3_flash_type
-{
+enum fm3_flash_type {
        fm3_no_flash_type = 0,
        fm3_flash_type1   = 1,
        fm3_flash_type2   = 2
 };
 
-struct fm3_flash_bank
-{
+struct fm3_flash_bank {
        struct working_area *write_algorithm;
        enum fm3_variant variant;
        enum fm3_flash_type flashtype;
index de1bc9e56ee845f1b2e5434b5cf80da95f6469ad..e8e8a6fbb8af6be24e70ea2a678f7f264c0ab4ab 100644 (file)
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifndef FLASH_NOR_IMP_H
 #define FLASH_NOR_IMP_H
 
-// this is an internal header
+/* this is an internal header */
 #include "core.h"
 #include "driver.h"
-// almost all drivers will need this file
+/* almost all drivers will need this file */
 #include <target/target.h>
 
 /**
@@ -47,4 +48,4 @@ int flash_driver_read(struct flash_bank *bank,
 int flash_write_unlock(struct target *target, struct image *image,
                uint32_t *written, int erase, bool unlock);
 
-#endif // FLASH_NOR_IMP_H
+#endif /* FLASH_NOR_IMP_H */
index 0cfbd7adaa033ac923f61ce2dea7474a667bf904..79953c0b4ca8034d4f5320c14d7499e3956ea433 100644 (file)
@@ -20,6 +20,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -32,12 +33,12 @@ struct kinetis_flash_bank {
 };
 
 static int kinetis_get_master_bank(struct flash_bank *bank,
-                                  struct flash_bank **master_bank)
+       struct flash_bank **master_bank)
 {
        *master_bank = get_flash_bank_by_name_noprobe(bank->name);
        if (*master_bank == NULL) {
                LOG_ERROR("master flash bank '%s' does not exist",
-                         (char *)bank->driver_priv);
+                       (char *)bank->driver_priv);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
@@ -51,9 +52,8 @@ static int kinetis_update_bank_info(struct flash_bank *bank)
 
        result = kinetis_get_master_bank(bank, &master_bank);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        /* update the info we do not have */
        bank->size = master_bank->size;
@@ -69,9 +69,8 @@ FLASH_BANK_COMMAND_HANDLER(kinetis_flash_bank_command)
 {
        struct kinetis_flash_bank *bank_info;
 
-       if (CMD_ARGC < 6) {
+       if (CMD_ARGC < 6)
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        LOG_INFO("add flash_bank kinetis %s", bank->name);
 
@@ -85,16 +84,15 @@ FLASH_BANK_COMMAND_HANDLER(kinetis_flash_bank_command)
 }
 
 static int kinetis_protect(struct flash_bank *bank, int set, int first,
-                          int last)
+       int last)
 {
        int result;
        struct flash_bank *master_bank;
 
        result = kinetis_get_master_bank(bank, &master_bank);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        LOG_WARNING("kinetis_protect not supported yet");
 
@@ -121,16 +119,14 @@ static int kinetis_protect_check(struct flash_bank *bank)
 
        result = kinetis_get_master_bank(bank, &master_bank);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        /* read protection register FTFL_FPROT */
        result = target_read_memory(bank->target, 0x40020010, 1, 4, buffer);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        fprot = target_buffer_get_u32(bank->target, buffer);
 
@@ -157,7 +153,7 @@ static int kinetis_protect_check(struct flash_bank *bank)
 }
 
 static int kinetis_ftfl_command(struct flash_bank *bank, uint32_t w0,
-                               uint32_t w1, uint32_t w2)
+       uint32_t w1, uint32_t w2)
 {
        uint8_t buffer[12];
        int result, i;
@@ -165,11 +161,10 @@ static int kinetis_ftfl_command(struct flash_bank *bank, uint32_t w0,
        /* wait for done */
        for (i = 0; i < 50; i++) {
                result =
-                   target_read_memory(bank->target, 0x40020000, 1, 1, buffer);
+                       target_read_memory(bank->target, 0x40020000, 1, 1, buffer);
 
-               if (result != ERROR_OK) {
+               if (result != ERROR_OK)
                        return result;
-               }
 
                if (buffer[0] & 0x80)
                        break;
@@ -181,10 +176,9 @@ static int kinetis_ftfl_command(struct flash_bank *bank, uint32_t w0,
                /* reset error flags */
                buffer[0] = 0x30;
                result =
-                   target_write_memory(bank->target, 0x40020000, 1, 1, buffer);
-               if (result != ERROR_OK) {
+                       target_write_memory(bank->target, 0x40020000, 1, 1, buffer);
+               if (result != ERROR_OK)
                        return result;
-               }
        }
 
        target_buffer_set_u32(bank->target, buffer, w0);
@@ -193,25 +187,22 @@ static int kinetis_ftfl_command(struct flash_bank *bank, uint32_t w0,
 
        result = target_write_memory(bank->target, 0x40020004, 4, 3, buffer);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        /* start command */
        buffer[0] = 0x80;
        result = target_write_memory(bank->target, 0x40020000, 1, 1, buffer);
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        /* wait for done */
        for (i = 0; i < 50; i++) {
                result =
-                   target_read_memory(bank->target, 0x40020000, 1, 1, buffer);
+                       target_read_memory(bank->target, 0x40020000, 1, 1, buffer);
 
-               if (result != ERROR_OK) {
+               if (result != ERROR_OK)
                        return result;
-               }
 
                if (buffer[0] & 0x80)
                        break;
@@ -221,8 +212,8 @@ static int kinetis_ftfl_command(struct flash_bank *bank, uint32_t w0,
 
        if (buffer[0] != 0x80) {
                LOG_ERROR
-                   ("ftfl command failed FSTAT: %02X W0: %08X W1: %08X W2: %08X",
-                    buffer[0], w0, w1, w2);
+                       ("ftfl command failed FSTAT: %02X W0: %08X W1: %08X W2: %08X",
+                       buffer[0], w0, w1, w2);
 
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -243,13 +234,11 @@ static int kinetis_erase(struct flash_bank *bank, int first, int last)
 
        result = kinetis_get_master_bank(bank, &master_bank);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
-       if ((first > bank->num_sectors) || (last > bank->num_sectors)) {
+       if ((first > bank->num_sectors) || (last > bank->num_sectors))
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        for (i = first; i <= last; i++) {
                /* set command and sector address */
@@ -267,20 +256,20 @@ static int kinetis_erase(struct flash_bank *bank, int first, int last)
 
        if (first == 0) {
                LOG_WARNING
-                   ("flash configuration field erased, please reset the device");
+                       ("flash configuration field erased, please reset the device");
        }
 
        return ERROR_OK;
 }
 
-static int kinetis_write(struct flash_bank *bank, uint8_t * buffer,
-                        uint32_t offset, uint32_t count)
+static int kinetis_write(struct flash_bank *bank, uint8_t *buffer,
+       uint32_t offset, uint32_t count)
 {
        struct flash_bank *master_bank;
        unsigned int i, result, fallback = 0, nvm = 0;
        uint8_t buf[8];
        uint32_t wc, w0 = 0, w1 = 0, w2 = 0;
-       struct kinetis_flash_bank * kbank = (struct kinetis_flash_bank *)
+       struct kinetis_flash_bank *kbank = (struct kinetis_flash_bank *)
                bank->driver_priv;
 
        if (bank->target->state != TARGET_HALTED) {
@@ -290,9 +279,8 @@ static int kinetis_write(struct flash_bank *bank, uint8_t * buffer,
 
        result = kinetis_get_master_bank(bank, &master_bank);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        if (offset >= kbank->nvm_start)
                nvm = 1;
@@ -327,8 +315,8 @@ static int kinetis_write(struct flash_bank *bank, uint8_t * buffer,
                        /* fallback to longword write */
                        fallback = 1;
 
-                      LOG_WARNING("ram not ready, fallback to slow longword write (FCNFG: %02X)",
-                                  buf[0]);
+                       LOG_WARNING("ram not ready, fallback to slow longword write (FCNFG: %02X)",
+                               buf[0]);
                }
        } else {
                LOG_DEBUG("flash write into PFLASH @08%X", offset);
@@ -347,12 +335,12 @@ static int kinetis_write(struct flash_bank *bank, uint8_t * buffer,
                        }
 
                        LOG_DEBUG("write section @ %08X with length %d",
-                                 offset + i, wc * 4);
+                               offset + i, wc * 4);
 
                        /* write data to flexram */
                        result =
-                           target_write_memory(bank->target, 0x14000000, 4, wc,
-                                               buffer + i);
+                               target_write_memory(bank->target, 0x14000000, 4, wc,
+                                       buffer + i);
 
                        if (result != ERROR_OK) {
                                LOG_ERROR("target_write_memory failed");
@@ -366,9 +354,8 @@ static int kinetis_write(struct flash_bank *bank, uint8_t * buffer,
 
                        result = kinetis_ftfl_command(bank, w0, w1, w2);
 
-                       if (result != ERROR_OK) {
+                       if (result != ERROR_OK)
                                return ERROR_FLASH_OPERATION_FAILED;
-                       }
                }
        }
        /* program longword command */
@@ -381,9 +368,8 @@ static int kinetis_write(struct flash_bank *bank, uint8_t * buffer,
 
                        result = kinetis_ftfl_command(bank, w0, w1, w2);
 
-                       if (result != ERROR_OK) {
+                       if (result != ERROR_OK)
                                return ERROR_FLASH_OPERATION_FAILED;
-                       }
                }
        }
 
@@ -405,97 +391,93 @@ static int kinetis_probe(struct flash_bank *bank)
 
        result = kinetis_get_master_bank(bank, &master_bank);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        result = target_read_memory(bank->target, 0x40048024, 1, 4, buf);
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
        sim_sdid = target_buffer_get_u32(bank->target, buf);
        result = target_read_memory(bank->target, 0x4004804c, 1, 4, buf);
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
        sim_fcfg1 = target_buffer_get_u32(bank->target, buf);
        result = target_read_memory(bank->target, 0x40048050, 1, 4, buf);
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
        sim_fcfg2 = target_buffer_get_u32(bank->target, buf);
 
        LOG_DEBUG("SDID: %08X FCFG1: %08X FCFG2: %08X", sim_sdid, sim_fcfg1,
-                 sim_fcfg2);
+               sim_fcfg2);
 
        switch ((sim_fcfg1 >> 28) & 0x0f) {
-       case 0x07:
-               nvm_size = 128 * 1024;
-               break;
-       case 0x09:
-       case 0x0f:
-               nvm_size = 256 * 1024;
-               break;
-       default:
-               nvm_size = 0;
-               break;
+               case 0x07:
+                       nvm_size = 128 * 1024;
+                       break;
+               case 0x09:
+               case 0x0f:
+                       nvm_size = 256 * 1024;
+                       break;
+               default:
+                       nvm_size = 0;
+                       break;
        }
 
        switch ((sim_fcfg1 >> 24) & 0x0f) {
-       case 0x07:
-               pf_size = 128 * 1024;
-               break;
-       case 0x09:
-               pf_size = 256 * 1024;
-               break;
-       case 0x0b:
-       case 0x0f:
-               pf_size = 512 * 1024;
-               break;
-       default:
-               pf_size = 0;
-               break;
+               case 0x07:
+                       pf_size = 128 * 1024;
+                       break;
+               case 0x09:
+                       pf_size = 256 * 1024;
+                       break;
+               case 0x0b:
+               case 0x0f:
+                       pf_size = 512 * 1024;
+                       break;
+               default:
+                       pf_size = 0;
+                       break;
        }
 
        switch ((sim_fcfg1 >> 16) & 0x0f) {
-       case 0x02:
-               ee_size = 4 * 1024;
-               break;
-       case 0x03:
-               ee_size = 2 * 1024;
-               break;
-       case 0x04:
-               ee_size = 1 * 1024;
-               break;
-       case 0x05:
-               ee_size = 512;
-               break;
-       case 0x06:
-               ee_size = 256;
-               break;
-       case 0x07:
-               ee_size = 128;
-               break;
-       case 0x08:
-               ee_size = 64;
-               break;
-       case 0x09:
-               ee_size = 32;
-               break;
-       default:
-               ee_size = 0;
-               break;
+               case 0x02:
+                       ee_size = 4 * 1024;
+                       break;
+               case 0x03:
+                       ee_size = 2 * 1024;
+                       break;
+               case 0x04:
+                       ee_size = 1 * 1024;
+                       break;
+               case 0x05:
+                       ee_size = 512;
+                       break;
+               case 0x06:
+                       ee_size = 256;
+                       break;
+               case 0x07:
+                       ee_size = 128;
+                       break;
+               case 0x08:
+                       ee_size = 64;
+                       break;
+               case 0x09:
+                       ee_size = 32;
+                       break;
+               default:
+                       ee_size = 0;
+                       break;
        }
 
        ((struct kinetis_flash_bank *) bank->driver_priv)->nvm_start =
                pf_size - nvm_size;
 
        LOG_DEBUG("NVM: %d PF: %d EE: %d BL1: %d", nvm_size, pf_size, ee_size,
-                 (sim_fcfg2 >> 23) & 1);
+               (sim_fcfg2 >> 23) & 1);
 
        if (pf_size != bank->size) {
                LOG_WARNING("flash size is different %d != %d", pf_size,
-                           bank->size);
+                       bank->size);
        }
 
        bank->num_sectors = bank->size / (2 * 1024);
@@ -526,13 +508,12 @@ static int kinetis_info(struct flash_bank *bank, char *buf, int buf_size)
 
        result = kinetis_get_master_bank(bank, &master_bank);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        snprintf(buf, buf_size,
-                "%s driver for flash bank %s at 0x%8.8" PRIx32 "",
-                bank->driver->name, master_bank->name, master_bank->base);
+               "%s driver for flash bank %s at 0x%8.8" PRIx32 "",
+               bank->driver->name, master_bank->name, master_bank->base);
 
        return ERROR_OK;
 }
@@ -551,15 +532,14 @@ static int kinetis_blank_check(struct flash_bank *bank)
 
        result = kinetis_get_master_bank(bank, &master_bank);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        return ERROR_OK;
 }
 
 static int kinetis_flash_read(struct flash_bank *bank,
-                             uint8_t * buffer, uint32_t offset, uint32_t count)
+       uint8_t *buffer, uint32_t offset, uint32_t count)
 {
        int result;
        struct flash_bank *master_bank;
@@ -573,9 +553,8 @@ static int kinetis_flash_read(struct flash_bank *bank,
 
        result = kinetis_get_master_bank(bank, &master_bank);
 
-       if (result != ERROR_OK) {
+       if (result != ERROR_OK)
                return result;
-       }
 
        return ERROR_OK;
 }
index b9b04fef9aba7f456c9f703b3100f5e0369ead87..04b5bfd1dc73cbf12c4561bd09fbc0a40dd0b539 100644 (file)
  * - 176x (tested with LPC1768)
  */
 
-typedef enum
-{
+typedef enum {
        lpc2000_v1,
        lpc2000_v2,
        lpc1700
 } lpc2000_variant;
 
-struct lpc2000_flash_bank
-{
+struct lpc2000_flash_bank {
        lpc2000_variant variant;
        struct working_area *iap_working_area;
        uint32_t cclk;
@@ -81,8 +79,7 @@ struct lpc2000_flash_bank
        int checksum_vector;
 };
 
-enum lpc2000_status_codes
-{
+enum lpc2000_status_codes {
        LPC2000_CMD_SUCCESS = 0,
        LPC2000_INVALID_COMMAND = 1,
        LPC2000_SRC_ADDR_ERROR = 2,
@@ -114,63 +111,50 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
        /* default to a 4096 write buffer */
        lpc2000_info->cmd51_max_buffer = 4096;
 
-       if (lpc2000_info->variant == lpc2000_v1)
-       {
+       if (lpc2000_info->variant == lpc2000_v1) {
                /* variant 1 has different layout for 128kb and 256kb flashes */
-               if (bank->size == 128 * 1024)
-               {
+               if (bank->size == 128 * 1024) {
                        bank->num_sectors = 16;
                        bank->sectors = malloc(sizeof(struct flash_sector) * 16);
-                       for (i = 0; i < 16; i++)
-                       {
+                       for (i = 0; i < 16; i++) {
                                bank->sectors[i].offset = offset;
                                bank->sectors[i].size = 8 * 1024;
                                offset += bank->sectors[i].size;
                                bank->sectors[i].is_erased = -1;
                                bank->sectors[i].is_protected = 1;
                        }
-               }
-               else if (bank->size == 256 * 1024)
-               {
+               } else if (bank->size == 256 * 1024) {
                        bank->num_sectors = 18;
                        bank->sectors = malloc(sizeof(struct flash_sector) * 18);
 
-                       for (i = 0; i < 8; i++)
-                       {
+                       for (i = 0; i < 8; i++) {
                                bank->sectors[i].offset = offset;
                                bank->sectors[i].size = 8 * 1024;
                                offset += bank->sectors[i].size;
                                bank->sectors[i].is_erased = -1;
                                bank->sectors[i].is_protected = 1;
                        }
-                       for (i = 8; i < 10; i++)
-                       {
+                       for (i = 8; i < 10; i++) {
                                bank->sectors[i].offset = offset;
                                bank->sectors[i].size = 64 * 1024;
                                offset += bank->sectors[i].size;
                                bank->sectors[i].is_erased = -1;
                                bank->sectors[i].is_protected = 1;
                        }
-                       for (i = 10; i < 18; i++)
-                       {
+                       for (i = 10; i < 18; i++) {
                                bank->sectors[i].offset = offset;
                                bank->sectors[i].size = 8 * 1024;
                                offset += bank->sectors[i].size;
                                bank->sectors[i].is_erased = -1;
                                bank->sectors[i].is_protected = 1;
                        }
-               }
-               else
-               {
+               } else {
                        LOG_ERROR("BUG: unknown bank->size encountered");
                        exit(-1);
                }
-       }
-       else if (lpc2000_info->variant == lpc2000_v2)
-       {
+       } else if (lpc2000_info->variant == lpc2000_v2) {
                /* variant 2 has a uniform layout, only number of sectors differs */
-               switch (bank->size)
-               {
+               switch (bank->size) {
                        case 4 * 1024:
                                lpc2000_info->cmd51_max_buffer = 1024;
                                bank->num_sectors = 1;
@@ -209,26 +193,20 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
 
                bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
 
-               for (i = 0; i < bank->num_sectors; i++)
-               {
-                       if (i < 8)
-                       {
+               for (i = 0; i < bank->num_sectors; i++) {
+                       if (i < 8) {
                                bank->sectors[i].offset = offset;
                                bank->sectors[i].size = 4 * 1024;
                                offset += bank->sectors[i].size;
                                bank->sectors[i].is_erased = -1;
                                bank->sectors[i].is_protected = 1;
-                       }
-                       else if (i < 22)
-                       {
+                       } else if (i < 22) {
                                bank->sectors[i].offset = offset;
                                bank->sectors[i].size = 32 * 1024;
                                offset += bank->sectors[i].size;
                                bank->sectors[i].is_erased = -1;
                                bank->sectors[i].is_protected = 1;
-                       }
-                       else if (i < 28)
-                       {
+                       } else if (i < 28) {
                                bank->sectors[i].offset = offset;
                                bank->sectors[i].size = 4 * 1024;
                                offset += bank->sectors[i].size;
@@ -236,11 +214,8 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
                                bank->sectors[i].is_protected = 1;
                        }
                }
-       }
-       else if (lpc2000_info->variant == lpc1700)
-       {
-               switch(bank->size)
-               {
+       } else if (lpc2000_info->variant == lpc1700) {
+               switch (bank->size) {
                        case 32 * 1024:
                                bank->num_sectors = 8;
                                break;
@@ -249,7 +224,7 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
                                break;
                        case 128 * 1024:
                                bank->num_sectors = 18;
-                               break;
+                       break;
                        case 256 * 1024:
                                bank->num_sectors = 22;
                                break;
@@ -263,18 +238,16 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
 
                bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
 
-               for(i = 0; i < bank->num_sectors; i++)
-               {
+               for (i = 0; i < bank->num_sectors; i++) {
                        bank->sectors[i].offset = offset;
-                       /* sectors 0-15 are 4kB-sized, 16 and above are 32kB-sized for LPC17xx devices */
-                       bank->sectors[i].size = (i < 16)? 4 * 1024 : 32 * 1024;
+                       /* sectors 0-15 are 4kB-sized, 16 and above are 32kB-sized for LPC17xx
+                        *devices */
+                       bank->sectors[i].size = (i < 16) ? 4 * 1024 : 32 * 1024;
                        offset += bank->sectors[i].size;
                        bank->sectors[i].is_erased = -1;
                        bank->sectors[i].is_protected = 1;
                }
-       }
-       else
-       {
+       } else {
                LOG_ERROR("BUG: unknown lpc2000_info->variant encountered");
                exit(-1);
        }
@@ -289,38 +262,37 @@ static int lpc2000_build_sector_list(struct flash_bank *bank)
  * 0x20 to 0x33: command result table (1+4 words)
  * 0x34 to 0xb3: stack (only 128b needed)
  */
-static int lpc2000_iap_call(struct flash_bank *bank, int code, uint32_t param_table[5], uint32_t result_table[4])
+static int lpc2000_iap_call(struct flash_bank *bank,
+       int code,
+       uint32_t param_table[5],
+       uint32_t result_table[4])
 {
        int retval;
        struct lpc2000_flash_bank *lpc2000_info = bank->driver_priv;
        struct target *target = bank->target;
        struct mem_param mem_params[2];
        struct reg_param reg_params[5];
-       struct arm_algorithm armv4_5_info; /* for LPC2000 */
-       struct armv7m_algorithm armv7m_info;   /* for LPC1700 */
-       uint32_t status_code;
-       uint32_t iap_entry_point = 0; /* to make compiler happier */
+       struct arm_algorithm armv4_5_info;      /* for LPC2000 */
+       struct armv7m_algorithm armv7m_info;    /* for LPC1700 */
+       uint32_t status_code;
+       uint32_t iap_entry_point = 0;   /* to make compiler happier */
 
        /* regrab previously allocated working_area, or allocate a new one */
-       if (!lpc2000_info->iap_working_area)
-       {
+       if (!lpc2000_info->iap_working_area) {
                uint8_t jump_gate[8];
 
                /* make sure we have a working area */
-               if (target_alloc_working_area(target, 180, &lpc2000_info->iap_working_area) != ERROR_OK)
-               {
+               if (target_alloc_working_area(target, 180,
+                               &lpc2000_info->iap_working_area) != ERROR_OK) {
                        LOG_ERROR("no working area specified, can't write LPC2000 internal flash");
                        return ERROR_FLASH_OPERATION_FAILED;
                }
 
                /* write IAP code to working area */
-               switch(lpc2000_info->variant)
-               {
+               switch (lpc2000_info->variant) {
                        case lpc1700:
-                               target_buffer_set_u32(target, jump_gate,
-                                               ARMV4_5_T_BX(12));
-                               target_buffer_set_u32(target, jump_gate + 4,
-                                               ARMV5_T_BKPT(0));
+                               target_buffer_set_u32(target, jump_gate, ARMV4_5_T_BX(12));
+                               target_buffer_set_u32(target, jump_gate + 4, ARMV5_T_BKPT(0));
                                break;
                        case lpc2000_v1:
                        case lpc2000_v2:
@@ -332,15 +304,17 @@ static int lpc2000_iap_call(struct flash_bank *bank, int code, uint32_t param_ta
                                exit(-1);
                }
 
-               if ((retval = target_write_memory(target, lpc2000_info->iap_working_area->address, 4, 2, jump_gate)) != ERROR_OK)
-               {
-                       LOG_ERROR("Write memory at address 0x%8.8" PRIx32 " failed (check work_area definition)", lpc2000_info->iap_working_area->address);
+               retval = target_write_memory(target,
+                               lpc2000_info->iap_working_area->address, 4, 2, jump_gate);
+               if (retval != ERROR_OK) {
+                       LOG_ERROR(
+                               "Write memory at address 0x%8.8" PRIx32 " failed (check work_area definition)",
+                               lpc2000_info->iap_working_area->address);
                        return retval;
                }
        }
 
-       switch(lpc2000_info->variant)
-       {
+       switch (lpc2000_info->variant) {
                case lpc1700:
                        armv7m_info.common_magic = ARMV7M_COMMON_MAGIC;
                        armv7m_info.core_mode = ARMV7M_MODE_ANY;
@@ -359,7 +333,8 @@ static int lpc2000_iap_call(struct flash_bank *bank, int code, uint32_t param_ta
        }
 
        /* command parameter table */
-       init_mem_param(&mem_params[0], lpc2000_info->iap_working_area->address + 8, 6 * 4, PARAM_OUT);
+       init_mem_param(&mem_params[0], lpc2000_info->iap_working_area->address + 8, 6 * 4,
+               PARAM_OUT);
        target_buffer_set_u32(target, mem_params[0].value, code);
        target_buffer_set_u32(target, mem_params[0].value + 0x04, param_table[0]);
        target_buffer_set_u32(target, mem_params[0].value + 0x08, param_table[1]);
@@ -371,7 +346,10 @@ static int lpc2000_iap_call(struct flash_bank *bank, int code, uint32_t param_ta
        buf_set_u32(reg_params[0].value, 0, 32, lpc2000_info->iap_working_area->address + 0x08);
 
        /* command result table */
-       init_mem_param(&mem_params[1], lpc2000_info->iap_working_area->address + 0x20, 5 * 4, PARAM_IN);
+       init_mem_param(&mem_params[1],
+               lpc2000_info->iap_working_area->address + 0x20,
+               5 * 4,
+               PARAM_IN);
 
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);
        buf_set_u32(reg_params[1].value, 0, 32, lpc2000_info->iap_working_area->address + 0x20);
@@ -380,44 +358,55 @@ static int lpc2000_iap_call(struct flash_bank *bank, int code, uint32_t param_ta
        init_reg_param(&reg_params[2], "r12", 32, PARAM_OUT);
        buf_set_u32(reg_params[2].value, 0, 32, iap_entry_point);
 
-       switch(lpc2000_info->variant)
-       {
+       switch (lpc2000_info->variant) {
                case lpc1700:
                        /* IAP stack */
                        init_reg_param(&reg_params[3], "sp", 32, PARAM_OUT);
-                       buf_set_u32(reg_params[3].value, 0, 32, lpc2000_info->iap_working_area->address + 0xb4);
+                       buf_set_u32(reg_params[3].value, 0, 32,
+                                       lpc2000_info->iap_working_area->address + 0xb4);
 
                        /* return address */
                        init_reg_param(&reg_params[4], "lr", 32, PARAM_OUT);
-                       buf_set_u32(reg_params[4].value, 0, 32, (lpc2000_info->iap_working_area->address + 0x04) | 1); /* bit0 of LR = 1 to return in Thumb mode */
+                       buf_set_u32(reg_params[4].value, 0, 32,
+                                       (lpc2000_info->iap_working_area->address + 0x04) | 1);
+                       /* bit0 of LR = 1 to return in Thumb mode */
 
-                       target_run_algorithm(target, 2, mem_params, 5, reg_params, lpc2000_info->iap_working_area->address, 0, 10000, &armv7m_info);
+                       target_run_algorithm(target, 2, mem_params, 5, reg_params,
+                                       lpc2000_info->iap_working_area->address, 0, 10000, &armv7m_info);
                        break;
                case lpc2000_v1:
                case lpc2000_v2:
                        /* IAP stack */
                        init_reg_param(&reg_params[3], "sp_svc", 32, PARAM_OUT);
-                       buf_set_u32(reg_params[3].value, 0, 32, lpc2000_info->iap_working_area->address + 0xb4);
+                       buf_set_u32(reg_params[3].value, 0, 32,
+                                       lpc2000_info->iap_working_area->address + 0xb4);
 
                        /* return address */
                        init_reg_param(&reg_params[4], "lr_svc", 32, PARAM_OUT);
-                       buf_set_u32(reg_params[4].value, 0, 32, lpc2000_info->iap_working_area->address + 0x04);
+                       buf_set_u32(reg_params[4].value, 0, 32,
+                                       lpc2000_info->iap_working_area->address + 0x04);
 
-                       target_run_algorithm(target, 2, mem_params, 5, reg_params, lpc2000_info->iap_working_area->address, lpc2000_info->iap_working_area->address + 0x4, 10000, &armv4_5_info);
+                       target_run_algorithm(target, 2, mem_params, 5, reg_params,
+                                       lpc2000_info->iap_working_area->address,
+                                       lpc2000_info->iap_working_area->address + 0x4,
+                                       10000, &armv4_5_info);
                        break;
                default:
                        LOG_ERROR("BUG: unknown lpc2000->variant encountered");
                        exit(-1);
        }
 
-       status_code     = target_buffer_get_u32(target, mem_params[1].value);
+       status_code = target_buffer_get_u32(target, mem_params[1].value);
        result_table[0] = target_buffer_get_u32(target, mem_params[1].value + 0x04);
        result_table[1] = target_buffer_get_u32(target, mem_params[1].value + 0x08);
        result_table[2] = target_buffer_get_u32(target, mem_params[1].value + 0x0c);
        result_table[3] = target_buffer_get_u32(target, mem_params[1].value + 0x10);
 
-       LOG_DEBUG("IAP command = %i (0x%8.8" PRIx32", 0x%8.8" PRIx32", 0x%8.8" PRIx32", 0x%8.8" PRIx32", 0x%8.8" PRIx32") completed with result = %8.8" PRIx32,
-                         code, param_table[0], param_table[1], param_table[2], param_table[3], param_table[4], status_code);
+       LOG_DEBUG("IAP command = %i (0x%8.8" PRIx32 ", 0x%8.8" PRIx32
+                       ", 0x%8.8" PRIx32 ", 0x%8.8" PRIx32 ", 0x%8.8"
+                       PRIx32 ") completed with result = %8.8" PRIx32,
+                       code, param_table[0], param_table[1], param_table[2],
+                       param_table[3], param_table[4], status_code);
 
        destroy_mem_param(&mem_params[0]);
        destroy_mem_param(&mem_params[1]);
@@ -441,14 +430,12 @@ static int lpc2000_iap_blank_check(struct flash_bank *bank, int first, int last)
        if ((first < 0) || (last >= bank->num_sectors))
                return ERROR_FLASH_SECTOR_INVALID;
 
-       for (i = first; i <= last; i++)
-       {
+       for (i = first; i <= last; i++) {
                /* check single sector */
                param_table[0] = param_table[1] = i;
                status_code = lpc2000_iap_call(bank, 53, param_table, result_table);
 
-               switch (status_code)
-               {
+               switch (status_code) {
                        case ERROR_FLASH_OPERATION_FAILED:
                                return ERROR_FLASH_OPERATION_FAILED;
                        case LPC2000_CMD_SUCCESS:
@@ -480,39 +467,30 @@ FLASH_BANK_COMMAND_HANDLER(lpc2000_flash_bank_command)
        struct lpc2000_flash_bank *lpc2000_info;
 
        if (CMD_ARGC < 8)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        lpc2000_info = malloc(sizeof(struct lpc2000_flash_bank));
        bank->driver_priv = lpc2000_info;
 
-       if (strcmp(CMD_ARGV[6], "lpc2000_v1") == 0)
-       {
+       if (strcmp(CMD_ARGV[6], "lpc2000_v1") == 0) {
                lpc2000_info->variant = lpc2000_v1;
                lpc2000_info->cmd51_dst_boundary = 512;
                lpc2000_info->cmd51_can_256b = 0;
                lpc2000_info->cmd51_can_8192b = 1;
                lpc2000_info->checksum_vector = 5;
-       }
-       else if (strcmp(CMD_ARGV[6], "lpc2000_v2") == 0)
-       {
+       } else if (strcmp(CMD_ARGV[6], "lpc2000_v2") == 0) {
                lpc2000_info->variant = lpc2000_v2;
                lpc2000_info->cmd51_dst_boundary = 256;
                lpc2000_info->cmd51_can_256b = 1;
                lpc2000_info->cmd51_can_8192b = 0;
                lpc2000_info->checksum_vector = 5;
-       }
-       else if (strcmp(CMD_ARGV[6], "lpc1700") == 0)
-       {
+       } else if (strcmp(CMD_ARGV[6], "lpc1700") == 0) {
                lpc2000_info->variant = lpc1700;
                lpc2000_info->cmd51_dst_boundary = 256;
                lpc2000_info->cmd51_can_256b = 1;
                lpc2000_info->cmd51_can_8192b = 0;
                lpc2000_info->checksum_vector = 7;
-       }
-       else
-       {
+       } else {
                LOG_ERROR("unknown LPC2000 variant: %s", CMD_ARGV[6]);
                free(lpc2000_info);
                return ERROR_FLASH_BANK_INVALID;
@@ -523,8 +501,7 @@ FLASH_BANK_COMMAND_HANDLER(lpc2000_flash_bank_command)
        lpc2000_info->calc_checksum = 0;
        lpc2000_build_sector_list(bank);
 
-       if (CMD_ARGC >= 9)
-       {
+       if (CMD_ARGC >= 9) {
                if (strcmp(CMD_ARGV[8], "calc_checksum") == 0)
                        lpc2000_info->calc_checksum = 1;
        }
@@ -539,8 +516,7 @@ static int lpc2000_erase(struct flash_bank *bank, int first, int last)
        uint32_t result_table[4];
        int status_code;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -551,8 +527,7 @@ static int lpc2000_erase(struct flash_bank *bank, int first, int last)
 
        /* Prepare sectors */
        status_code = lpc2000_iap_call(bank, 50, param_table, result_table);
-       switch (status_code)
-       {
+       switch (status_code) {
                case ERROR_FLASH_OPERATION_FAILED:
                        return ERROR_FLASH_OPERATION_FAILED;
                case LPC2000_CMD_SUCCESS:
@@ -567,8 +542,7 @@ static int lpc2000_erase(struct flash_bank *bank, int first, int last)
 
        /* Erase sectors */
        status_code = lpc2000_iap_call(bank, 52, param_table, result_table);
-       switch (status_code)
-       {
+       switch (status_code) {
                case ERROR_FLASH_OPERATION_FAILED:
                        return ERROR_FLASH_OPERATION_FAILED;
                case LPC2000_CMD_SUCCESS:
@@ -606,8 +580,7 @@ static int lpc2000_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
        struct working_area *download_area;
        int retval = ERROR_OK;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -617,55 +590,56 @@ static int lpc2000_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
 
        dst_min_alignment = lpc2000_info->cmd51_dst_boundary;
 
-       if (offset % dst_min_alignment)
-       {
-               LOG_WARNING("offset 0x%" PRIx32 " breaks required alignment 0x%" PRIx32, offset, dst_min_alignment);
+       if (offset % dst_min_alignment) {
+               LOG_WARNING("offset 0x%" PRIx32 " breaks required alignment 0x%" PRIx32,
+                       offset,
+                       dst_min_alignment);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                if (offset >= bank->sectors[i].offset)
                        first_sector = i;
-               if (offset + DIV_ROUND_UP(count, dst_min_alignment) * dst_min_alignment > bank->sectors[i].offset)
+               if (offset + DIV_ROUND_UP(count, dst_min_alignment)
+                               * dst_min_alignment > bank->sectors[i].offset)
                        last_sector = i;
        }
 
        LOG_DEBUG("first_sector: %i, last_sector: %i", first_sector, last_sector);
 
        /* check if exception vectors should be flashed */
-       if ((offset == 0) && (count >= 0x20) && lpc2000_info->calc_checksum)
-       {
+       if ((offset == 0) && (count >= 0x20) && lpc2000_info->calc_checksum) {
                uint32_t checksum = 0;
-               for (i = 0; i < 8; i++)
-               {
-                       LOG_DEBUG("Vector 0x%2.2x: 0x%8.8" PRIx32, i * 4, buf_get_u32(buffer + (i * 4), 0, 32));
+               for (i = 0; i < 8; i++) {
+                       LOG_DEBUG("Vector 0x%2.2x: 0x%8.8" PRIx32, i * 4,
+                               buf_get_u32(buffer + (i * 4), 0, 32));
                        if (i != lpc2000_info->checksum_vector)
                                checksum += buf_get_u32(buffer + (i * 4), 0, 32);
                }
                checksum = 0 - checksum;
                LOG_DEBUG("checksum: 0x%8.8" PRIx32, checksum);
 
-               uint32_t original_value = buf_get_u32(buffer + (lpc2000_info->checksum_vector * 4), 0, 32);
-               if (original_value != checksum)
-               {
-                       LOG_WARNING("Verification will fail since checksum in image (0x%8.8" PRIx32 ") to be written to flash is different from calculated vector checksum (0x%8.8" PRIx32 ").",
-                                       original_value, checksum);
-                       LOG_WARNING("To remove this warning modify build tools on developer PC to inject correct LPC vector checksum.");
+               uint32_t original_value = buf_get_u32(buffer +
+                               (lpc2000_info->checksum_vector * 4), 0, 32);
+               if (original_value != checksum) {
+                       LOG_WARNING("Verification will fail since checksum in image (0x%8.8" PRIx32 ") "
+                                       "to be written to flash is different from calculated vector "
+                                       "checksum (0x%8.8" PRIx32 ").", original_value, checksum);
+                       LOG_WARNING("To remove this warning modify build tools on developer PC "
+                                       "to inject correct LPC vector checksum.");
                }
 
                buf_set_u32(buffer + (lpc2000_info->checksum_vector * 4), 0, 32, checksum);
        }
 
        /* allocate a working area */
-       if (target_alloc_working_area(target, lpc2000_info->cmd51_max_buffer, &download_area) != ERROR_OK)
-       {
+       if (target_alloc_working_area(target, lpc2000_info->cmd51_max_buffer,
+                       &download_area) != ERROR_OK) {
                LOG_ERROR("no working area specified, can't write LPC2000 internal flash");
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
-       while (bytes_remaining > 0)
-       {
+       while (bytes_remaining > 0) {
                uint32_t thisrun_bytes;
                if (bytes_remaining >= lpc2000_info->cmd51_max_buffer)
                        thisrun_bytes = lpc2000_info->cmd51_max_buffer;
@@ -680,8 +654,7 @@ static int lpc2000_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
                param_table[0] = first_sector;
                param_table[1] = last_sector;
                status_code = lpc2000_iap_call(bank, 50, param_table, result_table);
-               switch (status_code)
-               {
+               switch (status_code) {
                        case ERROR_FLASH_OPERATION_FAILED:
                                retval = ERROR_FLASH_OPERATION_FAILED;
                                break;
@@ -700,24 +673,28 @@ static int lpc2000_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
                if (retval != ERROR_OK)
                        break;
 
-               if (bytes_remaining >= thisrun_bytes)
-               {
-                       if ((retval = target_write_buffer(bank->target, download_area->address, thisrun_bytes, buffer + bytes_written)) != ERROR_OK)
-                       {
+               if (bytes_remaining >= thisrun_bytes) {
+                       retval = target_write_buffer(bank->target, download_area->address,
+                                       thisrun_bytes, buffer + bytes_written);
+                       if (retval != ERROR_OK) {
                                retval = ERROR_FLASH_OPERATION_FAILED;
                                break;
                        }
-               }
-               else
-               {
+               } else {
                        uint8_t *last_buffer = malloc(thisrun_bytes);
                        memcpy(last_buffer, buffer + bytes_written, bytes_remaining);
-                       memset(last_buffer + bytes_remaining, 0xff, thisrun_bytes - bytes_remaining);
-                       target_write_buffer(bank->target, download_area->address, thisrun_bytes, last_buffer);
+                       memset(last_buffer + bytes_remaining, 0xff, thisrun_bytes -
+                               bytes_remaining);
+                       target_write_buffer(bank->target,
+                               download_area->address,
+                               thisrun_bytes,
+                               last_buffer);
                        free(last_buffer);
                }
 
-               LOG_DEBUG("writing 0x%" PRIx32 " bytes to address 0x%" PRIx32 , thisrun_bytes, bank->base + offset + bytes_written);
+               LOG_DEBUG("writing 0x%" PRIx32 " bytes to address 0x%" PRIx32,
+                       thisrun_bytes,
+                       bank->base + offset + bytes_written);
 
                /* Write data */
                param_table[0] = bank->base + offset + bytes_written;
@@ -725,8 +702,7 @@ static int lpc2000_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
                param_table[2] = thisrun_bytes;
                param_table[3] = lpc2000_info->cclk;
                status_code = lpc2000_iap_call(bank, 51, param_table, result_table);
-               switch (status_code)
-               {
+               switch (status_code) {
                        case ERROR_FLASH_OPERATION_FAILED:
                                retval = ERROR_FLASH_OPERATION_FAILED;
                                break;
@@ -767,8 +743,7 @@ static int lpc2000_probe(struct flash_bank *bank)
 
 static int lpc2000_erase_check(struct flash_bank *bank)
 {
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -786,7 +761,11 @@ static int get_lpc2000_info(struct flash_bank *bank, char *buf, int buf_size)
 {
        struct lpc2000_flash_bank *lpc2000_info = bank->driver_priv;
 
-       snprintf(buf, buf_size, "lpc2000 flash driver variant: %i, clk: %" PRIi32 "kHz" , lpc2000_info->variant, lpc2000_info->cclk);
+       snprintf(buf,
+               buf_size,
+               "lpc2000 flash driver variant: %i, clk: %" PRIi32 "kHz",
+               lpc2000_info->variant,
+               lpc2000_info->cclk);
 
        return ERROR_OK;
 }
@@ -798,34 +777,28 @@ COMMAND_HANDLER(lpc2000_handle_part_id_command)
        int status_code;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
        if (ERROR_OK != retval)
                return retval;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if ((status_code = lpc2000_iap_call(bank, 54, param_table, result_table)) != 0x0)
-       {
-               if (status_code == ERROR_FLASH_OPERATION_FAILED)
-               {
-                       command_print(CMD_CTX, "no sufficient working area specified, can't access LPC2000 IAP interface");
+       status_code = lpc2000_iap_call(bank, 54, param_table, result_table);
+       if (status_code != 0x0) {
+               if (status_code == ERROR_FLASH_OPERATION_FAILED) {
+                       command_print(CMD_CTX,
+                               "no sufficient working area specified, can't access LPC2000 IAP interface");
                        return ERROR_OK;
                }
                command_print(CMD_CTX, "lpc2000 IAP returned status code %i", status_code);
-       }
-       else
-       {
-               command_print(CMD_CTX, "lpc2000 part id: 0x%8.8" PRIx32 , result_table[0]);
-       }
+       } else
+               command_print(CMD_CTX, "lpc2000 part id: 0x%8.8" PRIx32, result_table[0]);
 
        return ERROR_OK;
 }
index d5fde9487e50f58a47d913018dcfa55613ceae6b..2ecb5b2d425bcfee736f9dc1fa9214e16c563c12 100644 (file)
 #include "imp.h"
 #include <helper/binarybuffer.h>
 
+#define LOAD_TIMER_ERASE        0
+#define LOAD_TIMER_WRITE        1
 
-#define LOAD_TIMER_ERASE       0
-#define LOAD_TIMER_WRITE       1
-
-#define FLASH_PAGE_SIZE                512
+#define FLASH_PAGE_SIZE         512
 
 /* LPC288X control registers */
-#define DBGU_CIDR              0x8000507C
+#define DBGU_CIDR               0x8000507C
 /* LPC288X flash registers */
-#define F_CTRL                 0x80102000      /* Flash control register R/W 0x5 */
-#define F_STAT                 0x80102004      /* Flash status register RO 0x45 */
-#define F_PROG_TIME            0x80102008      /* Flash program time register R/W 0 */
-#define F_WAIT                 0x80102010      /* Flash read wait state register R/W 0xC004 */
-#define F_CLK_TIME             0x8010201C      /* Flash clock divider for 66 kHz generation R/W 0 */
-#define F_INTEN_CLR            0x80102FD8      /* Clear interrupt enable bits WO - */
-#define F_INTEN_SET            0x80102FDC      /* Set interrupt enable bits WO - */
-#define F_INT_STAT             0x80102FE0      /* Interrupt status bits RO 0 */
-#define F_INTEN                        0x80102FE4      /* Interrupt enable bits RO 0 */
-#define F_INT_CLR              0x80102FE8      /* Clear interrupt status bits WO */
-#define F_INT_SET              0x80102FEC      /* Set interrupt status bits WO - */
-#define FLASH_PD               0x80005030      /* Allows turning off the Flash memory for power savings. R/W 1*/
-#define FLASH_INIT             0x80005034      /* Monitors Flash readiness, such as recovery from Power Down mode. R/W -*/
+#define F_CTRL                  0x80102000     /* Flash control register R/W 0x5 */
+#define F_STAT                  0x80102004     /* Flash status register RO 0x45 */
+#define F_PROG_TIME             0x80102008     /* Flash program time register R/W 0 */
+#define F_WAIT                  0x80102010     /* Flash read wait state register R/W 0xC004 */
+#define F_CLK_TIME              0x8010201C     /* Flash clock divider for 66 kHz generation R/W 0
+                                                **/
+#define F_INTEN_CLR             0x80102FD8     /* Clear interrupt enable bits WO - */
+#define F_INTEN_SET             0x80102FDC     /* Set interrupt enable bits WO - */
+#define F_INT_STAT              0x80102FE0     /* Interrupt status bits RO 0 */
+#define F_INTEN                 0x80102FE4     /* Interrupt enable bits RO 0 */
+#define F_INT_CLR               0x80102FE8     /* Clear interrupt status bits WO */
+#define F_INT_SET               0x80102FEC     /* Set interrupt status bits WO - */
+#define FLASH_PD                0x80005030     /* Allows turning off the Flash memory for power
+                                                *savings. R/W 1*/
+#define FLASH_INIT              0x80005034     /* Monitors Flash readiness, such as recovery from
+                                                *Power Down mode. R/W -*/
 
 /* F_CTRL bits */
-#define FC_CS                  0x0001
-#define FC_FUNC                        0x0002
-#define FC_WEN                 0x0004
-#define FC_RD_LATCH            0x0020
-#define FC_PROTECT             0x0080
-#define FC_SET_DATA            0x0400
-#define FC_RSSL                        0x0800
-#define FC_PROG_REQ            0x1000
-#define FC_CLR_BUF             0x4000
-#define FC_LOAD_REQ            0x8000
+#define FC_CS                   0x0001
+#define FC_FUNC                 0x0002
+#define FC_WEN                  0x0004
+#define FC_RD_LATCH             0x0020
+#define FC_PROTECT              0x0080
+#define FC_SET_DATA             0x0400
+#define FC_RSSL                 0x0800
+#define FC_PROG_REQ             0x1000
+#define FC_CLR_BUF              0x4000
+#define FC_LOAD_REQ             0x8000
 /* F_STAT bits */
-#define FS_DONE                        0x0001
-#define FS_PROGGNT             0x0002
-#define FS_RDY                 0x0004
-#define FS_ERR                 0x0020
+#define FS_DONE                 0x0001
+#define FS_PROGGNT              0x0002
+#define FS_RDY                  0x0004
+#define FS_ERR                  0x0020
 /* F_PROG_TIME */
-#define FPT_TIME_MASK  0x7FFF
+#define FPT_TIME_MASK   0x7FFF
 
-#define FPT_ENABLE             0x8000
+#define FPT_ENABLE              0x8000
 /* F_WAIT */
-#define FW_WAIT_STATES_MASK            0x00FF
-#define FW_SET_MASK                            0xC000
+#define FW_WAIT_STATES_MASK             0x00FF
+#define FW_SET_MASK                             0xC000
 
 /* F_CLK_TIME */
 #define FCT_CLK_DIV_MASK    0x0FFF
 
-struct lpc288x_flash_bank
-{
+struct lpc288x_flash_bank {
        uint32_t working_area;
        uint32_t working_area_size;
 
        /* chip id register */
        uint32_t cidr;
-       const char * target_name;
+       const char *target_name;
        uint32_t cclk;
 
        uint32_t sector_size_break;
@@ -106,15 +107,13 @@ static uint32_t lpc288x_wait_status_busy(struct flash_bank *bank, int timeout)
 {
        uint32_t status;
        struct target *target = bank->target;
-       do
-       {
+       do {
                alive_sleep(1);
                timeout--;
                target_read_u32(target, F_STAT, &status);
        } while (((status & FS_DONE) == 0) && timeout);
 
-       if (timeout == 0)
-       {
+       if (timeout == 0) {
                LOG_DEBUG("Timedout!");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -132,14 +131,14 @@ static int lpc288x_read_part_info(struct flash_bank *bank)
        uint32_t offset;
 
        if (lpc288x_info->cidr == 0x0102100A)
-               return ERROR_OK; /* already probed, multiple probes may cause memory leak, not allowed */
+               return ERROR_OK;/* already probed, multiple probes may cause memory leak, not
+                                *allowed */
 
        /* Read and parse chip identification register */
        target_read_u32(target, DBGU_CIDR, &cidr);
 
-       if (cidr != 0x0102100A)
-       {
-               LOG_WARNING("Cannot identify target as an LPC288X (%08" PRIx32 ")",cidr);
+       if (cidr != 0x0102100A) {
+               LOG_WARNING("Cannot identify target as an LPC288X (%08" PRIx32 ")", cidr);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
@@ -152,16 +151,14 @@ static int lpc288x_read_part_info(struct flash_bank *bank)
        bank->num_sectors = 23;
        bank->sectors = malloc(sizeof(struct flash_sector) * 23);
 
-       for (i = 0; i < 15; i++)
-       {
+       for (i = 0; i < 15; i++) {
                bank->sectors[i].offset = offset;
                bank->sectors[i].size = 64 * 1024;
                offset += bank->sectors[i].size;
                bank->sectors[i].is_erased = -1;
                bank->sectors[i].is_protected = 1;
        }
-       for (i = 15; i < 23; i++)
-       {
+       for (i = 15; i < 23; i++) {
                bank->sectors[i].offset = offset;
                bank->sectors[i].size = 8 * 1024;
                offset += bank->sectors[i].size;
@@ -183,9 +180,7 @@ FLASH_BANK_COMMAND_HANDLER(lpc288x_flash_bank_command)
        struct lpc288x_flash_bank *lpc288x_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        lpc288x_info = malloc(sizeof(struct lpc288x_flash_bank));
        bank->driver_priv = lpc288x_info;
@@ -220,25 +215,18 @@ static void lpc288x_set_flash_clk(struct flash_bank *bank)
 static void lpc288x_load_timer(int erase, struct target *target)
 {
        if (erase == LOAD_TIMER_ERASE)
-       {
                target_write_u32(target, F_PROG_TIME, FPT_ENABLE | 9500);
-       }
        else
-       {
                target_write_u32(target, F_PROG_TIME, FPT_ENABLE | 75);
-       }
 }
 
 static uint32_t lpc288x_system_ready(struct flash_bank *bank)
 {
        struct lpc288x_flash_bank *lpc288x_info = bank->driver_priv;
        if (lpc288x_info->cidr == 0)
-       {
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -248,8 +236,7 @@ static uint32_t lpc288x_system_ready(struct flash_bank *bank)
 static int lpc288x_erase_check(struct flash_bank *bank)
 {
        uint32_t status = lpc288x_system_ready(bank);   /* probed? halted? */
-       if (status != ERROR_OK)
-       {
+       if (status != ERROR_OK) {
                LOG_INFO("Processor not halted/not probed");
                return status;
        }
@@ -263,14 +250,11 @@ static int lpc288x_erase(struct flash_bank *bank, int first, int last)
        int sector;
        struct target *target = bank->target;
 
-       status = lpc288x_system_ready(bank);    /* probed? halted? */
+       status = lpc288x_system_ready(bank);    /* probed? halted? */
        if (status != ERROR_OK)
-       {
                return status;
-       }
 
-       if ((first < 0) || (last < first) || (last >= bank->num_sectors))
-       {
+       if ((first < 0) || (last < first) || (last >= bank->num_sectors)) {
                LOG_INFO("Bad sector range");
                return ERROR_FLASH_SECTOR_INVALID;
        }
@@ -278,30 +262,25 @@ static int lpc288x_erase(struct flash_bank *bank, int first, int last)
        /* Configure the flash controller timing */
        lpc288x_set_flash_clk(bank);
 
-       for (sector = first; sector <= last; sector++)
-       {
+       for (sector = first; sector <= last; sector++) {
                if (lpc288x_wait_status_busy(bank, 1000) != ERROR_OK)
-               {
                        return ERROR_FLASH_OPERATION_FAILED;
-               }
 
-               lpc288x_load_timer(LOAD_TIMER_ERASE,target);
+               lpc288x_load_timer(LOAD_TIMER_ERASE, target);
 
                target_write_u32(target, bank->sectors[sector].offset, 0x00);
 
                target_write_u32(target, F_CTRL, FC_PROG_REQ | FC_PROTECT | FC_CS);
        }
        if (lpc288x_wait_status_busy(bank, 1000) != ERROR_OK)
-       {
                return ERROR_FLASH_OPERATION_FAILED;
-       }
        return ERROR_OK;
 }
 
 static int lpc288x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
 {
        uint8_t page_buffer[FLASH_PAGE_SIZE];
-       uint32_t status, source_offset,dest_offset;
+       uint32_t status, source_offset, dest_offset;
        struct target *target = bank->target;
        uint32_t bytes_remaining = count;
        uint32_t first_sector, last_sector, sector, page;
@@ -310,39 +289,34 @@ static int lpc288x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
        /* probed? halted? */
        status = lpc288x_system_ready(bank);
        if (status != ERROR_OK)
-       {
                return status;
-       }
 
        /* Initialise search indices */
        first_sector = last_sector = 0xffffffff;
 
        /* validate the write range... */
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                if ((offset >= bank->sectors[i].offset) &&
-                       (offset < (bank->sectors[i].offset + bank->sectors[i].size)) &&
-                       (first_sector == 0xffffffff))
-               {
+                               (offset < (bank->sectors[i].offset + bank->sectors[i].size)) &&
+                               (first_sector == 0xffffffff)) {
                        first_sector = i;
                        /* all writes must start on a sector boundary... */
-                       if (offset % bank->sectors[i].size)
-                       {
-                               LOG_INFO("offset 0x%" PRIx32 " breaks required alignment 0x%" PRIx32 "", offset, bank->sectors[i].size);
+                       if (offset % bank->sectors[i].size) {
+                               LOG_INFO(
+                                       "offset 0x%" PRIx32 " breaks required alignment 0x%" PRIx32 "",
+                                       offset,
+                                       bank->sectors[i].size);
                                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
                        }
                }
                if (((offset + count) > bank->sectors[i].offset) &&
-                       ((offset + count) <= (bank->sectors[i].offset + bank->sectors[i].size)) &&
-                       (last_sector == 0xffffffff))
-               {
+                               ((offset + count) <= (bank->sectors[i].offset + bank->sectors[i].size)) &&
+                               (last_sector == 0xffffffff))
                        last_sector = i;
-               }
        }
 
        /* Range check... */
-       if (first_sector == 0xffffffff || last_sector == 0xffffffff)
-       {
+       if (first_sector == 0xffffffff || last_sector == 0xffffffff) {
                LOG_INFO("Range check failed %" PRIx32 " %" PRIx32 "", offset, count);
                return ERROR_FLASH_DST_OUT_OF_BANK;
        }
@@ -354,32 +328,23 @@ static int lpc288x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
        source_offset = 0;
        dest_offset = 0;
 
-       for (sector = first_sector; sector <= last_sector; sector++)
-       {
-               for (page = 0; page < bank->sectors[sector].size / FLASH_PAGE_SIZE; page++)
-               {
-                       if (bytes_remaining == 0)
-                       {
+       for (sector = first_sector; sector <= last_sector; sector++) {
+               for (page = 0; page < bank->sectors[sector].size / FLASH_PAGE_SIZE; page++) {
+                       if (bytes_remaining == 0) {
                                count = 0;
                                memset(page_buffer, 0xFF, FLASH_PAGE_SIZE);
-                       }
-                       else if (bytes_remaining < FLASH_PAGE_SIZE)
-                       {
+                       } else if (bytes_remaining < FLASH_PAGE_SIZE) {
                                count = bytes_remaining;
                                memset(page_buffer, 0xFF, FLASH_PAGE_SIZE);
                                memcpy(page_buffer, &buffer[source_offset], count);
-                       }
-                       else
-                       {
+                       } else {
                                count = FLASH_PAGE_SIZE;
                                memcpy(page_buffer, &buffer[source_offset], count);
                        }
 
                        /* Wait for flash to become ready */
                        if (lpc288x_wait_status_busy(bank, 1000) != ERROR_OK)
-                       {
                                return ERROR_FLASH_OPERATION_FAILED;
-                       }
 
                        /* fill flash data latches with 1's */
                        target_write_u32(target, F_CTRL, FC_CS | FC_SET_DATA | FC_WEN | FC_FUNC);
@@ -389,14 +354,14 @@ static int lpc288x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
                         * it seems not to be a LOT slower....
                         * bulk_write_memory() is no quicker :(*/
 #if 1
-                       if (target_write_memory(target, offset + dest_offset, 4, 128, page_buffer) != ERROR_OK)
-                       {
+                       if (target_write_memory(target, offset + dest_offset, 4, 128,
+                                       page_buffer) != ERROR_OK) {
                                LOG_ERROR("Write failed s %" PRIx32 " p %" PRIx32 "", sector, page);
                                return ERROR_FLASH_OPERATION_FAILED;
                        }
 #else
-                       if (target_write_buffer(target, offset + dest_offset, FLASH_PAGE_SIZE, page_buffer) != ERROR_OK)
-                       {
+                       if (target_write_buffer(target, offset + dest_offset, FLASH_PAGE_SIZE,
+                                       page_buffer) != ERROR_OK) {
                                LOG_INFO("Write to flash buffer failed");
                                return ERROR_FLASH_OPERATION_FAILED;
                        }
@@ -407,7 +372,8 @@ static int lpc288x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
 
                        lpc288x_load_timer(LOAD_TIMER_WRITE, target);
 
-                       target_write_u32(target, F_CTRL, FC_PROG_REQ | FC_PROTECT | FC_FUNC | FC_CS);
+                       target_write_u32(target, F_CTRL, FC_PROG_REQ | FC_PROTECT | FC_FUNC |
+                               FC_CS);
                }
        }
 
@@ -421,12 +387,9 @@ static int lpc288x_probe(struct flash_bank *bank)
        int retval;
 
        if (lpc288x_info->cidr != 0)
-       {
-               return ERROR_OK; /* already probed */
-       }
+               return ERROR_OK;/* already probed */
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -452,32 +415,25 @@ static int lpc288x_protect(struct flash_bank *bank, int set, int first, int last
        /* probed? halted? */
        status = lpc288x_system_ready(bank);
        if (status != ERROR_OK)
-       {
                return status;
-       }
 
        if ((first < 0) || (last < first) || (last >= bank->num_sectors))
-       {
                return ERROR_FLASH_SECTOR_INVALID;
-       }
 
        /* Configure the flash controller timing */
        lpc288x_set_flash_clk(bank);
 
-       for (lockregion = first; lockregion <= last; lockregion++)
-       {
-               if (set)
-               {
+       for (lockregion = first; lockregion <= last; lockregion++) {
+               if (set) {
                        /* write an odd value to base addy to protect... */
                        value = 0x01;
-               }
-               else
-               {
+               } else {
                        /* write an even value to base addy to unprotect... */
                        value = 0x00;
                }
                target_write_u32(target, bank->sectors[lockregion].offset, value);
-               target_write_u32(target, F_CTRL, FC_LOAD_REQ | FC_PROTECT | FC_WEN | FC_FUNC | FC_CS);
+               target_write_u32(target, F_CTRL, FC_LOAD_REQ | FC_PROTECT | FC_WEN | FC_FUNC |
+                       FC_CS);
        }
 
        return ERROR_OK;
index 5a80b323d97f25f622361d742717e20f021d16a0..f6a981dd46a2b1f35f6bc9a92f615451de3f6d37 100644 (file)
 #include "config.h"
 #endif
 
-
 #include "imp.h"
 #include <helper/binarybuffer.h>
 #include <target/algorithm.h>
 #include <target/arm.h>
 #include <target/image.h>
 
-
 /* 1024 bytes */
 #define KiB                 1024
 
 /* Some flash constants */
-#define FLASH_PAGE_SIZE     512     /* bytes */
-#define FLASH_ERASE_TIME    100000  /* microseconds */
-#define FLASH_PROGRAM_TIME  1000    /* microseconds */
+#define FLASH_PAGE_SIZE     512                /* bytes */
+#define FLASH_ERASE_TIME    100000     /* microseconds */
+#define FLASH_PROGRAM_TIME  1000       /* microseconds */
 
 /* Chip ID / Feature Registers */
-#define CHIPID          0xE0000000  /* Chip ID */
-#define FEAT0           0xE0000100  /* Chip feature 0 */
-#define FEAT1           0xE0000104  /* Chip feature 1 */
-#define FEAT2           0xE0000108  /* Chip feature 2 (contains flash size indicator) */
-#define FEAT3           0xE000010C  /* Chip feature 3 */
+#define CHIPID          0xE0000000     /* Chip ID */
+#define FEAT0           0xE0000100     /* Chip feature 0 */
+#define FEAT1           0xE0000104     /* Chip feature 1 */
+#define FEAT2           0xE0000108     /* Chip feature 2 (contains flash size indicator) */
+#define FEAT3           0xE000010C     /* Chip feature 3 */
 
-#define EXPECTED_CHIPID 0x209CE02B  /* Chip ID of all LPC2900 devices */
+#define EXPECTED_CHIPID 0x209CE02B     /* Chip ID of all LPC2900 devices */
 
 /* Flash/EEPROM Control Registers */
-#define FCTR            0x20200000  /* Flash control */
-#define FPTR            0x20200008  /* Flash program-time */
-#define FTCTR           0x2020000C  /* Flash test control */
-#define FBWST           0x20200010  /* Flash bridge wait-state */
-#define FCRA            0x2020001C  /* Flash clock divider */
-#define FMSSTART        0x20200020  /* Flash Built-In Selft Test start address */
-#define FMSSTOP         0x20200024  /* Flash Built-In Selft Test stop address */
-#define FMS16           0x20200028  /* Flash 16-bit signature */
-#define FMSW0           0x2020002C  /* Flash 128-bit signature Word 0 */
-#define FMSW1           0x20200030  /* Flash 128-bit signature Word 1 */
-#define FMSW2           0x20200034  /* Flash 128-bit signature Word 2 */
-#define FMSW3           0x20200038  /* Flash 128-bit signature Word 3 */
-
-#define EECMD           0x20200080  /* EEPROM command */
-#define EEADDR          0x20200084  /* EEPROM address */
-#define EEWDATA         0x20200088  /* EEPROM write data */
-#define EERDATA         0x2020008C  /* EEPROM read data */
-#define EEWSTATE        0x20200090  /* EEPROM wait state */
-#define EECLKDIV        0x20200094  /* EEPROM clock divider */
-#define EEPWRDWN        0x20200098  /* EEPROM power-down/start */
-#define EEMSSTART       0x2020009C  /* EEPROM BIST start address */
-#define EEMSSTOP        0x202000A0  /* EEPROM BIST stop address */
-#define EEMSSIG         0x202000A4  /* EEPROM 24-bit BIST signature */
-
-#define INT_CLR_ENABLE  0x20200FD8  /* Flash/EEPROM interrupt clear enable */
-#define INT_SET_ENABLE  0x20200FDC  /* Flash/EEPROM interrupt set enable */
-#define INT_STATUS      0x20200FE0  /* Flash/EEPROM interrupt status */
-#define INT_ENABLE      0x20200FE4  /* Flash/EEPROM interrupt enable */
-#define INT_CLR_STATUS  0x20200FE8  /* Flash/EEPROM interrupt clear status */
-#define INT_SET_STATUS  0x20200FEC  /* Flash/EEPROM interrupt set status */
+#define FCTR            0x20200000     /* Flash control */
+#define FPTR            0x20200008     /* Flash program-time */
+#define FTCTR           0x2020000C     /* Flash test control */
+#define FBWST           0x20200010     /* Flash bridge wait-state */
+#define FCRA            0x2020001C     /* Flash clock divider */
+#define FMSSTART        0x20200020     /* Flash Built-In Selft Test start address */
+#define FMSSTOP         0x20200024     /* Flash Built-In Selft Test stop address */
+#define FMS16           0x20200028     /* Flash 16-bit signature */
+#define FMSW0           0x2020002C     /* Flash 128-bit signature Word 0 */
+#define FMSW1           0x20200030     /* Flash 128-bit signature Word 1 */
+#define FMSW2           0x20200034     /* Flash 128-bit signature Word 2 */
+#define FMSW3           0x20200038     /* Flash 128-bit signature Word 3 */
+
+#define EECMD           0x20200080     /* EEPROM command */
+#define EEADDR          0x20200084     /* EEPROM address */
+#define EEWDATA         0x20200088     /* EEPROM write data */
+#define EERDATA         0x2020008C     /* EEPROM read data */
+#define EEWSTATE        0x20200090     /* EEPROM wait state */
+#define EECLKDIV        0x20200094     /* EEPROM clock divider */
+#define EEPWRDWN        0x20200098     /* EEPROM power-down/start */
+#define EEMSSTART       0x2020009C     /* EEPROM BIST start address */
+#define EEMSSTOP        0x202000A0     /* EEPROM BIST stop address */
+#define EEMSSIG         0x202000A4     /* EEPROM 24-bit BIST signature */
+
+#define INT_CLR_ENABLE  0x20200FD8     /* Flash/EEPROM interrupt clear enable */
+#define INT_SET_ENABLE  0x20200FDC     /* Flash/EEPROM interrupt set enable */
+#define INT_STATUS      0x20200FE0     /* Flash/EEPROM interrupt status */
+#define INT_ENABLE      0x20200FE4     /* Flash/EEPROM interrupt enable */
+#define INT_CLR_STATUS  0x20200FE8     /* Flash/EEPROM interrupt clear status */
+#define INT_SET_STATUS  0x20200FEC     /* Flash/EEPROM interrupt set status */
 
 /* Interrupt sources */
 #define INTSRC_END_OF_PROG    (1 << 28)
@@ -87,7 +85,6 @@
 #define INTSRC_END_OF_BURN    (1 << 1)
 #define INTSRC_END_OF_ERASE   (1 << 0)
 
-
 /* FCTR bits */
 #define FCTR_FS_LOADREQ       (1 << 15)
 #define FCTR_FS_CACHECLR      (1 << 14)
 #define ISS_CUSTOMER_NWORDS2  (ISS_CUSTOMER_SIZE2 / 4)
 #define ISS_CUSTOMER_SIZE     (ISS_CUSTOMER_SIZE1 + ISS_CUSTOMER_SIZE2)
 
-
-
 /**
  * Private data for \c lpc2900 flash driver.
  */
-struct lpc2900_flash_bank
-{
+struct lpc2900_flash_bank {
        /**
         * This flag is set when the device has been successfully probed.
         */
@@ -149,7 +143,7 @@ struct lpc2900_flash_bank
         * This string is set by the probe function to the type number of the
         * device. It takes the form "LPC29xx".
         */
-       char * target_name;
+       char *target_name;
 
        /**
         * System clock frequency.
@@ -175,21 +169,18 @@ struct lpc2900_flash_bank
 
 };
 
-
 static uint32_t lpc2900_wait_status(struct flash_bank *bank, uint32_t mask, int timeout);
 static void lpc2900_setup(struct flash_bank *bank);
 static uint32_t lpc2900_is_ready(struct flash_bank *bank);
 static uint32_t lpc2900_read_security_status(struct flash_bank *bank);
 static uint32_t lpc2900_run_bist128(struct flash_bank *bank,
-                                    uint32_t addr_from, uint32_t addr_to,
-                                    uint32_t (*signature)[4] );
+               uint32_t addr_from, uint32_t addr_to,
+               uint32_t (*signature)[4]);
 static uint32_t lpc2900_address2sector(struct flash_bank *bank, uint32_t offset);
 static uint32_t lpc2900_calc_tr(uint32_t clock_var, uint32_t time_var);
 
-
 /***********************  Helper functions  **************************/
 
-
 /**
  * Wait for an event in mask to occur in INT_STATUS.
  *
@@ -199,24 +190,20 @@ static uint32_t lpc2900_calc_tr(uint32_t clock_var, uint32_t time_var);
  * @param[in] mask Mask to be used for INT_STATUS
  * @param[in] timeout Timeout in ms
  */
-static uint32_t lpc2900_wait_status( struct flash_bank *bank,
-                                     uint32_t mask,
-                                     int timeout )
+static uint32_t lpc2900_wait_status(struct flash_bank *bank,
+       uint32_t mask,
+       int timeout)
 {
        uint32_t int_status;
        struct target *target = bank->target;
 
-
-       do
-       {
+       do {
                alive_sleep(1);
                timeout--;
                target_read_u32(target, INT_STATUS, &int_status);
-       }
-       while( ((int_status & mask) == 0) && (timeout != 0) );
+       } while (((int_status & mask) == 0) && (timeout != 0));
 
-       if (timeout == 0)
-       {
+       if (timeout == 0) {
                LOG_DEBUG("Timeout!");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -224,8 +211,6 @@ static uint32_t lpc2900_wait_status( struct flash_bank *bank,
        return ERROR_OK;
 }
 
-
-
 /**
  * Set up the flash for erase/program operations.
  *
@@ -233,22 +218,18 @@ static uint32_t lpc2900_wait_status( struct flash_bank *bank,
  *
  * @param bank Pointer to the flash bank descriptor
  */
-static void lpc2900_setup( struct flash_bank *bank )
+static void lpc2900_setup(struct flash_bank *bank)
 {
        uint32_t fcra;
        struct lpc2900_flash_bank *lpc2900_info = bank->driver_priv;
 
-
        /* Power up the flash block */
-       target_write_u32( bank->target, FCTR, FCTR_FS_WEB | FCTR_FS_CS );
-
+       target_write_u32(bank->target, FCTR, FCTR_FS_WEB | FCTR_FS_CS);
 
        fcra = (lpc2900_info->clk_sys_fmc / (3 * 66000)) - 1;
-       target_write_u32( bank->target, FCRA, fcra );
+       target_write_u32(bank->target, FCRA, fcra);
 }
 
-
-
 /**
  * Check if device is ready.
  *
@@ -256,37 +237,31 @@ static void lpc2900_setup( struct flash_bank *bank )
  * Must have been successfully probed.
  * Must be halted.
  */
-static uint32_t lpc2900_is_ready( struct flash_bank *bank )
+static uint32_t lpc2900_is_ready(struct flash_bank *bank)
 {
        struct lpc2900_flash_bank *lpc2900_info = bank->driver_priv;
 
-       if( !lpc2900_info->is_probed )
-       {
+       if (!lpc2900_info->is_probed)
                return ERROR_FLASH_BANK_NOT_PROBED;
-       }
 
-       if( bank->target->state != TARGET_HALTED )
-       {
-               LOG_ERROR( "Target not halted" );
+       if (bank->target->state != TARGET_HALTED) {
+               LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        return ERROR_OK;
 }
 
-
 /**
  * Read the status of sector security from the index sector.
  *
  * @param bank Pointer to the flash bank descriptor
  */
-static uint32_t lpc2900_read_security_status( struct flash_bank *bank )
+static uint32_t lpc2900_read_security_status(struct flash_bank *bank)
 {
-       uint32_t status;
-       if( (status = lpc2900_is_ready( bank )) != ERROR_OK )
-       {
+       uint32_t status = lpc2900_is_ready(bank);
+       if (status != ERROR_OK)
                return status;
-       }
 
        struct target *target = bank->target;
 
@@ -294,9 +269,9 @@ static uint32_t lpc2900_read_security_status( struct flash_bank *bank )
        target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB | FCTR_FS_ISS);
 
        /* Read the relevant block of memory from the ISS sector */
-       uint32_t iss_secured_field[ 0x230/16 ][ 4 ];
+       uint32_t iss_secured_field[0x230/16][4];
        target_read_memory(target, bank->base + 0xC00, 4, 0x230/4,
-                                  (uint8_t *)iss_secured_field);
+               (uint8_t *)iss_secured_field);
 
        /* Disable ISS access */
        target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB);
@@ -312,47 +287,33 @@ static uint32_t lpc2900_read_security_status( struct flash_bank *bank )
         */
        int sector;
        int index_t;
-       for( sector = 0; sector < bank->num_sectors; sector++ )
-       {
+       for (sector = 0; sector < bank->num_sectors; sector++) {
                /* Convert logical sector number to physical sector number */
-               if( sector <= 4 )
-               {
+               if (sector <= 4)
                        index_t = sector + 11;
-               }
-               else if( sector <= 7 )
-               {
+               else if (sector <= 7)
                        index_t = sector + 27;
-               }
                else
-               {
                        index_t = sector - 8;
-               }
 
                bank->sectors[sector].is_protected = -1;
 
-               if (
-                   (iss_secured_field[index_t][0] == 0x00000000) &&
-                   (iss_secured_field[index_t][1] == 0x00000000) &&
-                   (iss_secured_field[index_t][2] == 0x00000000) &&
-                   (iss_secured_field[index_t][3] == 0x00000000) )
-               {
+               if ((iss_secured_field[index_t][0] == 0x00000000) &&
+                       (iss_secured_field[index_t][1] == 0x00000000) &&
+                       (iss_secured_field[index_t][2] == 0x00000000) &&
+                       (iss_secured_field[index_t][3] == 0x00000000))
                        bank->sectors[sector].is_protected = 1;
-               }
 
-               if (
-                   (iss_secured_field[index_t][0] == 0xFFFFFFFF) &&
-                   (iss_secured_field[index_t][1] == 0xFFFFFFFF) &&
-                   (iss_secured_field[index_t][2] == 0xFFFFFFFF) &&
-                   (iss_secured_field[index_t][3] == 0xFFFFFFFF) )
-               {
+               if ((iss_secured_field[index_t][0] == 0xFFFFFFFF) &&
+                       (iss_secured_field[index_t][1] == 0xFFFFFFFF) &&
+                       (iss_secured_field[index_t][2] == 0xFFFFFFFF) &&
+                       (iss_secured_field[index_t][3] == 0xFFFFFFFF))
                        bank->sectors[sector].is_protected = 0;
-               }
        }
 
        return ERROR_OK;
 }
 
-
 /**
  * Use BIST to calculate a 128-bit hash value over a range of flash.
  *
@@ -362,33 +323,30 @@ static uint32_t lpc2900_read_security_status( struct flash_bank *bank )
  * @param signature
  */
 static uint32_t lpc2900_run_bist128(struct flash_bank *bank,
-                                    uint32_t addr_from,
-                                    uint32_t addr_to,
-                                    uint32_t (*signature)[4] )
+       uint32_t addr_from,
+       uint32_t addr_to,
+       uint32_t (*signature)[4])
 {
        struct target *target = bank->target;
 
        /* Clear END_OF_MISR interrupt status */
-       target_write_u32( target, INT_CLR_STATUS, INTSRC_END_OF_MISR );
+       target_write_u32(target, INT_CLR_STATUS, INTSRC_END_OF_MISR);
 
        /* Start address */
-       target_write_u32( target, FMSSTART, addr_from >> 4);
+       target_write_u32(target, FMSSTART, addr_from >> 4);
        /* End address, and issue start command */
-       target_write_u32( target, FMSSTOP, (addr_to >> 4) | FMSSTOP_MISR_START );
+       target_write_u32(target, FMSSTOP, (addr_to >> 4) | FMSSTOP_MISR_START);
 
        /* Poll for end of operation. Calculate a reasonable timeout. */
-       if( lpc2900_wait_status( bank, INTSRC_END_OF_MISR, 1000 ) != ERROR_OK )
-       {
+       if (lpc2900_wait_status(bank, INTSRC_END_OF_MISR, 1000) != ERROR_OK)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* Return the signature */
-       target_read_memory( target, FMSW0, 4, 4, (uint8_t *)signature );
+       target_read_memory(target, FMSW0, 4, 4, (uint8_t *)signature);
 
        return ERROR_OK;
 }
 
-
 /**
  * Return sector number for given address.
  *
@@ -398,30 +356,23 @@ static uint32_t lpc2900_run_bist128(struct flash_bank *bank,
  * @param bank Pointer to the flash bank descriptor
  * @param offset Offset address relative to bank start
  */
-static uint32_t lpc2900_address2sector( struct flash_bank *bank,
-                                        uint32_t offset )
+static uint32_t lpc2900_address2sector(struct flash_bank *bank,
+       uint32_t offset)
 {
        uint32_t address = bank->base + offset;
 
-
        /* Run through all sectors of this bank */
        int sector;
-       for( sector = 0; sector < bank->num_sectors; sector++ )
-       {
+       for (sector = 0; sector < bank->num_sectors; sector++) {
                /* Return immediately if address is within the current sector */
-               if( address < (bank->sectors[sector].offset + bank->sectors[sector].size) )
-               {
+               if (address < (bank->sectors[sector].offset + bank->sectors[sector].size))
                        return sector;
-               }
        }
 
        /* We should never come here. If we do, return an arbitrary sector number. */
        return 0;
 }
 
-
-
-
 /**
  * Write one page to the index sector.
  *
@@ -429,22 +380,20 @@ static uint32_t lpc2900_address2sector( struct flash_bank *bank,
  * @param pagenum Page number (0...7)
  * @param page Page array (FLASH_PAGE_SIZE bytes)
  */
-static int lpc2900_write_index_page( struct flash_bank *bank,
-                                     int pagenum,
-                                     uint8_t (*page)[FLASH_PAGE_SIZE] )
+static int lpc2900_write_index_page(struct flash_bank *bank,
+       int pagenum,
+       uint8_t (*page)[FLASH_PAGE_SIZE])
 {
        /* Only pages 4...7 are user writable */
-       if ((pagenum < 4) || (pagenum > 7))
-       {
+       if ((pagenum < 4) || (pagenum > 7)) {
                LOG_ERROR("Refuse to burn index sector page %d", pagenum);
                return ERROR_COMMAND_ARGUMENT_INVALID;
        }
 
        /* Get target, and check if it's halted */
        struct target *target = bank->target;
-       if( target->state != TARGET_HALTED )
-       {
-               LOG_ERROR( "Target not halted" );
+       if (target->state != TARGET_HALTED) {
+               LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
@@ -452,67 +401,63 @@ static int lpc2900_write_index_page( struct flash_bank *bank,
        struct lpc2900_flash_bank *lpc2900_info = bank->driver_priv;
 
        /* Enable flash block and set the correct CRA clock of 66 kHz */
-       lpc2900_setup( bank );
+       lpc2900_setup(bank);
 
        /* Un-protect the index sector */
-       target_write_u32( target, bank->base, 0 );
-       target_write_u32( target, FCTR,
-                         FCTR_FS_LOADREQ | FCTR_FS_WPB | FCTR_FS_ISS |
-                         FCTR_FS_WEB | FCTR_FS_WRE | FCTR_FS_CS );
+       target_write_u32(target, bank->base, 0);
+       target_write_u32(target, FCTR,
+               FCTR_FS_LOADREQ | FCTR_FS_WPB | FCTR_FS_ISS |
+               FCTR_FS_WEB | FCTR_FS_WRE | FCTR_FS_CS);
 
        /* Set latch load mode */
-       target_write_u32( target, FCTR,
-                         FCTR_FS_ISS | FCTR_FS_WEB | FCTR_FS_WRE | FCTR_FS_CS );
+       target_write_u32(target, FCTR,
+               FCTR_FS_ISS | FCTR_FS_WEB | FCTR_FS_WRE | FCTR_FS_CS);
 
        /* Write whole page to flash data latches */
-       if( target_write_memory( target,
-                                bank->base + pagenum * FLASH_PAGE_SIZE,
-                                4, FLASH_PAGE_SIZE / 4, (uint8_t *)page) != ERROR_OK )
-       {
+       if (target_write_memory(target,
+                       bank->base + pagenum * FLASH_PAGE_SIZE,
+                       4, FLASH_PAGE_SIZE / 4, (uint8_t *)page) != ERROR_OK) {
                LOG_ERROR("Index sector write failed @ page %d", pagenum);
-               target_write_u32( target, FCTR, FCTR_FS_CS | FCTR_FS_WEB );
+               target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB);
 
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        /* Clear END_OF_BURN interrupt status */
-       target_write_u32( target, INT_CLR_STATUS, INTSRC_END_OF_BURN );
+       target_write_u32(target, INT_CLR_STATUS, INTSRC_END_OF_BURN);
 
        /* Set the program/erase time to FLASH_PROGRAM_TIME */
        target_write_u32(target, FPTR,
-                        FPTR_EN_T | lpc2900_calc_tr( lpc2900_info->clk_sys_fmc,
-                                                     FLASH_PROGRAM_TIME ));
+               FPTR_EN_T | lpc2900_calc_tr(lpc2900_info->clk_sys_fmc,
+                       FLASH_PROGRAM_TIME));
 
        /* Trigger flash write */
-       target_write_u32( target, FCTR,
-                         FCTR_FS_PROGREQ | FCTR_FS_ISS |
-                         FCTR_FS_WPB | FCTR_FS_WRE | FCTR_FS_CS );
+       target_write_u32(target, FCTR,
+               FCTR_FS_PROGREQ | FCTR_FS_ISS |
+               FCTR_FS_WPB | FCTR_FS_WRE | FCTR_FS_CS);
 
        /* Wait for the end of the write operation. If it's not over after one
         * second, something went dreadfully wrong... :-(
         */
-       if (lpc2900_wait_status(bank, INTSRC_END_OF_BURN, 1000) != ERROR_OK)
-       {
+       if (lpc2900_wait_status(bank, INTSRC_END_OF_BURN, 1000) != ERROR_OK) {
                LOG_ERROR("Index sector write failed @ page %d", pagenum);
                target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB);
 
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
-       target_write_u32( target, FCTR, FCTR_FS_CS | FCTR_FS_WEB );
+       target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB);
 
        return ERROR_OK;
 }
 
-
-
 /**
  * Calculate FPTR.TR register value for desired program/erase time.
  *
  * @param clock System clock in Hz
  * @param time Program/erase time in Âµs
  */
-static uint32_t lpc2900_calc_tr( uint32_t clock_var, uint32_t time_var )
+static uint32_t lpc2900_calc_tr(uint32_t clock_var, uint32_t time_var)
 {
        /*           ((time[µs]/1e6) * f[Hz]) + 511
         * FPTR.TR = -------------------------------
@@ -524,7 +469,6 @@ static uint32_t lpc2900_calc_tr( uint32_t clock_var, uint32_t time_var )
        return tr_val;
 }
 
-
 /***********************  Private flash commands  **************************/
 
 
@@ -539,44 +483,33 @@ COMMAND_HANDLER(lpc2900_handle_signature_command)
        uint32_t status;
        uint32_t signature[4];
 
-
-       if( CMD_ARGC < 1 )
-       {
+       if (CMD_ARGC < 1)
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
        if (ERROR_OK != retval)
                return retval;
 
-       if( bank->target->state != TARGET_HALTED )
-       {
-               LOG_ERROR( "Target not halted" );
+       if (bank->target->state != TARGET_HALTED) {
+               LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        /* Run BIST over whole flash range */
-       if( (status = lpc2900_run_bist128( bank,
-                                          bank->base,
-                                          bank->base + (bank->size - 1),
-                                          &signature)
-                                        ) != ERROR_OK )
-       {
+       status = lpc2900_run_bist128(bank, bank->base, bank->base + (bank->size - 1), &signature);
+       if (status != ERROR_OK)
                return status;
-       }
 
-       command_print( CMD_CTX, "signature: 0x%8.8" PRIx32
-                                         ":0x%8.8" PRIx32
-                                         ":0x%8.8" PRIx32
-                                         ":0x%8.8" PRIx32,
-                     signature[3], signature[2], signature[1], signature[0] );
+       command_print(CMD_CTX, "signature: 0x%8.8" PRIx32
+               ":0x%8.8" PRIx32
+               ":0x%8.8" PRIx32
+               ":0x%8.8" PRIx32,
+               signature[3], signature[2], signature[1], signature[0]);
 
        return ERROR_OK;
 }
 
-
-
 /**
  * Store customer info in file.
  *
@@ -585,10 +518,8 @@ COMMAND_HANDLER(lpc2900_handle_signature_command)
  */
 COMMAND_HANDLER(lpc2900_handle_read_custom_command)
 {
-       if( CMD_ARGC < 2 )
-       {
+       if (CMD_ARGC < 2)
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -600,66 +531,58 @@ COMMAND_HANDLER(lpc2900_handle_read_custom_command)
 
        /* Get target, and check if it's halted */
        struct target *target = bank->target;
-       if( target->state != TARGET_HALTED )
-       {
-               LOG_ERROR( "Target not halted" );
+       if (target->state != TARGET_HALTED) {
+               LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        /* Storage for customer info. Read in two parts */
-       uint32_t customer[ ISS_CUSTOMER_NWORDS1 + ISS_CUSTOMER_NWORDS2 ];
+       uint32_t customer[ISS_CUSTOMER_NWORDS1 + ISS_CUSTOMER_NWORDS2];
 
        /* Enable access to index sector */
-       target_write_u32( target, FCTR, FCTR_FS_CS | FCTR_FS_WEB | FCTR_FS_ISS );
+       target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB | FCTR_FS_ISS);
 
        /* Read two parts */
-       target_read_memory( target, bank->base+ISS_CUSTOMER_START1, 4,
-                                   ISS_CUSTOMER_NWORDS1,
-                                   (uint8_t *)&customer[0] );
-       target_read_memory( target, bank->base+ISS_CUSTOMER_START2, 4,
-                                   ISS_CUSTOMER_NWORDS2,
-                                   (uint8_t *)&customer[ISS_CUSTOMER_NWORDS1] );
+       target_read_memory(target, bank->base+ISS_CUSTOMER_START1, 4,
+               ISS_CUSTOMER_NWORDS1,
+               (uint8_t *)&customer[0]);
+       target_read_memory(target, bank->base+ISS_CUSTOMER_START2, 4,
+               ISS_CUSTOMER_NWORDS2,
+               (uint8_t *)&customer[ISS_CUSTOMER_NWORDS1]);
 
        /* Deactivate access to index sector */
-       target_write_u32( target, FCTR, FCTR_FS_CS | FCTR_FS_WEB );
+       target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB);
 
        /* Try and open the file */
        struct fileio fileio;
        const char *filename = CMD_ARGV[1];
-       int ret = fileio_open( &fileio, filename, FILEIO_WRITE, FILEIO_BINARY );
-       if( ret != ERROR_OK )
-       {
-               LOG_WARNING( "Could not open file %s", filename );
+       int ret = fileio_open(&fileio, filename, FILEIO_WRITE, FILEIO_BINARY);
+       if (ret != ERROR_OK) {
+               LOG_WARNING("Could not open file %s", filename);
                return ret;
        }
 
        size_t nwritten;
-       ret = fileio_write( &fileio, sizeof(customer),
-                        (const uint8_t *)customer, &nwritten );
-       if( ret != ERROR_OK )
-       {
-               LOG_ERROR( "Write operation to file %s failed", filename );
-               fileio_close( &fileio );
+       ret = fileio_write(&fileio, sizeof(customer),
+                       (const uint8_t *)customer, &nwritten);
+       if (ret != ERROR_OK) {
+               LOG_ERROR("Write operation to file %s failed", filename);
+               fileio_close(&fileio);
                return ret;
        }
 
-       fileio_close( &fileio );
+       fileio_close(&fileio);
 
        return ERROR_OK;
 }
 
-
-
-
 /**
  * Enter password to enable potentially dangerous options.
  */
 COMMAND_HANDLER(lpc2900_handle_password_command)
 {
        if (CMD_ARGC < 2)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -670,31 +593,26 @@ COMMAND_HANDLER(lpc2900_handle_password_command)
 
 #define ISS_PASSWORD "I_know_what_I_am_doing"
 
-       lpc2900_info->risky = !strcmp( CMD_ARGV[1], ISS_PASSWORD );
+       lpc2900_info->risky = !strcmp(CMD_ARGV[1], ISS_PASSWORD);
 
-       if( !lpc2900_info->risky )
-       {
+       if (!lpc2900_info->risky) {
                command_print(CMD_CTX, "Wrong password (use '%s')", ISS_PASSWORD);
                return ERROR_COMMAND_ARGUMENT_INVALID;
        }
 
        command_print(CMD_CTX,
-                  "Potentially dangerous operation allowed in next command!");
+               "Potentially dangerous operation allowed in next command!");
 
        return ERROR_OK;
 }
 
-
-
 /**
  * Write customer info from file to the index sector.
  */
 COMMAND_HANDLER(lpc2900_handle_write_custom_command)
 {
        if (CMD_ARGC < 2)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -704,17 +622,15 @@ COMMAND_HANDLER(lpc2900_handle_write_custom_command)
        struct lpc2900_flash_bank *lpc2900_info = bank->driver_priv;
 
        /* Check if command execution is allowed. */
-       if( !lpc2900_info->risky )
-       {
-               command_print( CMD_CTX, "Command execution not allowed!" );
+       if (!lpc2900_info->risky) {
+               command_print(CMD_CTX, "Command execution not allowed!");
                return ERROR_COMMAND_ARGUMENT_INVALID;
        }
        lpc2900_info->risky = 0;
 
        /* Get target, and check if it's halted */
        struct target *target = bank->target;
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -729,23 +645,19 @@ COMMAND_HANDLER(lpc2900_handle_write_custom_command)
        const char *type = (CMD_ARGC >= 3) ? CMD_ARGV[2] : NULL;
        retval = image_open(&image, filename, type);
        if (retval != ERROR_OK)
-       {
                return retval;
-       }
 
        /* Do a sanity check: The image must be exactly the size of the customer
           programmable area. Any other size is rejected. */
-       if( image.num_sections != 1 )
-       {
+       if (image.num_sections != 1) {
                LOG_ERROR("Only one section allowed in image file.");
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
-       if( (image.sections[0].base_address != 0) ||
-        (image.sections[0].size != ISS_CUSTOMER_SIZE) )
-       {
+       if ((image.sections[0].base_address != 0) ||
+                       (image.sections[0].size != ISS_CUSTOMER_SIZE)) {
                LOG_ERROR("Incorrect image file size. Expected %d, "
                        "got %" PRIu32,
-                   ISS_CUSTOMER_SIZE, image.sections[0].size);
+                       ISS_CUSTOMER_SIZE, image.sections[0].size);
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
 
@@ -756,35 +668,33 @@ COMMAND_HANDLER(lpc2900_handle_write_custom_command)
 
        /* Page 4 */
        uint32_t offset = ISS_CUSTOMER_START1 % FLASH_PAGE_SIZE;
-       memset( page, 0xff, FLASH_PAGE_SIZE );
+       memset(page, 0xff, FLASH_PAGE_SIZE);
        size_t size_read;
-       retval = image_read_section( &image, 0, 0,
-                                    ISS_CUSTOMER_SIZE1, &page[offset], &size_read);
-       if( retval != ERROR_OK )
-       {
+       retval = image_read_section(&image, 0, 0,
+                       ISS_CUSTOMER_SIZE1, &page[offset], &size_read);
+       if (retval != ERROR_OK) {
                LOG_ERROR("couldn't read from file '%s'", filename);
                image_close(&image);
                return retval;
        }
-       if( (retval = lpc2900_write_index_page( bank, 4, &page )) != ERROR_OK )
-       {
+       retval = lpc2900_write_index_page(bank, 4, &page);
+       if (retval != ERROR_OK) {
                image_close(&image);
                return retval;
        }
 
        /* Page 5 */
        offset = ISS_CUSTOMER_START2 % FLASH_PAGE_SIZE;
-       memset( page, 0xff, FLASH_PAGE_SIZE );
-       retval = image_read_section( &image, 0, ISS_CUSTOMER_SIZE1,
-                                    ISS_CUSTOMER_SIZE2, &page[offset], &size_read);
-       if( retval != ERROR_OK )
-       {
+       memset(page, 0xff, FLASH_PAGE_SIZE);
+       retval = image_read_section(&image, 0, ISS_CUSTOMER_SIZE1,
+                       ISS_CUSTOMER_SIZE2, &page[offset], &size_read);
+       if (retval != ERROR_OK) {
                LOG_ERROR("couldn't read from file '%s'", filename);
                image_close(&image);
                return retval;
        }
-       if( (retval = lpc2900_write_index_page( bank, 5, &page )) != ERROR_OK )
-       {
+       retval = lpc2900_write_index_page(bank, 5, &page);
+       if (retval != ERROR_OK) {
                image_close(&image);
                return retval;
        }
@@ -794,17 +704,13 @@ COMMAND_HANDLER(lpc2900_handle_write_custom_command)
        return ERROR_OK;
 }
 
-
-
 /**
  * Activate 'sector security' for a range of sectors.
  */
 COMMAND_HANDLER(lpc2900_handle_secure_sector_command)
 {
        if (CMD_ARGC < 3)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        /* Get the bank descriptor */
        struct flash_bank *bank;
@@ -815,10 +721,9 @@ COMMAND_HANDLER(lpc2900_handle_secure_sector_command)
        struct lpc2900_flash_bank *lpc2900_info = bank->driver_priv;
 
        /* Check if command execution is allowed. */
-       if( !lpc2900_info->risky )
-       {
-               command_print( CMD_CTX, "Command execution not allowed! "
-               "(use 'password' command first)");
+       if (!lpc2900_info->risky) {
+               command_print(CMD_CTX, "Command execution not allowed! "
+                       "(use 'password' command first)");
                return ERROR_COMMAND_ARGUMENT_INVALID;
        }
        lpc2900_info->risky = 0;
@@ -827,11 +732,10 @@ COMMAND_HANDLER(lpc2900_handle_secure_sector_command)
        int first, last;
        COMMAND_PARSE_NUMBER(int, CMD_ARGV[1], first);
        COMMAND_PARSE_NUMBER(int, CMD_ARGV[2], last);
-       if( (first >= bank->num_sectors) ||
-           (last >= bank->num_sectors) ||
-           (first > last) )
-       {
-               command_print( CMD_CTX, "Illegal sector range" );
+       if ((first >= bank->num_sectors) ||
+                       (last >= bank->num_sectors) ||
+                       (first > last)) {
+               command_print(CMD_CTX, "Illegal sector range");
                return ERROR_COMMAND_ARGUMENT_INVALID;
        }
 
@@ -839,71 +743,56 @@ COMMAND_HANDLER(lpc2900_handle_secure_sector_command)
        int sector;
 
        /* Sectors in page 6 */
-       if( (first <= 4) || (last >= 8) )
-       {
-               memset( &page, 0xff, FLASH_PAGE_SIZE );
-               for( sector = first; sector <= last; sector++ )
-               {
-                       if( sector <= 4 )
-                       {
-                               memset( &page[0xB0 + 16*sector], 0, 16 );
-                       }
-                       else if( sector >= 8 )
-                       {
-                               memset( &page[0x00 + 16*(sector - 8)], 0, 16 );
-                       }
+       if ((first <= 4) || (last >= 8)) {
+               memset(&page, 0xff, FLASH_PAGE_SIZE);
+               for (sector = first; sector <= last; sector++) {
+                       if (sector <= 4)
+                               memset(&page[0xB0 + 16*sector], 0, 16);
+                       else if (sector >= 8)
+                               memset(&page[0x00 + 16*(sector - 8)], 0, 16);
                }
 
-               if( (retval = lpc2900_write_index_page( bank, 6, &page )) != ERROR_OK )
-               {
+               retval = lpc2900_write_index_page(bank, 6, &page);
+               if (retval != ERROR_OK) {
                        LOG_ERROR("failed to update index sector page 6");
                        return retval;
                }
        }
 
        /* Sectors in page 7 */
-       if( (first <= 7) && (last >= 5) )
-       {
-               memset( &page, 0xff, FLASH_PAGE_SIZE );
-               for( sector = first; sector <= last; sector++ )
-               {
-                       if( (sector >= 5) && (sector <= 7) )
-                       {
-                               memset( &page[0x00 + 16*(sector - 5)], 0, 16 );
-                       }
+       if ((first <= 7) && (last >= 5)) {
+               memset(&page, 0xff, FLASH_PAGE_SIZE);
+               for (sector = first; sector <= last; sector++) {
+                       if ((sector >= 5) && (sector <= 7))
+                               memset(&page[0x00 + 16*(sector - 5)], 0, 16);
                }
 
-               if( (retval = lpc2900_write_index_page( bank, 7, &page )) != ERROR_OK )
-               {
+               retval = lpc2900_write_index_page(bank, 7, &page);
+               if (retval != ERROR_OK) {
                        LOG_ERROR("failed to update index sector page 7");
                        return retval;
                }
        }
 
-       command_print( CMD_CTX,
-               "Sectors security will become effective after next power cycle");
+       command_print(CMD_CTX,
+               "Sectors security will become effective after next power cycle");
 
        /* Update the sector security status */
-       if ( lpc2900_read_security_status(bank) != ERROR_OK )
-       {
-               LOG_ERROR( "Cannot determine sector security status" );
+       if (lpc2900_read_security_status(bank) != ERROR_OK) {
+               LOG_ERROR("Cannot determine sector security status");
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        return ERROR_OK;
 }
 
-
-
 /**
  * Activate JTAG protection.
  */
 COMMAND_HANDLER(lpc2900_handle_secure_jtag_command)
 {
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        /* Get the bank descriptor */
        struct flash_bank *bank;
@@ -914,17 +803,16 @@ COMMAND_HANDLER(lpc2900_handle_secure_jtag_command)
        struct lpc2900_flash_bank *lpc2900_info = bank->driver_priv;
 
        /* Check if command execution is allowed. */
-       if( !lpc2900_info->risky )
-       {
-               command_print( CMD_CTX, "Command execution not allowed! "
-                                       "(use 'password' command first)");
+       if (!lpc2900_info->risky) {
+               command_print(CMD_CTX, "Command execution not allowed! "
+                       "(use 'password' command first)");
                return ERROR_COMMAND_ARGUMENT_INVALID;
        }
        lpc2900_info->risky = 0;
 
        /* Prepare page */
        uint8_t page[FLASH_PAGE_SIZE];
-       memset( &page, 0xff, FLASH_PAGE_SIZE );
+       memset(&page, 0xff, FLASH_PAGE_SIZE);
 
 
        /* Insert "soft" protection word */
@@ -934,9 +822,8 @@ COMMAND_HANDLER(lpc2900_handle_secure_jtag_command)
        page[0x30 +  3] = 0x7F;
 
        /* Write to page 5 */
-       if( (retval = lpc2900_write_index_page( bank, 5, &page ))
-                       != ERROR_OK )
-       {
+       retval = lpc2900_write_index_page(bank, 5, &page);
+       if (retval != ERROR_OK) {
                LOG_ERROR("failed to update index sector page 5");
                return retval;
        }
@@ -946,8 +833,6 @@ COMMAND_HANDLER(lpc2900_handle_secure_jtag_command)
        return ERROR_OK;
 }
 
-
-
 /***********************  Flash interface functions  **************************/
 
 static const struct command_registration lpc2900_exec_command_handlers[] = {
@@ -999,6 +884,7 @@ static const struct command_registration lpc2900_exec_command_handlers[] = {
        },
        COMMAND_REGISTRATION_DONE
 };
+
 static const struct command_registration lpc2900_command_handlers[] = {
        {
                .name = "lpc2900",
@@ -1010,15 +896,13 @@ static const struct command_registration lpc2900_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-/// Evaluate flash bank command.
+/* / Evaluate flash bank command. */
 FLASH_BANK_COMMAND_HANDLER(lpc2900_flash_bank_command)
 {
        struct lpc2900_flash_bank *lpc2900_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        lpc2900_info = malloc(sizeof(struct lpc2900_flash_bank));
        bank->driver_priv = lpc2900_info;
@@ -1034,19 +918,17 @@ FLASH_BANK_COMMAND_HANDLER(lpc2900_flash_bank_command)
        uint32_t clock_limit;
        /* Check program time limit */
        clock_limit = 512000000l / FLASH_PROGRAM_TIME;
-       if (lpc2900_info->clk_sys_fmc < clock_limit)
-       {
+       if (lpc2900_info->clk_sys_fmc < clock_limit) {
                LOG_WARNING("flash clock must be at least %" PRIu32 " kHz",
-                    (clock_limit / 1000));
+                       (clock_limit / 1000));
                return ERROR_FLASH_BANK_INVALID;
        }
 
        /* Check erase time limit */
        clock_limit = (uint32_t)((32767.0 * 512.0 * 1e6) / FLASH_ERASE_TIME);
-       if (lpc2900_info->clk_sys_fmc > clock_limit)
-       {
-               LOG_WARNING("flash clock must be a maximum of %" PRIu32" kHz",
-                    (clock_limit / 1000));
+       if (lpc2900_info->clk_sys_fmc > clock_limit) {
+               LOG_WARNING("flash clock must be a maximum of %" PRIu32 " kHz",
+                       (clock_limit / 1000));
                return ERROR_FLASH_BANK_INVALID;
        }
 
@@ -1057,7 +939,6 @@ FLASH_BANK_COMMAND_HANDLER(lpc2900_flash_bank_command)
        return ERROR_OK;
 }
 
-
 /**
  * Erase sector(s).
  *
@@ -1076,19 +957,16 @@ static int lpc2900_erase(struct flash_bank *bank, int first, int last)
 
        status = lpc2900_is_ready(bank);
        if (status != ERROR_OK)
-       {
                return status;
-       }
 
        /* Sanity check on sector range */
-       if ((first < 0) || (last < first) || (last >= bank->num_sectors))
-       {
+       if ((first < 0) || (last < first) || (last >= bank->num_sectors)) {
                LOG_INFO("Bad sector range");
                return ERROR_FLASH_SECTOR_INVALID;
        }
 
        /* Update the info about secured sectors */
-       lpc2900_read_security_status( bank );
+       lpc2900_read_security_status(bank);
 
        /* The selected sector range might include secured sectors. An attempt
         * to erase such a sector will cause the erase to fail also for unsecured
@@ -1097,22 +975,17 @@ static int lpc2900_erase(struct flash_bank *bank, int first, int last)
         * a special way.
         */
        last_unsecured_sector = -1;
-       for (sector = first; sector <= last; sector++)
-       {
-               if ( !bank->sectors[sector].is_protected )
-               {
+       for (sector = first; sector <= last; sector++) {
+               if (!bank->sectors[sector].is_protected)
                        last_unsecured_sector = sector;
-               }
        }
 
        /* Exit now, in case of the rare constellation where all sectors in range
         * are secured. This is regarded a success, since erasing/programming of
         * secured sectors shall be handled transparently.
         */
-       if ( last_unsecured_sector == -1 )
-       {
+       if (last_unsecured_sector == -1)
                return ERROR_OK;
-       }
 
        /* Enable flash block and set the correct CRA clock of 66 kHz */
        lpc2900_setup(bank);
@@ -1122,36 +995,31 @@ static int lpc2900_erase(struct flash_bank *bank, int first, int last)
 
        /* Set the program/erase timer to FLASH_ERASE_TIME */
        target_write_u32(target, FPTR,
-                        FPTR_EN_T | lpc2900_calc_tr( lpc2900_info->clk_sys_fmc,
-                                                     FLASH_ERASE_TIME ));
+               FPTR_EN_T | lpc2900_calc_tr(lpc2900_info->clk_sys_fmc,
+                       FLASH_ERASE_TIME));
 
        /* Sectors are marked for erasure, then erased all together */
-       for (sector = first; sector <= last_unsecured_sector; sector++)
-       {
+       for (sector = first; sector <= last_unsecured_sector; sector++) {
                /* Only mark sectors that aren't secured. Any attempt to erase a group
                 * of sectors will fail if any single one of them is secured!
                 */
-               if ( !bank->sectors[sector].is_protected )
-               {
+               if (!bank->sectors[sector].is_protected) {
                        /* Unprotect the sector */
                        target_write_u32(target, bank->sectors[sector].offset, 0);
                        target_write_u32(target, FCTR,
-                                        FCTR_FS_LOADREQ | FCTR_FS_WPB |
-                                        FCTR_FS_WEB | FCTR_FS_WRE | FCTR_FS_CS);
+                               FCTR_FS_LOADREQ | FCTR_FS_WPB |
+                               FCTR_FS_WEB | FCTR_FS_WRE | FCTR_FS_CS);
 
                        /* Mark the sector for erasure. The last sector in the list
                           triggers the erasure. */
                        target_write_u32(target, bank->sectors[sector].offset, 0);
-                       if ( sector == last_unsecured_sector )
-                       {
+                       if (sector == last_unsecured_sector) {
                                target_write_u32(target, FCTR,
-                                                FCTR_FS_PROGREQ | FCTR_FS_WPB | FCTR_FS_CS);
-                       }
-                       else
-                       {
+                                       FCTR_FS_PROGREQ | FCTR_FS_WPB | FCTR_FS_CS);
+                       } else {
                                target_write_u32(target, FCTR,
-                                                FCTR_FS_LOADREQ | FCTR_FS_WPB |
-                                                FCTR_FS_WEB | FCTR_FS_CS);
+                                       FCTR_FS_LOADREQ | FCTR_FS_WPB |
+                                       FCTR_FS_WEB | FCTR_FS_CS);
                        }
                }
        }
@@ -1159,10 +1027,8 @@ static int lpc2900_erase(struct flash_bank *bank, int first, int last)
        /* Wait for the end of the erase operation. If it's not over after two seconds,
         * something went dreadfully wrong... :-(
         */
-       if( lpc2900_wait_status(bank, INTSRC_END_OF_ERASE, 2000) != ERROR_OK )
-       {
+       if (lpc2900_wait_status(bank, INTSRC_END_OF_ERASE, 2000) != ERROR_OK)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* Normal flash operating mode */
        target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB);
@@ -1170,22 +1036,19 @@ static int lpc2900_erase(struct flash_bank *bank, int first, int last)
        return ERROR_OK;
 }
 
-
-
 static int lpc2900_protect(struct flash_bank *bank, int set, int first, int last)
 {
        /* This command is not supported.
-     * "Protection" in LPC2900 terms is handled transparently. Sectors will
-     * automatically be unprotected as needed.
-     * Instead we use the concept of sector security. A secured sector is shown
-     * as "protected" in OpenOCD. Sector security is a permanent feature, and
-     * cannot be disabled once activated.
-     */
+       * "Protection" in LPC2900 terms is handled transparently. Sectors will
+       * automatically be unprotected as needed.
+       * Instead we use the concept of sector security. A secured sector is shown
+       * as "protected" in OpenOCD. Sector security is a permanent feature, and
+       * cannot be disabled once activated.
+       */
 
        return ERROR_OK;
 }
 
-
 /**
  * Write data to flash.
  *
@@ -1195,7 +1058,7 @@ static int lpc2900_protect(struct flash_bank *bank, int set, int first, int last
  * @param count Number of bytes to be programmed
  */
 static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
-                         uint32_t offset, uint32_t count)
+       uint32_t offset, uint32_t count)
 {
        uint8_t page[FLASH_PAGE_SIZE];
        uint32_t status;
@@ -1207,117 +1070,107 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
 
        static const uint32_t write_target_code[] = {
                /* Set auto latch mode: FCTR=CS|WRE|WEB */
-               0xe3a0a007,   /* loop       mov r10, #0x007 */
-               0xe583a000,   /*            str r10,[r3,#0] */
+               0xe3a0a007,     /* loop       mov r10, #0x007 */
+               0xe583a000,     /*            str r10,[r3,#0] */
 
                /* Load complete page into latches */
-               0xe3a06020,   /*            mov r6,#(512/16) */
-               0xe8b00f00,   /* next       ldmia r0!,{r8-r11} */
-               0xe8a10f00,   /*            stmia r1!,{r8-r11} */
-               0xe2566001,   /*            subs r6,#1 */
-               0x1afffffb,   /*            bne next */
+               0xe3a06020,     /*            mov r6,#(512/16) */
+               0xe8b00f00,     /* next       ldmia r0!,{r8-r11} */
+               0xe8a10f00,     /*            stmia r1!,{r8-r11} */
+               0xe2566001,     /*            subs r6,#1 */
+               0x1afffffb,     /*            bne next */
 
                /* Clear END_OF_BURN interrupt status */
-               0xe3a0a002,   /*            mov r10,#(1 << 1) */
-               0xe583afe8,   /*            str r10,[r3,#0xfe8] */
+               0xe3a0a002,     /*            mov r10,#(1 << 1) */
+               0xe583afe8,     /*            str r10,[r3,#0xfe8] */
 
                /* Set the erase time to FLASH_PROGRAM_TIME */
-               0xe5834008,   /*            str r4,[r3,#8] */
+               0xe5834008,     /*            str r4,[r3,#8] */
 
                /* Trigger flash write
-                       FCTR = CS | WRE | WPB | PROGREQ */
-               0xe3a0a083,   /*            mov r10,#0x83 */
-               0xe38aaa01,   /*            orr r10,#0x1000 */
-               0xe583a000,   /*            str r10,[r3,#0] */
+                * FCTR = CS | WRE | WPB | PROGREQ */
+               0xe3a0a083,     /*            mov r10,#0x83 */
+               0xe38aaa01,     /*            orr r10,#0x1000 */
+               0xe583a000,     /*            str r10,[r3,#0] */
 
                /* Wait for end of burn */
-               0xe593afe0,   /* wait       ldr r10,[r3,#0xfe0] */
-               0xe21aa002,   /*            ands r10,#(1 << 1) */
-               0x0afffffc,   /*            beq wait */
+               0xe593afe0,     /* wait       ldr r10,[r3,#0xfe0] */
+               0xe21aa002,     /*            ands r10,#(1 << 1) */
+               0x0afffffc,     /*            beq wait */
 
                /* End? */
-               0xe2522001,   /*            subs r2,#1 */
-               0x1affffed,   /*            bne loop */
+               0xe2522001,     /*            subs r2,#1 */
+               0x1affffed,     /*            bne loop */
 
-               0xeafffffe    /* done       b done */
+               0xeafffffe      /* done       b done */
        };
 
 
        status = lpc2900_is_ready(bank);
        if (status != ERROR_OK)
-       {
                return status;
-       }
 
        /* Enable flash block and set the correct CRA clock of 66 kHz */
        lpc2900_setup(bank);
 
        /* Update the info about secured sectors */
-       lpc2900_read_security_status( bank );
+       lpc2900_read_security_status(bank);
 
        /* Unprotect all involved sectors */
-       for (sector = 0; sector < bank->num_sectors; sector++)
-       {
-               /* Start address in or before this sector? */
-               /* End address in or behind this sector? */
-               if ( ((bank->base + offset) <
-                         (bank->sectors[sector].offset + bank->sectors[sector].size)) &&
-                    ((bank->base + (offset + count - 1)) >= bank->sectors[sector].offset) )
-               {
+       for (sector = 0; sector < bank->num_sectors; sector++) {
+               /* Start address in or before this sector?
+                * End address in or behind this sector? */
+               if (((bank->base + offset) <
+                               (bank->sectors[sector].offset + bank->sectors[sector].size)) &&
+                               ((bank->base + (offset + count - 1)) >= bank->sectors[sector].offset)) {
                        /* This sector is involved and needs to be unprotected.
-                               * Don't do it for secured sectors.
-                               */
-                       if ( !bank->sectors[sector].is_protected )
-                       {
+                        * Don't do it for secured sectors.
+                        */
+                       if (!bank->sectors[sector].is_protected) {
                                target_write_u32(target, bank->sectors[sector].offset, 0);
                                target_write_u32(target, FCTR,
-                                                FCTR_FS_LOADREQ | FCTR_FS_WPB |
-                                                FCTR_FS_WEB | FCTR_FS_WRE | FCTR_FS_CS);
+                                       FCTR_FS_LOADREQ | FCTR_FS_WPB |
+                                       FCTR_FS_WEB | FCTR_FS_WRE | FCTR_FS_CS);
                        }
                }
        }
 
        /* Set the program/erase time to FLASH_PROGRAM_TIME */
-       uint32_t prog_time = FPTR_EN_T | lpc2900_calc_tr( lpc2900_info->clk_sys_fmc,
-                                                         FLASH_PROGRAM_TIME );
+       uint32_t prog_time = FPTR_EN_T | lpc2900_calc_tr(lpc2900_info->clk_sys_fmc, FLASH_PROGRAM_TIME);
 
        /* If there is a working area of reasonable size, use it to program via
-          a target algorithm. If not, fall back to host programming. */
+        * a target algorithm. If not, fall back to host programming. */
 
        /* We need some room for target code. */
        uint32_t target_code_size = sizeof(write_target_code);
 
        /* Try working area allocation. Start with a large buffer, and try with
-          reduced size if that fails. */
+        * reduced size if that fails. */
        struct working_area *warea;
        uint32_t buffer_size = lpc2900_info->max_ram_block - 1 * KiB;
-       while( (retval = target_alloc_working_area_try(target,
-                                                  buffer_size + target_code_size,
-                                                  &warea)) != ERROR_OK )
-       {
+       while ((retval = target_alloc_working_area_try(target,
+                                buffer_size + target_code_size,
+                                &warea)) != ERROR_OK) {
                /* Try a smaller buffer now, and stop if it's too small. */
                buffer_size -= 1 * KiB;
-               if (buffer_size < 2 * KiB)
-               {
-                       LOG_INFO( "no (large enough) working area"
-                                 ", falling back to host mode" );
+               if (buffer_size < 2 * KiB) {
+                       LOG_INFO("no (large enough) working area, falling back to host mode");
                        warea = NULL;
                        break;
                }
-       };
+       }
+       ;
 
-       if( warea )
-       {
+       if (warea) {
                struct reg_param reg_params[5];
                struct arm_algorithm armv4_5_info;
 
                /* We can use target mode. Download the algorithm. */
-               retval = target_write_buffer( target,
-                                             (warea->address)+buffer_size,
-                                             target_code_size,
-                                             (uint8_t *)write_target_code);
-               if (retval != ERROR_OK)
-               {
+               retval = target_write_buffer(target,
+                               (warea->address)+buffer_size,
+                               target_code_size,
+                               (uint8_t *)write_target_code);
+               if (retval != ERROR_OK) {
                        LOG_ERROR("Unable to write block write code to target");
                        target_free_all_working_areas(target);
                        return ERROR_FLASH_OPERATION_FAILED;
@@ -1330,58 +1183,50 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
                init_reg_param(&reg_params[4], "r4", 32, PARAM_OUT);
 
                /* Write to flash in large blocks */
-               while ( count != 0 )
-               {
+               while (count != 0) {
                        uint32_t this_npages;
                        uint8_t *this_buffer;
-                       int start_sector = lpc2900_address2sector( bank, offset );
+                       int start_sector = lpc2900_address2sector(bank, offset);
 
                        /* First page / last page / rest */
-                       if( offset % FLASH_PAGE_SIZE )
-                       {
+                       if (offset % FLASH_PAGE_SIZE) {
                                /* Block doesn't start on page boundary.
-                                  Burn first partial page separately. */
-                               memset( &page, 0xff, sizeof(page) );
-                               memcpy( &page[offset % FLASH_PAGE_SIZE],
-                                       buffer,
-                                       FLASH_PAGE_SIZE - (offset % FLASH_PAGE_SIZE) );
+                                * Burn first partial page separately. */
+                               memset(&page, 0xff, sizeof(page));
+                               memcpy(&page[offset % FLASH_PAGE_SIZE],
+                                       buffer,
+                                       FLASH_PAGE_SIZE - (offset % FLASH_PAGE_SIZE));
                                this_npages = 1;
                                this_buffer = &page[0];
                                count = count + (offset % FLASH_PAGE_SIZE);
                                offset = offset - (offset % FLASH_PAGE_SIZE);
-                       }
-                       else if( count < FLASH_PAGE_SIZE )
-                       {
+                       } else if (count < FLASH_PAGE_SIZE) {
                                /* Download last incomplete page separately. */
-                               memset( &page, 0xff, sizeof(page) );
-                               memcpy( &page, buffer, count );
+                               memset(&page, 0xff, sizeof(page));
+                               memcpy(&page, buffer, count);
                                this_npages = 1;
                                this_buffer = &page[0];
                                count = FLASH_PAGE_SIZE;
-                       }
-                       else
-                       {
+                       } else {
                                /* Download as many full pages as possible */
                                this_npages = (count < buffer_size) ?
-                                              count / FLASH_PAGE_SIZE :
-                                              buffer_size / FLASH_PAGE_SIZE;
+                                       count / FLASH_PAGE_SIZE :
+                                       buffer_size / FLASH_PAGE_SIZE;
                                this_buffer = buffer;
 
                                /* Make sure we stop at the next secured sector */
                                sector = start_sector + 1;
-                               while( sector < bank->num_sectors )
-                               {
+                               while (sector < bank->num_sectors) {
                                        /* Secured? */
-                                       if( bank->sectors[sector].is_protected )
-                                       {
+                                       if (bank->sectors[sector].is_protected) {
                                                /* Is that next sector within the current block? */
-                                               if( (bank->sectors[sector].offset - bank->base) <
-                                                       (offset + (this_npages * FLASH_PAGE_SIZE)) )
-                                               {
+                                               if ((bank->sectors[sector].offset - bank->base) <
+                                                               (offset + (this_npages * FLASH_PAGE_SIZE))) {
                                                        /* Yes! Split the block */
                                                        this_npages =
-                                                         (bank->sectors[sector].offset - bank->base - offset)
-                                                             / FLASH_PAGE_SIZE;
+                                                               (bank->sectors[sector].offset -
+                                                                bank->base - offset)
+                                                               / FLASH_PAGE_SIZE;
                                                        break;
                                                }
                                        }
@@ -1391,20 +1236,17 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
                        }
 
                        /* Skip the current sector if it is secured */
-                       if (bank->sectors[start_sector].is_protected)
-                       {
+                       if (bank->sectors[start_sector].is_protected) {
                                LOG_DEBUG("Skip secured sector %d",
-                                               start_sector);
+                                       start_sector);
 
                                /* Stop if this is the last sector */
                                if (start_sector == bank->num_sectors - 1)
-                               {
                                        break;
-                               }
 
                                /* Skip */
                                uint32_t nskip = bank->sectors[start_sector].size -
-                                                (offset % bank->sectors[start_sector].size);
+                                       (offset % bank->sectors[start_sector].size);
                                offset += nskip;
                                buffer += nskip;
                                count = (count >= nskip) ? (count - nskip) : 0;
@@ -1412,11 +1254,9 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
                        }
 
                        /* Execute buffer download */
-                       if ((retval = target_write_buffer(target,
-                                                         warea->address,
-                                                         this_npages * FLASH_PAGE_SIZE,
-                                                         this_buffer)) != ERROR_OK)
-                       {
+                       retval = target_write_buffer(target, warea->address,
+                                       this_npages * FLASH_PAGE_SIZE, this_buffer);
+                       if (retval != ERROR_OK) {
                                LOG_ERROR("Unable to write data to target");
                                target_free_all_working_areas(target);
                                return ERROR_FLASH_OPERATION_FAILED;
@@ -1435,13 +1275,12 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
                        armv4_5_info.core_state = ARM_STATE_ARM;
 
                        retval = target_run_algorithm(target, 0, NULL, 5, reg_params,
-                               (warea->address) + buffer_size,
-                               (warea->address) + buffer_size + target_code_size - 4,
-                               10000, /* 10s should be enough for max. 16 KiB of data */
-                               &armv4_5_info);
+                                       (warea->address) + buffer_size,
+                                       (warea->address) + buffer_size + target_code_size - 4,
+                                       10000,  /* 10s should be enough for max. 16 KiB of data */
+                                       &armv4_5_info);
 
-                       if (retval != ERROR_OK)
-                       {
+                       if (retval != ERROR_OK) {
                                LOG_ERROR("Execution of flash algorithm failed.");
                                target_free_all_working_areas(target);
                                retval = ERROR_FLASH_OPERATION_FAILED;
@@ -1460,38 +1299,32 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
                destroy_reg_param(&reg_params[3]);
                destroy_reg_param(&reg_params[4]);
                target_free_all_working_areas(target);
-       }
-       else
-       {
+       } else {
                /* Write to flash memory page-wise */
-               while ( count != 0 )
-               {
+               while (count != 0) {
                        /* How many bytes do we copy this time? */
                        num_bytes = (count >= FLASH_PAGE_SIZE) ?
-                                   FLASH_PAGE_SIZE - (offset % FLASH_PAGE_SIZE) :
-                                   count;
+                               FLASH_PAGE_SIZE - (offset % FLASH_PAGE_SIZE) :
+                               count;
 
                        /* Don't do anything with it if the page is in a secured sector. */
-                       if ( !bank->sectors[lpc2900_address2sector(bank, offset)].is_protected )
-                       {
+                       if (!bank->sectors[lpc2900_address2sector(bank, offset)].is_protected) {
                                /* Set latch load mode */
                                target_write_u32(target, FCTR,
-                                                FCTR_FS_CS | FCTR_FS_WRE | FCTR_FS_WEB);
+                                       FCTR_FS_CS | FCTR_FS_WRE | FCTR_FS_WEB);
 
                                /* Always clear the buffer (a little overhead, but who cares) */
                                memset(page, 0xFF, FLASH_PAGE_SIZE);
 
                                /* Copy them to the buffer */
-                               memcpy( &page[offset % FLASH_PAGE_SIZE],
-                                       &buffer[offset % FLASH_PAGE_SIZE],
-                                       num_bytes );
+                               memcpy(&page[offset % FLASH_PAGE_SIZE],
+                                       &buffer[offset % FLASH_PAGE_SIZE],
+                                       num_bytes);
 
                                /* Write whole page to flash data latches */
-                               if (target_write_memory(
-                                                target,
-                                                bank->base + (offset - (offset % FLASH_PAGE_SIZE)),
-                                                4, FLASH_PAGE_SIZE / 4, page) != ERROR_OK)
-                               {
+                               if (target_write_memory(target,
+                                               bank->base + (offset - (offset % FLASH_PAGE_SIZE)),
+                                               4, FLASH_PAGE_SIZE / 4, page) != ERROR_OK) {
                                        LOG_ERROR("Write failed @ 0x%8.8" PRIx32, offset);
                                        target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB);
 
@@ -1506,13 +1339,12 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
 
                                /* Trigger flash write */
                                target_write_u32(target, FCTR,
-                                   FCTR_FS_CS | FCTR_FS_WRE | FCTR_FS_WPB | FCTR_FS_PROGREQ);
+                                       FCTR_FS_CS | FCTR_FS_WRE | FCTR_FS_WPB | FCTR_FS_PROGREQ);
 
                                /* Wait for the end of the write operation. If it's not over
                                 * after one second, something went dreadfully wrong... :-(
                                 */
-                               if (lpc2900_wait_status(bank, INTSRC_END_OF_BURN, 1000) != ERROR_OK)
-                               {
+                               if (lpc2900_wait_status(bank, INTSRC_END_OF_BURN, 1000) != ERROR_OK) {
                                        LOG_ERROR("Write failed @ 0x%8.8" PRIx32, offset);
                                        target_write_u32(target, FCTR, FCTR_FS_CS | FCTR_FS_WEB);
 
@@ -1535,7 +1367,6 @@ static int lpc2900_write(struct flash_bank *bank, uint8_t *buffer,
        return retval;
 }
 
-
 /**
  * Try and identify the device.
  *
@@ -1551,25 +1382,21 @@ static int lpc2900_probe(struct flash_bank *bank)
        uint32_t offset;
 
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        /* We want to do this only once. */
        if (lpc2900_info->is_probed)
-       {
                return ERROR_OK;
-       }
 
        /* Probing starts with reading the CHIPID register. We will continue only
         * if this identifies as an LPC2900 device.
         */
        target_read_u32(target, CHIPID, &lpc2900_info->chipid);
 
-       if (lpc2900_info->chipid != EXPECTED_CHIPID)
-       {
+       if (lpc2900_info->chipid != EXPECTED_CHIPID) {
                LOG_WARNING("Device is not an LPC29xx");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -1592,13 +1419,10 @@ static int lpc2900_probe(struct flash_bank *bank)
 
        /* Determine maximum contiguous RAM block */
        lpc2900_info->max_ram_block = 16 * KiB;
-       if( (feat1 & 0x30) == 0x30 )
-       {
+       if ((feat1 & 0x30) == 0x30) {
                lpc2900_info->max_ram_block = 32 * KiB;
-               if( (feat1 & 0x0C) == 0x0C )
-               {
+               if ((feat1 & 0x0C) == 0x0C)
                        lpc2900_info->max_ram_block = 48 * KiB;
-               }
        }
 
        /* Determine package code and ITCM size */
@@ -1607,93 +1431,57 @@ static int lpc2900_probe(struct flash_bank *bank)
 
        /* Determine the exact type number. */
        uint32_t found = 1;
-       if ( (package_code == 4) && (itcm_code == 5) )
-       {
+       if ((package_code == 4) && (itcm_code == 5)) {
                /* Old LPC2917 or LPC2919 (non-/01 devices) */
                lpc2900_info->target_name = (bank->size == 768*KiB) ? "LPC2919" : "LPC2917";
-       }
-       else
-       {
-               if ( package_code == 2 )
-               {
+       } else {
+               if (package_code == 2) {
                        /* 100-pin package */
-                       if ( bank->size == 128*KiB )
-                       {
+                       if (bank->size == 128*KiB)
                                lpc2900_info->target_name = "LPC2921";
-                       }
-                       else if ( bank->size == 256*KiB )
-                       {
+                       else if (bank->size == 256*KiB)
                                lpc2900_info->target_name = "LPC2923";
-                       }
-                       else if ( bank->size == 512*KiB )
-                       {
+                       else if (bank->size == 512*KiB)
                                lpc2900_info->target_name = "LPC2925";
-                       }
                        else
-                       {
                                found = 0;
-                       }
-               }
-               else if ( package_code == 4 )
-               {
+               } else if (package_code == 4) {
                        /* 144-pin package */
-                       if ( (bank->size == 256*KiB) && (feat3 == 0xFFFFFFE9) )
-                       {
+                       if ((bank->size == 256*KiB) && (feat3 == 0xFFFFFFE9))
                                lpc2900_info->target_name = "LPC2926";
-                       }
-                       else if ( (bank->size == 512*KiB) && (feat3 == 0xFFFFFCF0) )
-                       {
+                       else if ((bank->size == 512*KiB) && (feat3 == 0xFFFFFCF0))
                                lpc2900_info->target_name = "LPC2917/01";
-                       }
-                       else if ( (bank->size == 512*KiB) && (feat3 == 0xFFFFFFF1) )
-                       {
+                       else if ((bank->size == 512*KiB) && (feat3 == 0xFFFFFFF1))
                                lpc2900_info->target_name = "LPC2927";
-                       }
-                       else if ( (bank->size == 768*KiB) && (feat3 == 0xFFFFFCF8) )
-                       {
+                       else if ((bank->size == 768*KiB) && (feat3 == 0xFFFFFCF8))
                                lpc2900_info->target_name = "LPC2919/01";
-                       }
-                       else if ( (bank->size == 768*KiB) && (feat3 == 0xFFFFFFF9) )
-                       {
+                       else if ((bank->size == 768*KiB) && (feat3 == 0xFFFFFFF9))
                                lpc2900_info->target_name = "LPC2929";
-                       }
                        else
-                       {
                                found = 0;
-                       }
-               }
-               else if ( package_code == 5 )
-               {
+               } else if (package_code == 5) {
                        /* 208-pin package */
                        lpc2900_info->target_name = (bank->size == 0) ? "LPC2930" : "LPC2939";
-               }
-               else
-               {
+               } else
                        found = 0;
-               }
        }
 
-       if ( !found )
-       {
-               LOG_WARNING("Unknown LPC29xx derivative"
-                           " (FEATx="
-                           "%08" PRIx32 ":%08" PRIx32 ":%08" PRIx32 ":%08" PRIx32 ")",
-                                       feat0, feat1, feat2, feat3
-                                       );
+       if (!found) {
+               LOG_WARNING("Unknown LPC29xx derivative (FEATx="
+                       "%08" PRIx32 ":%08" PRIx32 ":%08" PRIx32 ":%08" PRIx32 ")",
+                       feat0, feat1, feat2, feat3);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        /* Show detected device */
-       LOG_INFO("Flash bank %d"
-                ": Device %s, %" PRIu32
-                " KiB in %d sectors",
-                bank->bank_number,
-                lpc2900_info->target_name, bank->size / KiB,
-                bank->num_sectors);
+       LOG_INFO("Flash bank %d: Device %s, %" PRIu32
+               " KiB in %d sectors",
+               bank->bank_number,
+               lpc2900_info->target_name, bank->size / KiB,
+               bank->num_sectors);
 
        /* Flashless devices cannot be handled */
-       if ( bank->num_sectors == 0 )
-       {
+       if (bank->num_sectors == 0) {
                LOG_WARNING("Flashless device cannot be handled");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -1706,22 +1494,16 @@ static int lpc2900_probe(struct flash_bank *bank)
        bank->sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
 
        offset = 0;
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                bank->sectors[i].offset = offset;
                bank->sectors[i].is_erased = -1;
                bank->sectors[i].is_protected = -1;
 
-               if ( i <= 7 )
-               {
+               if (i <= 7)
                        bank->sectors[i].size = 8 * KiB;
-               }
-               else if ( i <= 18 )
-               {
+               else if (i <= 18)
                        bank->sectors[i].size = 64 * KiB;
-               }
-               else
-               {
+               else {
                        /* We shouldn't come here. But there might be a new part out there
                         * that has more than 19 sectors. Politely ask for a fix then.
                         */
@@ -1735,8 +1517,7 @@ static int lpc2900_probe(struct flash_bank *bank)
        lpc2900_info->is_probed = true;
 
        /* Read sector security status */
-       if ( lpc2900_read_security_status(bank) != ERROR_OK )
-       {
+       if (lpc2900_read_security_status(bank) != ERROR_OK) {
                LOG_ERROR("Cannot determine sector security status");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -1744,7 +1525,6 @@ static int lpc2900_probe(struct flash_bank *bank)
        return ERROR_OK;
 }
 
-
 /**
  * Run a blank check for each sector.
  *
@@ -1757,8 +1537,7 @@ static int lpc2900_probe(struct flash_bank *bank)
 static int lpc2900_erase_check(struct flash_bank *bank)
 {
        uint32_t status = lpc2900_is_ready(bank);
-       if (status != ERROR_OK)
-       {
+       if (status != ERROR_OK) {
                LOG_INFO("Processor not halted/not probed");
                return status;
        }
@@ -1767,43 +1546,35 @@ static int lpc2900_erase_check(struct flash_bank *bank)
         * sector. Compare against the expected signature of an empty sector.
         */
        int sector;
-       for ( sector = 0; sector < bank->num_sectors; sector++ )
-       {
+       for (sector = 0; sector < bank->num_sectors; sector++) {
                uint32_t signature[4];
-               if ( (status = lpc2900_run_bist128( bank,
-                                                   bank->sectors[sector].offset,
-                                                   bank->sectors[sector].offset +
-                                                      (bank->sectors[sector].size - 1),
-                                                   &signature)) != ERROR_OK )
-               {
+               status = lpc2900_run_bist128(bank, bank->sectors[sector].offset,
+                               bank->sectors[sector].offset + (bank->sectors[sector].size - 1), &signature);
+               if (status != ERROR_OK)
                        return status;
-               }
 
                /* The expected signatures for an empty sector are different
                 * for 8 KiB and 64 KiB sectors.
                 */
-               if ( bank->sectors[sector].size == 8*KiB )
-               {
+               if (bank->sectors[sector].size == 8*KiB) {
                        bank->sectors[sector].is_erased =
-                           (signature[3] == 0x01ABAAAA) &&
-                           (signature[2] == 0xAAAAAAAA) &&
-                           (signature[1] == 0xAAAAAAAA) &&
-                           (signature[0] == 0xAAA00AAA);
+                               (signature[3] == 0x01ABAAAA) &&
+                               (signature[2] == 0xAAAAAAAA) &&
+                               (signature[1] == 0xAAAAAAAA) &&
+                               (signature[0] == 0xAAA00AAA);
                }
-               if ( bank->sectors[sector].size == 64*KiB )
-               {
+               if (bank->sectors[sector].size == 64*KiB) {
                        bank->sectors[sector].is_erased =
-                           (signature[3] == 0x11801222) &&
-                           (signature[2] == 0xB88844FF) &&
-                           (signature[1] == 0x11A22008) &&
-                           (signature[0] == 0x2B1BFE44);
+                               (signature[3] == 0x11801222) &&
+                               (signature[2] == 0xB88844FF) &&
+                               (signature[1] == 0x11A22008) &&
+                               (signature[0] == 0x2B1BFE44);
                }
        }
 
        return ERROR_OK;
 }
 
-
 /**
  * Get protection (sector security) status.
  *
@@ -1817,7 +1588,6 @@ static int lpc2900_protect_check(struct flash_bank *bank)
        return lpc2900_read_security_status(bank);
 }
 
-
 /**
  * Print info about the driver (not the device).
  *
@@ -1828,23 +1598,20 @@ static int lpc2900_protect_check(struct flash_bank *bank)
 static int lpc2900_info(struct flash_bank *bank, char *buf, int buf_size)
 {
        snprintf(buf, buf_size, "lpc2900 flash driver");
-
        return ERROR_OK;
 }
 
-
-struct flash_driver lpc2900_flash =
-{
-       .name               = "lpc2900",
-       .commands           = lpc2900_command_handlers,
+struct flash_driver lpc2900_flash = {
+       .name = "lpc2900",
+       .commands = lpc2900_command_handlers,
        .flash_bank_command = lpc2900_flash_bank_command,
-       .erase              = lpc2900_erase,
-       .protect            = lpc2900_protect,
-       .write              = lpc2900_write,
-       .read               = default_flash_read,
-       .probe              = lpc2900_probe,
-       .auto_probe         = lpc2900_probe,
-       .erase_check        = lpc2900_erase_check,
-       .protect_check      = lpc2900_protect_check,
-       .info               = lpc2900_info
+       .erase = lpc2900_erase,
+       .protect = lpc2900_protect,
+       .write = lpc2900_write,
+       .read = default_flash_read,
+       .probe = lpc2900_probe,
+       .auto_probe = lpc2900_probe,
+       .erase_check = lpc2900_erase_check,
+       .protect_check = lpc2900_protect_check,
+       .info = lpc2900_info
 };
index 8acc3cc44a37fe5f10a3ab17c9c9842e175e1f15..bcc920d2668c709c9871e931ebac12c4994eb1df 100644 (file)
@@ -19,6 +19,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -27,7 +28,6 @@
 #include "cfi.h"
 #include "non_cfi.h"
 
-
 #define KB 1024
 #define MB (1024*1024)
 #define ERASE_REGION(num, size) (((size/256) << 16) | (num-1))
@@ -43,8 +43,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(16, 4*KB)
                }
        },
@@ -57,8 +56,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(32, 4*KB)
                }
        },
@@ -71,8 +69,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(64, 4*KB)
                }
        },
@@ -85,8 +82,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(128, 4*KB)
                }
        },
@@ -99,8 +95,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(8, 64*KB)
                }
        },
@@ -113,8 +108,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(128, 4*KB)
                }
        },
@@ -127,8 +121,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1, 16*KB),
                        ERASE_REGION(2,  8*KB),
                        ERASE_REGION(1, 32*KB),
@@ -144,8 +137,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(7, 64*KB),
                        ERASE_REGION(1, 32*KB),
                        ERASE_REGION(2,  8*KB),
@@ -156,9 +148,9 @@ static struct non_cfi non_cfi_flashes[] = {
        /* SST 39VF* do not support DQ5 status polling - this currently is
           only supported by the host algorithm, not by the target code using
           the work area.
-           Only true for 8-bit and 32-bit wide memories. 16-bit wide memories
-           without DQ5 status polling are supported by the target code.
-        */
+          Only true for 8-bit and 32-bit wide memories. 16-bit wide memories
+          without DQ5 status polling are supported by the target code.
+       */
        {
                .mfr = CFI_MFR_SST,
                .id = 0x2782,                           /* SST39xF160 */
@@ -168,8 +160,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(512, 4*KB)
                }
        },
@@ -182,8 +173,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1024, 4*KB)
                }
        },
@@ -196,8 +186,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(512, 4*KB)
                }
        },
@@ -210,8 +199,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(512, 4*KB)
                }
        },
@@ -224,8 +212,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(512, 4*KB)
                }
        },
@@ -238,8 +225,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1024, 4*KB)
                }
        },
@@ -252,26 +238,24 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
                .num_erase_regions = 1,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1024, 4*KB)
                }
        },
        {
-       .mfr = CFI_MFR_SST,
-           .id = 0x236d,               /* SST39VF6401B */
-           .pri_id = 0x02,
-           .dev_size = 8*MB,
-           .interface_desc = 0x2,      /* x8 or x16 device with nBYTE */
-           .max_buf_write_size = 0x0,
-           .status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
-           .num_erase_regions = 1,
-           .erase_region_info =
-           {
-               ERASE_REGION(2048, 4*KB)
-           }
-       },
-       {
+               .mfr = CFI_MFR_SST,
+               .id = 0x236d,           /* SST39VF6401B */
+               .pri_id = 0x02,
+               .dev_size = 8*MB,
+               .interface_desc = 0x2,  /* x8 or x16 device with nBYTE */
+               .max_buf_write_size = 0x0,
+               .status_poll_mask = CFI_STATUS_POLL_MASK_DQ6_DQ7,
+               .num_erase_regions = 1,
+               .erase_region_info = {
+                       ERASE_REGION(2048, 4*KB)
+               }
+       },
+       {
                .mfr = CFI_MFR_AMD,
                .id = 0x22ab,                           /* AM29F400BB */
                .pri_id = 0x02,
@@ -280,8 +264,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1, 16*KB),
                        ERASE_REGION(2,  8*KB),
                        ERASE_REGION(1, 32*KB),
@@ -297,8 +280,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(7, 64*KB),
                        ERASE_REGION(1, 32*KB),
                        ERASE_REGION(2,  8*KB),
@@ -314,15 +296,14 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1, 16*KB),
                        ERASE_REGION(2,  8*KB),
                        ERASE_REGION(1, 32*KB),
                        ERASE_REGION(15, 64*KB)
                }
        },
-   {
+       {
                .mfr = CFI_MFR_FUJITSU,
                .id = 0x22ea,                           /* MBM29SL800TE */
                .pri_id = 0x02,
@@ -331,8 +312,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(15, 64*KB),
                        ERASE_REGION(1,  32*KB),
                        ERASE_REGION(2,  8*KB),
@@ -348,8 +328,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x00,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1, 16*KB),
                        ERASE_REGION(2,  8*KB),
                        ERASE_REGION(1, 32*KB),
@@ -365,8 +344,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1, 16*KB),
                        ERASE_REGION(2,  8*KB),
                        ERASE_REGION(1, 32*KB),
@@ -382,8 +360,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1, 16*KB),
                        ERASE_REGION(2, 8*KB),
                        ERASE_REGION(1, 32*KB),
@@ -400,8 +377,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1, 16*KB),
                        ERASE_REGION(2, 8*KB),
                        ERASE_REGION(1, 32*KB),
@@ -417,8 +393,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(31, 64*KB),
                        ERASE_REGION(1, 32*KB),
                        ERASE_REGION(2, 8*KB),
@@ -434,8 +409,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1, 16*KB),
                        ERASE_REGION(2,  8*KB),
                        ERASE_REGION(1, 32*KB),
@@ -451,8 +425,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 3,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(8,  8*KB),
                        ERASE_REGION(2, 32*KB),
                        ERASE_REGION(30, 64*KB)
@@ -467,8 +440,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 3,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(30, 64*KB),
                        ERASE_REGION(2, 32*KB),
                        ERASE_REGION(8,  8*KB)
@@ -483,8 +455,7 @@ static struct non_cfi non_cfi_flashes[] = {
                .max_buf_write_size = 0x0,
                .status_poll_mask = CFI_STATUS_POLL_MASK_DQ5_DQ6_DQ7,
                .num_erase_regions = 4,
-               .erase_region_info =
-               {
+               .erase_region_info = {
                        ERASE_REGION(1, 16*KB),
                        ERASE_REGION(2, 8*KB),
                        ERASE_REGION(1, 32*KB),
@@ -503,18 +474,15 @@ void cfi_fixup_non_cfi(struct flash_bank *bank)
        struct cfi_flash_bank *cfi_info = bank->driver_priv;
        struct non_cfi *non_cfi = non_cfi_flashes;
 
-       if(cfi_info->x16_as_x8)
+       if (cfi_info->x16_as_x8)
                mask = 0xFF;
        else
                mask = 0xFFFF;
 
-       for (non_cfi = non_cfi_flashes; non_cfi->mfr; non_cfi++)
-       {
+       for (non_cfi = non_cfi_flashes; non_cfi->mfr; non_cfi++) {
                if ((cfi_info->manufacturer == non_cfi->mfr)
-                       && (cfi_info->device_id == (non_cfi->id & mask)))
-               {
+                   && (cfi_info->device_id == (non_cfi->id & mask)))
                        break;
-               }
        }
 
        /* only fixup jedec flashs found in table */
@@ -554,14 +522,13 @@ void cfi_fixup_non_cfi(struct flash_bank *bank)
        cfi_info->status_poll_mask = non_cfi->status_poll_mask;
        cfi_info->num_erase_regions = non_cfi->num_erase_regions;
        size_t erase_region_info_size = sizeof(*cfi_info->erase_region_info) *
-                       cfi_info->num_erase_regions;
+               cfi_info->num_erase_regions;
        cfi_info->erase_region_info = malloc(erase_region_info_size);
        memcpy(cfi_info->erase_region_info,
-                       non_cfi->erase_region_info, erase_region_info_size);
+               non_cfi->erase_region_info, erase_region_info_size);
        cfi_info->dev_size = non_cfi->dev_size;
 
-       if (cfi_info->pri_id == 0x2)
-       {
+       if (cfi_info->pri_id == 0x2) {
                struct cfi_spansion_pri_ext *pri_ext = malloc(sizeof(struct cfi_spansion_pri_ext));
 
                pri_ext->pri[0] = 'P';
@@ -589,8 +556,7 @@ void cfi_fixup_non_cfi(struct flash_bank *bank)
                pri_ext->_reversed_geometry = 0;
 
                cfi_info->pri_ext = pri_ext;
-       } else if ((cfi_info->pri_id == 0x1) || (cfi_info->pri_id == 0x3))
-       {
+       } else if ((cfi_info->pri_id == 0x1) || (cfi_info->pri_id == 0x3)) {
                LOG_ERROR("BUG: non-CFI flashes using the Intel commandset are not yet supported");
                exit(-1);
        }
index 021933356d294186f9b3cb844328ec09490eafc2..178ef01032a9e4afbc799c5fc407c7098bed024f 100644 (file)
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifndef NON_CFI_H
 #define NON_CFI_H
 
-struct non_cfi
-{
+struct non_cfi {
        uint16_t mfr;
        uint16_t id;
        uint16_t pri_id;
index 2dd4f52185ad0b129bed17366c8459968801f400..39e52c7295c81f23018b1db5c94aea00b8e19725 100644 (file)
@@ -17,6 +17,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -25,9 +26,7 @@
 #include "ocl.h"
 #include <target/embeddedice.h>
 
-
-struct ocl_priv
-{
+struct ocl_priv {
        struct arm_jtag *jtag_info;
        unsigned int buflen;
        unsigned int bufalign;
@@ -50,9 +49,7 @@ FLASH_BANK_COMMAND_HANDLER(ocl_flash_bank_command)
        struct ocl_priv *ocl;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        arm7_9 = target_to_arm7_9(bank->target);
        if (!is_arm7_9(arm7_9))
@@ -76,39 +73,36 @@ static int ocl_erase(struct flash_bank *bank, int first, int last)
        if (bank->num_sectors == 0)
                return ERROR_FLASH_BANK_NOT_PROBED;
 
-       if (bank->target->state != TARGET_RUNNING)
-       {
+       if (bank->target->state != TARGET_RUNNING) {
                LOG_ERROR("target has to be running to communicate with the loader");
                return ERROR_TARGET_NOT_RUNNING;
        }
 
-       if ((first == 0) && (last == bank->num_sectors - 1))
-       {
+       if ((first == 0) && (last == bank->num_sectors - 1)) {
                dcc_buffer[0] = OCL_ERASE_ALL;
-               if ((retval = embeddedice_send(ocl->jtag_info, dcc_buffer, 1) != ERROR_OK))
+               retval = embeddedice_send(ocl->jtag_info, dcc_buffer, 1);
+               if (retval != ERROR_OK)
                        return retval;
-       }
-       else
-       {
+       } else {
                dcc_buffer[0] = OCL_ERASE_BLOCK;
                dcc_buffer[1] = first;
                dcc_buffer[2] = last;
-               if ((retval = embeddedice_send(ocl->jtag_info, dcc_buffer, 3) != ERROR_OK))
+               retval = embeddedice_send(ocl->jtag_info, dcc_buffer, 3);
+               if (retval != ERROR_OK)
                        return retval;
        }
 
        /* wait for response, fixed timeout of 1 s */
-       if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 1000) != ERROR_OK))
-       {
+       retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 1000);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        /* receive response */
-       if ((retval = embeddedice_receive(ocl->jtag_info, dcc_buffer + 1, 1) != ERROR_OK))
+       retval = embeddedice_receive(ocl->jtag_info, dcc_buffer + 1, 1);
+       if (retval != ERROR_OK)
                return retval;
 
-       if (dcc_buffer[1] != OCL_CMD_DONE)
-       {
+       if (dcc_buffer[1] != OCL_CMD_DONE) {
                if (dcc_buffer[0] == OCL_ERASE_ALL)
                        LOG_ERROR("loader response to OCL_ERASE_ALL 0x%08" PRIx32 "", dcc_buffer[1]);
                else
@@ -140,8 +134,7 @@ static int ocl_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
        if (ocl->buflen == 0 || ocl->bufalign == 0)
                return ERROR_FLASH_BANK_NOT_PROBED;
 
-       if (bank->target->state != TARGET_RUNNING)
-       {
+       if (bank->target->state != TARGET_RUNNING) {
                LOG_ERROR("target has to be running to communicate with the loader");
                return ERROR_TARGET_NOT_RUNNING;
        }
@@ -149,8 +142,7 @@ static int ocl_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
        /* allocate buffer for max. ocl buffer + overhead */
        dcc_buffer = malloc(sizeof(uint32_t)*(ocl->buflen/4 + 3));
 
-       while (count)
-       {
+       while (count) {
                if (count + (offset % ocl->bufalign) > ocl->buflen)
                        runlen = ocl->buflen - (offset % ocl->bufalign);
                else
@@ -165,10 +157,8 @@ static int ocl_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
                chksum = OCL_CHKS_INIT;
 
                /* copy data to DCC buffer in proper byte order and properly aligned */
-               for (i = 0; i < runlen; i++)
-               {
-                       switch (byteofs++)
-                       {
+               for (i = 0; i < runlen; i++) {
+                       switch (byteofs++) {
                                case 0:
                                        *dcc_bufptr &= *(buffer++) | 0xffffff00;
                                        break;
@@ -194,28 +184,27 @@ static int ocl_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset,
                *(dcc_bufptr++) = chksum;
 
                /* send the data */
-               if ((retval = embeddedice_send(ocl->jtag_info, dcc_buffer, dcc_bufptr-dcc_buffer)) != ERROR_OK)
-               {
+               retval = embeddedice_send(ocl->jtag_info, dcc_buffer, dcc_bufptr-dcc_buffer);
+               if (retval != ERROR_OK) {
                        free(dcc_buffer);
                  return retval;
                }
 
                /* wait for response, fixed timeout of 1 s */
-               if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 1000) != ERROR_OK))
-               {
+               retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 1000);
+               if (retval != ERROR_OK) {
                        free(dcc_buffer);
                        return retval;
                }
 
                /* receive response */
-               if ((retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1) != ERROR_OK))
-               {
+               retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1);
+               if (retval != ERROR_OK) {
                        free(dcc_buffer);
                        return retval;
                }
 
-               if (dcc_buffer[0] != OCL_CMD_DONE)
-               {
+               if (dcc_buffer[0] != OCL_CMD_DONE) {
                        LOG_ERROR("loader response to OCL_FLASH_BLOCK 0x%08" PRIx32 "", dcc_buffer[0]);
                        free(dcc_buffer);
                        return ERROR_FLASH_OPERATION_FAILED;
@@ -241,50 +230,61 @@ static int ocl_probe(struct flash_bank *bank)
        embeddedice_receive(ocl->jtag_info, dcc_buffer, 1);
 
        dcc_buffer[0] = OCL_PROBE;
-       if ((retval = embeddedice_send(ocl->jtag_info, dcc_buffer, 1) != ERROR_OK))
+       retval = embeddedice_send(ocl->jtag_info, dcc_buffer, 1);
+       if (retval != ERROR_OK)
                return retval;
 
        /* wait for response, fixed timeout of 1 s */
-       if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 1000) != ERROR_OK))
-       {
+       retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 1000);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
        /* receive response */
-       if ((retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1) != ERROR_OK))
+       retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1);
+       if (retval != ERROR_OK)
                return retval;
 
-       if (dcc_buffer[0] != OCL_CMD_DONE)
-       {
+       if (dcc_buffer[0] != OCL_CMD_DONE) {
                LOG_ERROR("loader response to OCL_PROBE 0x%08" PRIx32 "", dcc_buffer[0]);
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        /* receive and fill in parameters, detection of loader is important, receive it one by one */
-       if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 0) != ERROR_OK)
-               || (retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1) != ERROR_OK))
+       retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 0);
+       if (retval != ERROR_OK)
+               return retval;
+       retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1);
+       if (retval != ERROR_OK)
                return retval;
        bank->base = dcc_buffer[0];
 
-       if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 0) != ERROR_OK)
-               || (retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1) != ERROR_OK))
+       retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 0);
+       if (retval != ERROR_OK)
+               return retval;
+       retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1);
+       if (retval != ERROR_OK)
                return retval;
        bank->size = dcc_buffer[0];
 
-       if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 0) != ERROR_OK)
-               || (retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1) != ERROR_OK))
+       retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 0);
+       if (retval != ERROR_OK)
+               return retval;
+       retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1);
+       if (retval != ERROR_OK)
                return retval;
        bank->num_sectors = dcc_buffer[0];
 
-       if ((retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 0) != ERROR_OK)
-               || (retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1) != ERROR_OK))
+       retval = embeddedice_handshake(ocl->jtag_info, EICE_COMM_CTRL_WBIT, 0);
+       if (retval != ERROR_OK)
+               return retval;
+       retval = embeddedice_receive(ocl->jtag_info, dcc_buffer, 1);
+       if (retval != ERROR_OK)
                return retval;
        ocl->buflen = dcc_buffer[0] & 0xffff;
        ocl->bufalign = dcc_buffer[0] >> 16;
 
        bank->sectors = realloc(bank->sectors, sizeof(struct flash_sector)*bank->num_sectors);
-       if (bank->num_sectors == 0)
-       {
+       if (bank->num_sectors == 0) {
                LOG_ERROR("number of sectors shall be non zero value");
                return ERROR_FLASH_BANK_INVALID;
        }
@@ -293,8 +293,7 @@ static int ocl_probe(struct flash_bank *bank)
                return ERROR_FLASH_BANK_INVALID;
        }
        sectsize = bank->size / bank->num_sectors;
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                bank->sectors[i].offset = i * sectsize;
                bank->sectors[i].size = sectsize;
                bank->sectors[i].is_erased = -1;
@@ -304,20 +303,17 @@ static int ocl_probe(struct flash_bank *bank)
        if (ocl->bufalign == 0)
                ocl->bufalign = 1;
 
-       if (ocl->buflen == 0)
-       {
+       if (ocl->buflen == 0) {
                LOG_ERROR("buflen shall be non zero value");
                return ERROR_FLASH_BANK_INVALID;
        }
 
-       if ((ocl->bufalign > ocl->buflen) || (ocl->buflen % ocl->bufalign))
-       {
+       if ((ocl->bufalign > ocl->buflen) || (ocl->buflen % ocl->bufalign)) {
                LOG_ERROR("buflen is not multiple of bufalign");
                return ERROR_FLASH_BANK_INVALID;
        }
 
-       if (ocl->buflen % 4)
-       {
+       if (ocl->buflen % 4) {
                LOG_ERROR("buflen shall be divisible by 4");
                return ERROR_FLASH_BANK_INVALID;
        }
index d5c430bef6bb87c5e6fa5f4d5ed7311e1e64004c..052191bc3975d172207fae0ac836b896d3029d2d 100644 (file)
@@ -17,6 +17,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifndef OCL_H
 #define OCL_H
 
index cc7d99c7027cf9e8250c3ea4b6a38b110cee9c8a..242780ff96ea7f94fd6e51932b676cd9561e262d 100644 (file)
@@ -23,6 +23,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -46,7 +47,7 @@
  * Note: These macros only work for KSEG0/KSEG1 addresses.
  */
 
-#define Virt2Phys(v)   ((v) & 0x1FFFFFFF)
+#define Virt2Phys(v)   ((v) & 0x1FFFFFFF)
 
 /* pic32mx configuration register locations */
 
@@ -90,8 +91,7 @@
 #define NVMKEY1                        0xAA996655
 #define NVMKEY2                        0x556699AA
 
-struct pic32mx_flash_bank
-{
+struct pic32mx_flash_bank {
        struct working_area *write_algorithm;
        int probed;
 };
@@ -171,9 +171,7 @@ FLASH_BANK_COMMAND_HANDLER(pic32mx_flash_bank_command)
        struct pic32mx_flash_bank *pic32mx_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        pic32mx_info = malloc(sizeof(struct pic32mx_flash_bank));
        bank->driver_priv = pic32mx_info;
@@ -199,8 +197,7 @@ static uint32_t pic32mx_wait_status_busy(struct flash_bank *bank, int timeout)
        uint32_t status;
 
        /* wait for busy to clear */
-       while (((status = pic32mx_get_flash_status(bank)) & NVMCON_NVMWR) && (timeout-- > 0))
-       {
+       while (((status = pic32mx_get_flash_status(bank)) & NVMCON_NVMWR) && (timeout-- > 0)) {
                LOG_DEBUG("status: 0x%" PRIx32, status);
                alive_sleep(1);
        }
@@ -240,8 +237,7 @@ static int pic32mx_protect_check(struct flash_bank *bank)
        int s;
        int num_pages;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -249,15 +245,13 @@ static int pic32mx_protect_check(struct flash_bank *bank)
        target_read_u32(target, PIC32MX_DEVCFG0, &devcfg0);
 
        if ((devcfg0 & (1 << 28)) == 0) /* code protect bit */
-               num_pages = 0xffff;  /* All pages protected */
-       else if (Virt2Phys(bank->base) == PIC32MX_PHYS_BOOT_FLASH)
-       {
+               num_pages = 0xffff;                     /* All pages protected */
+       else if (Virt2Phys(bank->base) == PIC32MX_PHYS_BOOT_FLASH) {
                if (devcfg0 & (1 << 24))
-                       num_pages = 0;       /* All pages unprotected */
+                       num_pages = 0;                  /* All pages unprotected */
                else
-                       num_pages = 0xffff;  /* All pages protected */
-       }
-       else /* pgm flash */
+                       num_pages = 0xffff;             /* All pages protected */
+       } else /* pgm flash */
                num_pages = (~devcfg0 >> 12) & 0xff;
 
        for (s = 0; s < bank->num_sectors && s < num_pages; s++)
@@ -274,15 +268,13 @@ static int pic32mx_erase(struct flash_bank *bank, int first, int last)
        int i;
        uint32_t status;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if ((first == 0) && (last == (bank->num_sectors - 1))
-               && (Virt2Phys(bank->base) == PIC32MX_PHYS_PGM_FLASH))
-       {
+               && (Virt2Phys(bank->base) == PIC32MX_PHYS_PGM_FLASH)) {
                /* this will only erase the Program Flash (PFM), not the Boot Flash (BFM)
                 * we need to use the MTAP to perform a full erase */
                LOG_DEBUG("Erasing entire program flash");
@@ -294,8 +286,7 @@ static int pic32mx_erase(struct flash_bank *bank, int first, int last)
                return ERROR_OK;
        }
 
-       for (i = first; i <= last; i++)
-       {
+       for (i = first; i <= last; i++) {
                target_write_u32(target, PIC32MX_NVMADDR, Virt2Phys(bank->base + bank->sectors[i].offset));
 
                status = pic32mx_nvm_exec(bank, NVMCON_OP_PAGE_ERASE, 10);
@@ -314,8 +305,7 @@ static int pic32mx_protect(struct flash_bank *bank, int set, int first, int last
 {
        struct target *target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -381,7 +371,7 @@ static const uint32_t pic32mx_flash_write_code[] = {
        0x1600FFFD,             /* bne $s0, $zero, waitflash */
        0x00000000,             /* nop */
        0x00000000,             /* nop */
-       0x00000000,     /* nop */
+       0x00000000,             /* nop */
        0x00000000,             /* nop */
        0x00000000,             /* nop */
        0x8D510000,             /* lw $s1, 0($t2) */
@@ -407,24 +397,20 @@ static int pic32mx_write_block(struct flash_bank *bank, uint8_t *buffer,
 
        /* flash write code */
        if (target_alloc_working_area(target, sizeof(pic32mx_flash_write_code),
-                       &pic32mx_info->write_algorithm) != ERROR_OK)
-       {
+                       &pic32mx_info->write_algorithm) != ERROR_OK) {
                LOG_WARNING("no working area available, can't do block memory writes");
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        };
 
-       if ((retval = target_write_buffer(target,
-                       pic32mx_info->write_algorithm->address,
-                       sizeof(pic32mx_flash_write_code),
-                       (uint8_t*)pic32mx_flash_write_code)) != ERROR_OK)
+       retval = target_write_buffer(target, pic32mx_info->write_algorithm->address,
+                       sizeof(pic32mx_flash_write_code), (uint8_t *)pic32mx_flash_write_code);
+       if (retval != ERROR_OK)
                return retval;
 
        /* memory buffer */
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= 256)
-               {
+               if (buffer_size <= 256) {
                        /* if we already allocated the writing code, but failed to get a
                         * buffer, free the algorithm */
                        if (pic32mx_info->write_algorithm)
@@ -442,25 +428,24 @@ static int pic32mx_write_block(struct flash_bank *bank, uint8_t *buffer,
        init_reg_param(&reg_params[1], "a1", 32, PARAM_OUT);
        init_reg_param(&reg_params[2], "a2", 32, PARAM_OUT);
 
-       while (count > 0)
-       {
+       while (count > 0) {
                uint32_t status;
                uint32_t thisrun_count = (count > (buffer_size / 4)) ?
                                (buffer_size / 4) : count;
 
-               if ((retval = target_write_buffer(target, source->address,
-                               thisrun_count * 4, buffer)) != ERROR_OK)
+               retval = target_write_buffer(target, source->address,
+                               thisrun_count * 4, buffer);
+               if (retval != ERROR_OK)
                        break;
 
                buf_set_u32(reg_params[0].value, 0, 32, Virt2Phys(source->address));
                buf_set_u32(reg_params[1].value, 0, 32, Virt2Phys(address));
                buf_set_u32(reg_params[2].value, 0, 32, thisrun_count);
 
-               if ((retval = target_run_algorithm(target, 0, NULL, 3, reg_params,
+               retval = target_run_algorithm(target, 0, NULL, 3, reg_params,
                                pic32mx_info->write_algorithm->address,
-                               0,
-                               10000, &mips32_info)) != ERROR_OK)
-               {
+                               0, 10000, &mips32_info);
+               if (retval != ERROR_OK) {
                        LOG_ERROR("error executing pic32mx flash write algorithm");
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        break;
@@ -468,15 +453,13 @@ static int pic32mx_write_block(struct flash_bank *bank, uint8_t *buffer,
 
                status = buf_get_u32(reg_params[0].value, 0, 32);
 
-               if (status & NVMCON_NVMERR)
-               {
+               if (status & NVMCON_NVMERR) {
                        LOG_ERROR("Flash write error NVMERR (status = 0x%08" PRIx32 ")", status);
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        break;
                }
 
-               if (status & NVMCON_LVDERR)
-               {
+               if (status & NVMCON_LVDERR) {
                        LOG_ERROR("Flash write error LVDERR (status = 0x%08" PRIx32 ")", status);
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        break;
@@ -516,8 +499,7 @@ static int pic32mx_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
        uint32_t status;
        int retval;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -525,53 +507,43 @@ static int pic32mx_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
        LOG_DEBUG("writing to flash at address 0x%08" PRIx32 " at offset 0x%8.8" PRIx32
                        " count: 0x%8.8" PRIx32 "", bank->base, offset, count);
 
-       if (offset & 0x3)
-       {
+       if (offset & 0x3) {
                LOG_WARNING("offset 0x%" PRIx32 "breaks required 4-byte alignment", offset);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
 
        /* multiple words (4-byte) to be programmed? */
-       if (words_remaining > 0)
-       {
+       if (words_remaining > 0) {
                /* try using a block write */
-               if ((retval = pic32mx_write_block(bank, buffer, offset, words_remaining)) != ERROR_OK)
-               {
-                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
-                       {
+               retval = pic32mx_write_block(bank, buffer, offset, words_remaining);
+               if (retval != ERROR_OK) {
+                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
                                /* if block write failed (no sufficient working area),
                                 * we use normal (slow) single dword accesses */
                                LOG_WARNING("couldn't use block writes, falling back to single memory accesses");
-                       }
-                       else if (retval == ERROR_FLASH_OPERATION_FAILED)
-                       {
+                       } else if (retval == ERROR_FLASH_OPERATION_FAILED) {
                                LOG_ERROR("flash writing failed");
                                return retval;
                        }
-               }
-               else
-               {
+               } else {
                        buffer += words_remaining * 4;
                        address += words_remaining * 4;
                        words_remaining = 0;
                }
        }
 
-       while (words_remaining > 0)
-       {
+       while (words_remaining > 0) {
                uint32_t value;
                memcpy(&value, buffer + bytes_written, sizeof(uint32_t));
 
                status = pic32mx_write_word(bank, address, value);
 
-               if (status & NVMCON_NVMERR)
-               {
+               if (status & NVMCON_NVMERR) {
                        LOG_ERROR("Flash write error NVMERR (status = 0x%08" PRIx32 ")", status);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
 
-               if (status & NVMCON_LVDERR)
-               {
+               if (status & NVMCON_LVDERR) {
                        LOG_ERROR("Flash write error LVDERR (status = 0x%08" PRIx32 ")", status);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
@@ -581,21 +553,18 @@ static int pic32mx_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offs
                address += 4;
        }
 
-       if (bytes_remaining)
-       {
+       if (bytes_remaining) {
                uint32_t value = 0xffffffff;
                memcpy(&value, buffer + bytes_written, bytes_remaining);
 
                status = pic32mx_write_word(bank, address, value);
 
-               if (status & NVMCON_NVMERR)
-               {
+               if (status & NVMCON_NVMERR) {
                        LOG_ERROR("Flash write error NVMERR (status = 0x%08" PRIx32 ")", status);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
 
-               if (status & NVMCON_LVDERR)
-               {
+               if (status & NVMCON_LVDERR) {
                        LOG_ERROR("Flash write error LVDERR (status = 0x%08" PRIx32 ")", status);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
@@ -631,8 +600,7 @@ static int pic32mx_probe(struct flash_bank *bank)
 
        page_size = 4096;
 
-       if (Virt2Phys(bank->base) == PIC32MX_PHYS_BOOT_FLASH)
-       {
+       if (Virt2Phys(bank->base) == PIC32MX_PHYS_BOOT_FLASH) {
                /* 0x1FC00000: Boot flash size */
 #if 0
                /* for some reason this register returns 8k for the boot bank size
@@ -646,9 +614,7 @@ static int pic32mx_probe(struct flash_bank *bank)
                /* fixed 12k boot bank - see comments above */
                num_pages = (12 * 1024);
 #endif
-       }
-       else
-       {
+       } else {
                /* read the flash size from the device */
                if (target_read_u32(target, PIC32MX_BMXPFMSZ, &num_pages) != ERROR_OK) {
                        LOG_WARNING("PIC32MX flash size failed, probe inaccurate - assuming 512k flash");
@@ -658,8 +624,7 @@ static int pic32mx_probe(struct flash_bank *bank)
 
        LOG_INFO("flash size = %" PRId32 "kbytes", num_pages / 1024);
 
-       if (bank->sectors)
-       {
+       if (bank->sectors) {
                free(bank->sectors);
                bank->sectors = NULL;
        }
@@ -670,8 +635,7 @@ static int pic32mx_probe(struct flash_bank *bank)
        bank->num_sectors = num_pages;
        bank->sectors = malloc(sizeof(struct flash_sector) * num_pages);
 
-       for (i = 0; i < (int)num_pages; i++)
-       {
+       for (i = 0; i < (int)num_pages; i++) {
                bank->sectors[i].offset = i * page_size;
                bank->sectors[i].size = page_size;
                bank->sectors[i].is_erased = -1;
@@ -709,17 +673,15 @@ static int pic32mx_info(struct flash_bank *bank, char *buf, int buf_size)
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
-       for (i = 0; pic32mx_devs[i].name != NULL; i++)
-       {
+       for (i = 0; pic32mx_devs[i].name != NULL; i++) {
                if (pic32mx_devs[i].devid == (device_id & 0x0fffffff)) {
                        printed = snprintf(buf, buf_size, "PIC32MX%s", pic32mx_devs[i].name);
                        break;
                }
        }
 
-       if (pic32mx_devs[i].name == NULL) {
+       if (pic32mx_devs[i].name == NULL)
                printed = snprintf(buf, buf_size, "Unknown");
-       }
 
        buf += printed;
        buf_size -= printed;
@@ -735,9 +697,7 @@ COMMAND_HANDLER(pic32mx_handle_pgm_word_command)
        int status, res;
 
        if (CMD_ARGC != 3)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], address);
        COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], value);
@@ -747,8 +707,7 @@ COMMAND_HANDLER(pic32mx_handle_pgm_word_command)
        if (ERROR_OK != retval)
                return retval;
 
-       if (address < bank->base || address >= (bank->base + bank->size))
-       {
+       if (address < bank->base || address >= (bank->base + bank->size)) {
                command_print(CMD_CTX, "flash address '%s' is out of bounds", CMD_ARGV[0]);
                return ERROR_OK;
        }
@@ -776,8 +735,7 @@ COMMAND_HANDLER(pic32mx_handle_unlock_command)
        struct mips_ejtag *ejtag_info;
        int timeout = 10;
 
-       if (CMD_ARGC < 1)
-       {
+       if (CMD_ARGC < 1) {
                command_print(CMD_CTX, "pic32mx unlock <bank>");
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
@@ -798,8 +756,7 @@ COMMAND_HANDLER(pic32mx_handle_unlock_command)
        /* first check status of device */
        mchip_cmd = MCHP_STATUS;
        mips_ejtag_drscan_8(ejtag_info, &mchip_cmd);
-       if (mchip_cmd & (1 << 7))
-       {
+       if (mchip_cmd & (1 << 7)) {
                /* device is not locked */
                command_print(CMD_CTX, "pic32mx is already unlocked, erasing anyway");
        }
@@ -812,8 +769,7 @@ COMMAND_HANDLER(pic32mx_handle_unlock_command)
        do {
                mchip_cmd = MCHP_STATUS;
                mips_ejtag_drscan_8(ejtag_info, &mchip_cmd);
-               if (timeout-- == 0)
-               {
+               if (timeout-- == 0) {
                        LOG_DEBUG("timeout waiting for unlock: 0x%" PRIx32 "", mchip_cmd);
                        break;
                }
index 1aaa6e41470128a7db0b968b3f2ff6f5c47d2621..712077da233d35c9f20818b35961c3688d3e7d93 100644 (file)
 static void stellaris_read_clock_info(struct flash_bank *bank);
 static int stellaris_mass_erase(struct flash_bank *bank);
 
-struct stellaris_flash_bank
-{
+struct stellaris_flash_bank {
        /* chip id register */
        uint32_t did0;
        uint32_t did1;
        uint32_t dc0;
        uint32_t dc1;
 
-       const char * target_name;
+       const char *target_name;
        uint8_t target_class;
 
        uint32_t sramsiz;
@@ -123,8 +122,8 @@ struct stellaris_flash_bank
        const char *mck_desc;
 };
 
-// Autogenerated by contrib/gen-stellaris-part-header.pl
-// From Stellaris Firmware Development Package revision 8049
+/* Autogenerated by contrib/gen-stellaris-part-header.pl */
+/* From Stellaris Firmware Development Package revision 8049 */
 static struct {
        uint8_t class;
        uint8_t partno;
@@ -415,8 +414,7 @@ static struct {
        {0xFF, 0x00, "Unknown Part"}
 };
 
-static char * StellarisClassname[7] =
-{
+static char *StellarisClassname[7] = {
        "Sandstorm",
        "Fury",
        "Unknown",
@@ -437,9 +435,7 @@ FLASH_BANK_COMMAND_HANDLER(stellaris_flash_bank_command)
        struct stellaris_flash_bank *stellaris_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        stellaris_info = calloc(sizeof(struct stellaris_flash_bank), 1);
        bank->base = 0x0;
@@ -503,8 +499,7 @@ static int get_stellaris_info(struct flash_bank *bank, char *buf, int buf_size)
        buf += printed;
        buf_size -= printed;
 
-       if (stellaris_info->num_lockbits > 0)
-       {
+       if (stellaris_info->num_lockbits > 0) {
                snprintf(buf,
                                buf_size,
                                "pagesize: %" PRIi32 ", pages: %d, "
@@ -532,7 +527,7 @@ static void stellaris_set_flash_timing(struct flash_bank *bank)
        if (stellaris_info->target_class > 1)
                return;
 
-       LOG_DEBUG("usecrl = %i",(int)(usecrl));
+       LOG_DEBUG("usecrl = %i", (int)(usecrl));
        target_write_u32(target, SCB_BASE | USECRL, usecrl);
 }
 
@@ -613,8 +608,7 @@ static void stellaris_read_clock_info(struct flash_bank *bank)
 
        stellaris_info->mck_desc = "";
 
-       switch (oscsrc)
-       {
+       switch (oscsrc) {
                case 0:                         /* MOSC */
                        mainfreq = rcc_xtal[xtal];
                        break;
@@ -670,22 +664,19 @@ static int stellaris_read_part_info(struct flash_bank *bank)
                  did0, did1, stellaris_info->dc0, stellaris_info->dc1);
 
        ver = did0 >> 28;
-       if ((ver != 0) && (ver != 1))
-       {
+       if ((ver != 0) && (ver != 1)) {
                LOG_WARNING("Unknown did0 version, cannot identify target");
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
-       if (did1 == 0)
-       {
+       if (did1 == 0) {
                LOG_WARNING("Cannot identify target as a Stellaris");
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
        ver = did1 >> 28;
        fam = (did1 >> 24) & 0xF;
-       if (((ver != 0) && (ver != 1)) || (fam != 0))
-       {
+       if (((ver != 0) && (ver != 1)) || (fam != 0)) {
                LOG_WARNING("Unknown did1 version/family.");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -754,7 +745,7 @@ static int stellaris_read_part_info(struct flash_bank *bank)
        stellaris_info->did1 = did1;
 
        stellaris_info->num_lockbits = 1 + (stellaris_info->dc0 & 0xFFFF);
-       stellaris_info->num_pages = 2 *(1 + (stellaris_info->dc0 & 0xFFFF));
+       stellaris_info->num_pages = 2 * (1 + (stellaris_info->dc0 & 0xFFFF));
        stellaris_info->pagesize = 1024;
        stellaris_info->pages_in_lockregion = 2;
 
@@ -823,8 +814,7 @@ static int stellaris_erase(struct flash_bank *bank, int first, int last)
        struct stellaris_flash_bank *stellaris_info = bank->driver_priv;
        struct target *target = bank->target;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -833,14 +823,10 @@ static int stellaris_erase(struct flash_bank *bank, int first, int last)
                return ERROR_FLASH_BANK_NOT_PROBED;
 
        if ((first < 0) || (last < first) || (last >= (int)stellaris_info->num_pages))
-       {
                return ERROR_FLASH_SECTOR_INVALID;
-       }
 
        if ((first == 0) && (last == ((int)stellaris_info->num_pages-1)))
-       {
                return stellaris_mass_erase(bank);
-       }
 
        /* Refresh flash controller timing */
        stellaris_read_clock_info(bank);
@@ -854,24 +840,21 @@ static int stellaris_erase(struct flash_bank *bank, int first, int last)
         * it might want to process those IRQs.
         */
 
-       for (banknr = first; banknr <= last; banknr++)
-       {
+       for (banknr = first; banknr <= last; banknr++) {
                /* Address is first word in page */
                target_write_u32(target, FLASH_FMA, banknr * stellaris_info->pagesize);
                /* Write erase command */
                target_write_u32(target, FLASH_FMC, FMC_WRKEY | FMC_ERASE);
                /* Wait until erase complete */
-               do
-               {
+               do {
                        target_read_u32(target, FLASH_FMC, &flash_fmc);
-               }
-               while (flash_fmc & FMC_ERASE);
+               } while (flash_fmc & FMC_ERASE);
 
                /* Check acess violations */
                target_read_u32(target, FLASH_CRIS, &flash_cris);
-               if (flash_cris & (AMASK))
-               {
-                       LOG_WARNING("Error erasing flash page %i,  flash_cris 0x%" PRIx32 "", banknr, flash_cris);
+               if (flash_cris & (AMASK)) {
+                       LOG_WARNING("Error erasing flash page %i,  flash_cris 0x%" PRIx32 "",
+                                       banknr, flash_cris);
                        target_write_u32(target, FLASH_CRIS, 0);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
@@ -890,14 +873,12 @@ static int stellaris_protect(struct flash_bank *bank, int set, int first, int la
        struct stellaris_flash_bank *stellaris_info = bank->driver_priv;
        struct target *target = bank->target;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (!set)
-       {
+       if (!set) {
                LOG_ERROR("Hardware doesn't support page-level unprotect. "
                        "Try the 'recover' command.");
                return ERROR_COMMAND_SYNTAX_ERROR;
@@ -909,8 +890,7 @@ static int stellaris_protect(struct flash_bank *bank, int set, int first, int la
        /* lockregions are 2 pages ... must protect [even..odd] */
        if ((first < 0) || (first & 1)
                        || (last < first) || !(last & 1)
-                       || (last >= 2 * stellaris_info->num_lockbits))
-       {
+                       || (last >= 2 * stellaris_info->num_lockbits)) {
                LOG_ERROR("Can't protect unaligned or out-of-range pages.");
                return ERROR_FLASH_SECTOR_INVALID;
        }
@@ -944,7 +924,7 @@ static int stellaris_protect(struct flash_bank *bank, int set, int first, int la
         * it might want to process those IRQs.
         */
 
-       LOG_DEBUG("fmppe 0x%" PRIx32 "",fmppe);
+       LOG_DEBUG("fmppe 0x%" PRIx32 "", fmppe);
        target_write_u32(target, SCB_BASE | FMPPE, fmppe);
 
        /* Commit FMPPE */
@@ -960,16 +940,13 @@ static int stellaris_protect(struct flash_bank *bank, int set, int first, int la
        /* target_write_u32(target, FLASH_FMC, FMC_WRKEY | FMC_COMT); */
 
        /* Wait until erase complete */
-       do
-       {
+       do {
                target_read_u32(target, FLASH_FMC, &flash_fmc);
-       }
-       while (flash_fmc & FMC_COMT);
+       } while (flash_fmc & FMC_COMT);
 
        /* Check acess violations */
        target_read_u32(target, FLASH_CRIS, &flash_cris);
-       if (flash_cris & (AMASK))
-       {
+       if (flash_cris & (AMASK)) {
                LOG_WARNING("Error setting flash page protection,  flash_cris 0x%" PRIx32 "", flash_cris);
                target_write_u32(target, FLASH_CRIS, 0);
                return ERROR_FLASH_OPERATION_FAILED;
@@ -980,8 +957,7 @@ static int stellaris_protect(struct flash_bank *bank, int set, int first, int la
 
 /* see contib/loaders/flash/stellaris.s for src */
 
-static const uint8_t stellaris_write_code[] =
-{
+static const uint8_t stellaris_write_code[] = {
 /*
        Call with :
        r0 = buffer address
@@ -995,28 +971,28 @@ static const uint8_t stellaris_write_code[] =
        r6 = bytes written
        r7 = temp reg
 */
-       0x07,0x4B,                      /* ldr r3,pFLASH_CTRL_BASE */
-       0x08,0x4C,                      /* ldr r4,FLASHWRITECMD */
-       0x01,0x25,                      /* movs r5, 1 */
-       0x00,0x26,                      /* movs r6, #0 */
+       0x07, 0x4B,                     /* ldr r3,pFLASH_CTRL_BASE */
+       0x08, 0x4C,                     /* ldr r4,FLASHWRITECMD */
+       0x01, 0x25,                     /* movs r5, 1 */
+       0x00, 0x26,                     /* movs r6, #0 */
 /* mainloop: */
-       0x19,0x60,                      /* str  r1, [r3, #0] */
-       0x87,0x59,                      /* ldr  r7, [r0, r6] */
-       0x5F,0x60,                      /* str  r7, [r3, #4] */
-       0x9C,0x60,                      /* str  r4, [r3, #8] */
+       0x19, 0x60,                     /* str  r1, [r3, #0] */
+       0x87, 0x59,                     /* ldr  r7, [r0, r6] */
+       0x5F, 0x60,                     /* str  r7, [r3, #4] */
+       0x9C, 0x60,                     /* str  r4, [r3, #8] */
 /* waitloop: */
-       0x9F,0x68,                      /* ldr  r7, [r3, #8] */
-       0x2F,0x42,                      /* tst  r7, r5 */
-       0xFC,0xD1,                      /* bne  waitloop */
-       0x04,0x31,                      /* adds r1, r1, #4 */
-       0x04,0x36,                      /* adds r6, r6, #4 */
-       0x96,0x42,                      /* cmp  r6, r2 */
-       0xF4,0xD1,                      /* bne  mainloop */
-       0x00,0xBE,              /* bkpt #0 */
+       0x9F, 0x68,                     /* ldr  r7, [r3, #8] */
+       0x2F, 0x42,                     /* tst  r7, r5 */
+       0xFC, 0xD1,                     /* bne  waitloop */
+       0x04, 0x31,                     /* adds r1, r1, #4 */
+       0x04, 0x36,                     /* adds r6, r6, #4 */
+       0x96, 0x42,                     /* cmp  r6, r2 */
+       0xF4, 0xD1,                     /* bne  mainloop */
+       0x00, 0xBE,                     /* bkpt #0 */
 /* pFLASH_CTRL_BASE: */
-       0x00,0xD0,0x0F,0x40,    /* .word        0x400FD000 */
+       0x00, 0xD0, 0x0F, 0x40, /* .word        0x400FD000 */
 /* FLASHWRITECMD: */
-       0x01,0x00,0x42,0xA4     /* .word        0xA4420001 */
+       0x01, 0x00, 0x42, 0xA4  /* .word        0xA4420001 */
 };
 
 static int stellaris_write_block(struct flash_bank *bank,
@@ -1042,8 +1018,8 @@ static int stellaris_write_block(struct flash_bank *bank,
                        bank, buffer, offset, wcount);
 
        /* flash write code */
-       if (target_alloc_working_area(target, sizeof(stellaris_write_code), &write_algorithm) != ERROR_OK)
-       {
+       if (target_alloc_working_area(target, sizeof(stellaris_write_code),
+                       &write_algorithm) != ERROR_OK) {
                LOG_DEBUG("no working area for block memory writes");
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        };
@@ -1053,11 +1029,9 @@ static int stellaris_write_block(struct flash_bank *bank,
                buffer_size = wcount * 4;
 
        /* memory buffer */
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= buf_min)
-               {
+               if (buffer_size <= buf_min) {
                        target_free_working_area(target, write_algorithm);
                        return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
                }
@@ -1076,8 +1050,7 @@ static int stellaris_write_block(struct flash_bank *bank,
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);
        init_reg_param(&reg_params[2], "r2", 32, PARAM_OUT);
 
-       while (wcount > 0)
-       {
+       while (wcount > 0) {
                uint32_t thisrun_count = (wcount > (buffer_size / 4)) ? (buffer_size / 4) : wcount;
 
                target_write_buffer(target, source->address, thisrun_count * 4, buffer);
@@ -1093,8 +1066,7 @@ static int stellaris_write_block(struct flash_bank *bank,
                                write_algorithm->address,
                                0,
                                10000, &armv7m_info);
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        LOG_ERROR("error %d executing stellaris "
                                        "flash write algorithm",
                                        retval);
@@ -1121,7 +1093,8 @@ static int stellaris_write_block(struct flash_bank *bank,
        return retval;
 }
 
-static int stellaris_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
+static int stellaris_write(struct flash_bank *bank, uint8_t *buffer,
+               uint32_t offset, uint32_t count)
 {
        struct stellaris_flash_bank *stellaris_info = bank->driver_priv;
        struct target *target = bank->target;
@@ -1132,8 +1105,7 @@ static int stellaris_write(struct flash_bank *bank, uint8_t *buffer, uint32_t of
        uint32_t bytes_written = 0;
        int retval;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1144,8 +1116,7 @@ static int stellaris_write(struct flash_bank *bank, uint8_t *buffer, uint32_t of
        if (stellaris_info->did1 == 0)
                return ERROR_FLASH_BANK_NOT_PROBED;
 
-       if (offset & 0x3)
-       {
+       if (offset & 0x3) {
                LOG_WARNING("offset size must be word aligned");
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
@@ -1166,36 +1137,28 @@ static int stellaris_write(struct flash_bank *bank, uint8_t *buffer, uint32_t of
         */
 
        /* multiple words to be programmed? */
-       if (words_remaining > 0)
-       {
+       if (words_remaining > 0) {
                /* try using a block write */
                retval = stellaris_write_block(bank, buffer, offset,
                                words_remaining);
-               if (retval != ERROR_OK)
-               {
-                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
-                       {
+               if (retval != ERROR_OK) {
+                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
                                LOG_DEBUG("writing flash word-at-a-time");
-                       }
-                       else if (retval == ERROR_FLASH_OPERATION_FAILED)
-                       {
+                       } else if (retval == ERROR_FLASH_OPERATION_FAILED) {
                                /* if an error occured, we examine the reason, and quit */
                                target_read_u32(target, FLASH_CRIS, &flash_cris);
 
                                LOG_ERROR("flash writing failed with CRIS: 0x%" PRIx32 "", flash_cris);
                                return ERROR_FLASH_OPERATION_FAILED;
                        }
-               }
-               else
-               {
+               } else {
                        buffer += words_remaining * 4;
                        address += words_remaining * 4;
                        words_remaining = 0;
                }
        }
 
-       while (words_remaining > 0)
-       {
+       while (words_remaining > 0) {
                if (!(address & 0xff))
                        LOG_DEBUG("0x%" PRIx32 "", address);
 
@@ -1205,8 +1168,7 @@ static int stellaris_write(struct flash_bank *bank, uint8_t *buffer, uint32_t of
                target_write_u32(target, FLASH_FMC, FMC_WRKEY | FMC_WRITE);
                /* LOG_DEBUG("0x%x 0x%x 0x%x",address,buf_get_u32(buffer, 0, 32),FMC_WRKEY | FMC_WRITE); */
                /* Wait until write complete */
-               do
-               {
+               do {
                        target_read_u32(target, FLASH_FMC, &flash_fmc);
                } while (flash_fmc & FMC_WRITE);
 
@@ -1215,8 +1177,7 @@ static int stellaris_write(struct flash_bank *bank, uint8_t *buffer, uint32_t of
                words_remaining--;
        }
 
-       if (bytes_remaining)
-       {
+       if (bytes_remaining) {
                uint8_t last_word[4] = {0xff, 0xff, 0xff, 0xff};
 
                /* copy the last remaining bytes into the write buffer */
@@ -1231,16 +1192,14 @@ static int stellaris_write(struct flash_bank *bank, uint8_t *buffer, uint32_t of
                target_write_u32(target, FLASH_FMC, FMC_WRKEY | FMC_WRITE);
                /* LOG_DEBUG("0x%x 0x%x 0x%x",address,buf_get_u32(buffer, 0, 32),FMC_WRKEY | FMC_WRITE); */
                /* Wait until write complete */
-               do
-               {
+               do {
                        target_read_u32(target, FLASH_FMC, &flash_fmc);
                } while (flash_fmc & FMC_WRITE);
        }
 
        /* Check access violations */
        target_read_u32(target, FLASH_CRIS, &flash_cris);
-       if (flash_cris & (AMASK))
-       {
+       if (flash_cris & (AMASK)) {
                LOG_DEBUG("flash_cris 0x%" PRIx32 "", flash_cris);
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -1266,8 +1225,7 @@ static int stellaris_probe(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       if (bank->sectors)
-       {
+       if (bank->sectors) {
                free(bank->sectors);
                bank->sectors = NULL;
        }
@@ -1276,8 +1234,7 @@ static int stellaris_probe(struct flash_bank *bank)
        bank->size = 1024 * stellaris_info->num_pages;
        bank->num_sectors = stellaris_info->num_pages;
        bank->sectors = calloc(bank->num_sectors, sizeof(struct flash_sector));
-       for (int i = 0; i < bank->num_sectors; i++)
-       {
+       for (int i = 0; i < bank->num_sectors; i++) {
                bank->sectors[i].offset = i * stellaris_info->pagesize;
                bank->sectors[i].size = stellaris_info->pagesize;
                bank->sectors[i].is_erased = -1;
@@ -1296,8 +1253,7 @@ static int stellaris_mass_erase(struct flash_bank *bank)
        stellaris_info = bank->driver_priv;
        target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1320,24 +1276,19 @@ static int stellaris_mass_erase(struct flash_bank *bank)
        target_write_u32(target, FLASH_FMA, 0);
        target_write_u32(target, FLASH_FMC, FMC_WRKEY | FMC_MERASE);
        /* Wait until erase complete */
-       do
-       {
+       do {
                target_read_u32(target, FLASH_FMC, &flash_fmc);
-       }
-       while (flash_fmc & FMC_MERASE);
+       } while (flash_fmc & FMC_MERASE);
 
        /* if device has > 128k, then second erase cycle is needed
         * this is only valid for older devices, but will not hurt */
-       if (stellaris_info->num_pages * stellaris_info->pagesize > 0x20000)
-       {
+       if (stellaris_info->num_pages * stellaris_info->pagesize > 0x20000) {
                target_write_u32(target, FLASH_FMA, 0x20000);
                target_write_u32(target, FLASH_FMC, FMC_WRKEY | FMC_MERASE);
                /* Wait until erase complete */
-               do
-               {
+               do {
                        target_read_u32(target, FLASH_FMC, &flash_fmc);
-               }
-               while (flash_fmc & FMC_MERASE);
+               } while (flash_fmc & FMC_MERASE);
        }
 
        return ERROR_OK;
@@ -1348,29 +1299,21 @@ COMMAND_HANDLER(stellaris_handle_mass_erase_command)
        int i;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
        if (ERROR_OK != retval)
                return retval;
 
-       if (stellaris_mass_erase(bank) == ERROR_OK)
-       {
+       if (stellaris_mass_erase(bank) == ERROR_OK) {
                /* set all sectors as erased */
                for (i = 0; i < bank->num_sectors; i++)
-               {
                        bank->sectors[i].is_erased = 1;
-               }
 
                command_print(CMD_CTX, "stellaris mass erase complete");
-       }
-       else
-       {
+       } else
                command_print(CMD_CTX, "stellaris mass erase failed");
-       }
 
        return ERROR_OK;
 }
index 02ab8c990d55b4c79b37dfa4731a2a2d73fba11e..b3f78ca405e13534684994dcf986d12548e499e5 100644 (file)
@@ -23,6 +23,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 #define KEY1                   0x45670123
 #define KEY2                   0xCDEF89AB
 
-struct stm32x_options
-{
+struct stm32x_options {
        uint16_t RDP;
        uint16_t user_options;
        uint16_t protection[4];
 };
 
-struct stm32x_flash_bank
-{
+struct stm32x_flash_bank {
        struct stm32x_options option_bytes;
        struct working_area *write_algorithm;
        int ppage_size;
@@ -129,9 +128,7 @@ FLASH_BANK_COMMAND_HANDLER(stm32x_flash_bank_command)
        struct stm32x_flash_bank *stm32x_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        stm32x_info = malloc(sizeof(struct stm32x_flash_bank));
        bank->driver_priv = stm32x_info;
@@ -163,37 +160,32 @@ static int stm32x_wait_status_busy(struct flash_bank *bank, int timeout)
        int retval = ERROR_OK;
 
        /* wait for busy to clear */
-       for (;;)
-       {
+       for (;;) {
                retval = stm32x_get_flash_status(bank, &status);
                if (retval != ERROR_OK)
                        return retval;
                LOG_DEBUG("status: 0x%" PRIx32 "", status);
                if ((status & FLASH_BSY) == 0)
                        break;
-               if (timeout-- <= 0)
-               {
+               if (timeout-- <= 0) {
                        LOG_ERROR("timed out waiting for flash");
                        return ERROR_FAIL;
                }
                alive_sleep(1);
        }
 
-       if (status & FLASH_WRPRTERR)
-       {
+       if (status & FLASH_WRPRTERR) {
                LOG_ERROR("stm32x device protected");
                retval = ERROR_FAIL;
        }
 
-       if (status & FLASH_PGERR)
-       {
+       if (status & FLASH_PGERR) {
                LOG_ERROR("stm32x device programming failed");
                retval = ERROR_FAIL;
        }
 
        /* Clear but report errors */
-       if (status & (FLASH_WRPRTERR | FLASH_PGERR))
-       {
+       if (status & (FLASH_WRPRTERR | FLASH_PGERR)) {
                /* If this operation fails, we ignore it and report the original
                 * retval
                 */
@@ -209,8 +201,7 @@ int stm32x_check_operation_supported(struct flash_bank *bank)
 
        /* if we have a dual flash bank device then
         * we need to perform option byte stuff on bank0 only */
-       if (stm32x_info->register_base != FLASH_REG_BASE_B0)
-       {
+       if (stm32x_info->register_base != FLASH_REG_BASE_B0) {
                LOG_ERROR("Option Byte Operation's must use bank0");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -395,8 +386,7 @@ static int stm32x_protect_check(struct flash_bank *bank)
        int num_bits;
        int set;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -415,8 +405,7 @@ static int stm32x_protect_check(struct flash_bank *bank)
         * high density - each protection bit is for 2 * 2K pages */
        num_bits = (bank->num_sectors / stm32x_info->ppage_size);
 
-       if (stm32x_info->ppage_size == 2)
-       {
+       if (stm32x_info->ppage_size == 2) {
                /* high density flash/connectivity line protection */
 
                set = 1;
@@ -427,15 +416,12 @@ static int stm32x_protect_check(struct flash_bank *bank)
                /* bit 31 controls sector 62 - 255 protection for high density
                 * bit 31 controls sector 62 - 127 protection for connectivity line */
                for (s = 62; s < bank->num_sectors; s++)
-               {
                        bank->sectors[s].is_protected = set;
-               }
 
                if (bank->num_sectors > 61)
                        num_bits = 31;
 
-               for (i = 0; i < num_bits; i++)
-               {
+               for (i = 0; i < num_bits; i++) {
                        set = 1;
 
                        if (protection & (1 << i))
@@ -444,12 +430,9 @@ static int stm32x_protect_check(struct flash_bank *bank)
                        for (s = 0; s < stm32x_info->ppage_size; s++)
                                bank->sectors[(i * stm32x_info->ppage_size) + s].is_protected = set;
                }
-       }
-       else
-       {
+       } else {
                /* low/medium density flash protection */
-               for (i = 0; i < num_bits; i++)
-               {
+               for (i = 0; i < num_bits; i++) {
                        set = 1;
 
                        if (protection & (1 << i))
@@ -468,16 +451,13 @@ static int stm32x_erase(struct flash_bank *bank, int first, int last)
        struct target *target = bank->target;
        int i;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if ((first == 0) && (last == (bank->num_sectors - 1)))
-       {
                return stm32x_mass_erase(bank);
-       }
 
        /* unlock flash registers */
        int retval = target_write_u32(target, stm32x_get_flash_reg(bank, STM32_FLASH_KEYR), KEY1);
@@ -487,8 +467,7 @@ static int stm32x_erase(struct flash_bank *bank, int first, int last)
        if (retval != ERROR_OK)
                return retval;
 
-       for (i = first; i <= last; i++)
-       {
+       for (i = first; i <= last; i++) {
                retval = target_write_u32(target, stm32x_get_flash_reg(bank, STM32_FLASH_CR), FLASH_PER);
                if (retval != ERROR_OK)
                        return retval;
@@ -526,8 +505,7 @@ static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
 
        stm32x_info = bank->driver_priv;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -536,14 +514,12 @@ static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
        if (ERROR_OK != retval)
                return retval;
 
-       if ((first % stm32x_info->ppage_size) != 0)
-       {
+       if ((first % stm32x_info->ppage_size) != 0) {
                LOG_WARNING("aligned start protect sector to a %d sector boundary",
                                stm32x_info->ppage_size);
                first = first - (first % stm32x_info->ppage_size);
        }
-       if (((last + 1) % stm32x_info->ppage_size) != 0)
-       {
+       if (((last + 1) % stm32x_info->ppage_size) != 0) {
                LOG_WARNING("aligned end protect sector to a %d sector boundary",
                                stm32x_info->ppage_size);
                last++;
@@ -562,13 +538,11 @@ static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
        prot_reg[2] = (uint16_t)(protection >> 16);
        prot_reg[3] = (uint16_t)(protection >> 24);
 
-       if (stm32x_info->ppage_size == 2)
-       {
+       if (stm32x_info->ppage_size == 2) {
                /* high density flash */
 
                /* bit 7 controls sector 62 - 255 protection */
-               if (last > 61)
-               {
+               if (last > 61) {
                        if (set)
                                prot_reg[3] &= ~(1 << 7);
                        else
@@ -580,8 +554,7 @@ static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
                if (last > 61)
                        last = 61;
 
-               for (i = first; i <= last; i++)
-               {
+               for (i = first; i <= last; i++) {
                        reg = (i / stm32x_info->ppage_size) / 8;
                        bit = (i / stm32x_info->ppage_size) - (reg * 8);
 
@@ -590,12 +563,9 @@ static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
                        else
                                prot_reg[reg] |= (1 << bit);
                }
-       }
-       else
-       {
+       } else {
                /* medium density flash */
-               for (i = first; i <= last; i++)
-               {
+               for (i = first; i <= last; i++) {
                        reg = (i / stm32x_info->ppage_size) / 8;
                        bit = (i / stm32x_info->ppage_size) - (reg * 8);
 
@@ -606,7 +576,8 @@ static int stm32x_protect(struct flash_bank *bank, int set, int first, int last)
                }
        }
 
-       if ((status = stm32x_erase_options(bank)) != ERROR_OK)
+       status = stm32x_erase_options(bank);
+       if (status != ERROR_OK)
                return status;
 
        stm32x_info->option_bytes.protection[0] = prot_reg[0];
@@ -675,24 +646,21 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
 
        /* flash write code */
        if (target_alloc_working_area(target, sizeof(stm32x_flash_write_code),
-                       &stm32x_info->write_algorithm) != ERROR_OK)
-       {
+                       &stm32x_info->write_algorithm) != ERROR_OK) {
                LOG_WARNING("no working area available, can't do block memory writes");
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        };
 
-       if ((retval = target_write_buffer(target, stm32x_info->write_algorithm->address,
-                       sizeof(stm32x_flash_write_code),
-                       (uint8_t*)stm32x_flash_write_code)) != ERROR_OK)
+       retval = target_write_buffer(target, stm32x_info->write_algorithm->address,
+                       sizeof(stm32x_flash_write_code), (uint8_t *)stm32x_flash_write_code);
+       if (retval != ERROR_OK)
                return retval;
 
        /* memory buffer */
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               buffer_size &= ~3UL; // Make sure it's 4 byte aligned
-               if (buffer_size <= 256)
-               {
+               buffer_size &= ~3UL; /* Make sure it's 4 byte aligned */
+               if (buffer_size <= 256) {
                        /* if we already allocated the writing code, but failed to get a
                         * buffer, free the algorithm */
                        if (stm32x_info->write_algorithm)
@@ -736,35 +704,31 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
        armv7m_info.core_mode = ARMV7M_MODE_ANY;
 
        /* Start up algorithm on target and let it idle while writing the first chunk */
-       if ((retval = target_start_algorithm(target, 0, NULL, 5, reg_params,
+       retval = target_start_algorithm(target, 0, NULL, 5, reg_params,
                        stm32x_info->write_algorithm->address,
                        0,
-                       &armv7m_info)) != ERROR_OK)
-       {
+                       &armv7m_info);
+       if (retval != ERROR_OK) {
                LOG_ERROR("error starting stm32x flash write algorithm");
                goto cleanup;
        }
 
-       while (count > 0)
-       {
+       while (count > 0) {
                retval = target_read_u32(target, rp_addr, &rp);
-               if (retval != ERROR_OK)
-               {
+               if (retval != ERROR_OK) {
                        LOG_ERROR("failed to get read pointer");
                        break;
                }
 
                LOG_DEBUG("count 0x%"PRIx32" wp 0x%"PRIx32" rp 0x%"PRIx32, count, wp, rp);
 
-               if (rp == 0)
-               {
+               if (rp == 0) {
                        LOG_ERROR("flash write algorithm aborted by target");
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        break;
                }
 
-               if ((rp & 1) || rp < fifo_start_addr || rp >= fifo_end_addr)
-               {
+               if ((rp & 1) || rp < fifo_start_addr || rp >= fifo_end_addr) {
                        LOG_ERROR("corrupted fifo read pointer 0x%"PRIx32, rp);
                        break;
                }
@@ -780,8 +744,7 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
                else
                        thisrun_bytes = fifo_end_addr - wp - 2;
 
-               if (thisrun_bytes == 0)
-               {
+               if (thisrun_bytes == 0) {
                        /* Throttle polling a bit if transfer is (much) faster than flash
                         * programming. The exact delay shouldn't matter as long as it's
                         * less than buffer size / flash speed. This is very unlikely to
@@ -812,36 +775,29 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
                        break;
        }
 
-       if (retval != ERROR_OK)
-       {
+       if (retval != ERROR_OK) {
                /* abort flash write algorithm on target */
                target_write_u32(target, wp_addr, 0);
        }
 
-       int retval2;
-       if ((retval2 = target_wait_algorithm(target, 0, NULL, 5, reg_params,
-                       0,
-                       10000,
-                       &armv7m_info)) != ERROR_OK)
-       {
+       int retval2 = target_wait_algorithm(target, 0, NULL, 5, reg_params,
+                       0, 10000, &armv7m_info);
+       if (retval2 != ERROR_OK) {
                LOG_ERROR("error waiting for stm32x flash write algorithm");
                retval = retval2;
        }
 
-       if (retval == ERROR_FLASH_OPERATION_FAILED)
-       {
+       if (retval == ERROR_FLASH_OPERATION_FAILED) {
                LOG_ERROR("flash write failed at address 0x%"PRIx32,
                                buf_get_u32(reg_params[4].value, 0, 32));
 
-               if (buf_get_u32(reg_params[0].value, 0, 32) & FLASH_PGERR)
-               {
+               if (buf_get_u32(reg_params[0].value, 0, 32) & FLASH_PGERR) {
                        LOG_ERROR("flash memory not erased before writing");
                        /* Clear but report errors */
                        target_write_u32(target, STM32_FLASH_SR_B0, FLASH_PGERR);
                }
 
-               if (buf_get_u32(reg_params[0].value, 0, 32) & FLASH_WRPRTERR)
-               {
+               if (buf_get_u32(reg_params[0].value, 0, 32) & FLASH_WRPRTERR) {
                        LOG_ERROR("flash memory write protected");
                        /* Clear but report errors */
                        target_write_u32(target, STM32_FLASH_SR_B0, FLASH_WRPRTERR);
@@ -871,14 +827,12 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
        uint32_t bytes_written = 0;
        int retval;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (offset & 0x1)
-       {
+       if (offset & 0x1) {
                LOG_WARNING("offset 0x%" PRIx32 " breaks required 2-byte alignment", offset);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
@@ -892,20 +846,16 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
                return retval;
 
        /* multiple half words (2-byte) to be programmed? */
-       if (words_remaining > 0)
-       {
+       if (words_remaining > 0) {
                /* try using a block write */
-               if ((retval = stm32x_write_block(bank, buffer, offset, words_remaining)) != ERROR_OK)
-               {
-                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
-                       {
+               retval = stm32x_write_block(bank, buffer, offset, words_remaining);
+               if (retval != ERROR_OK) {
+                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
                                /* if block write failed (no sufficient working area),
                                 * we use normal (slow) single dword accesses */
                                LOG_WARNING("couldn't use block writes, falling back to single memory accesses");
                        }
-               }
-               else
-               {
+               } else {
                        buffer += words_remaining * 2;
                        address += words_remaining * 2;
                        words_remaining = 0;
@@ -915,8 +865,7 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
        if ((retval != ERROR_OK) && (retval != ERROR_TARGET_RESOURCE_NOT_AVAILABLE))
                return retval;
 
-       while (words_remaining > 0)
-       {
+       while (words_remaining > 0) {
                uint16_t value;
                memcpy(&value, buffer + bytes_written, sizeof(uint16_t));
 
@@ -936,8 +885,7 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
                address += 2;
        }
 
-       if (bytes_remaining)
-       {
+       if (bytes_remaining) {
                uint16_t value = 0xffff;
                memcpy(&value, buffer + bytes_written, bytes_remaining);
 
@@ -977,8 +925,7 @@ static int stm32x_probe(struct flash_bank *bank)
 
        /* get flash size from target. */
        retval = target_read_u16(target, 0x1FFFF7E0, &flash_size_in_kb);
-       if (retval != ERROR_OK)
-       {
+       if (retval != ERROR_OK) {
                LOG_WARNING("failed reading flash size, default to max target family");
                /* failed reading flash size, default to max target family */
                flash_size_in_kb = 0xffff;
@@ -991,8 +938,7 @@ static int stm32x_probe(struct flash_bank *bank)
                stm32x_info->ppage_size = 4;
 
                /* check for early silicon */
-               if (flash_size_in_kb == 0xffff)
-               {
+               if (flash_size_in_kb == 0xffff) {
                        /* number of sectors incorrect on revA */
                        LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 128k flash");
                        flash_size_in_kb = 128;
@@ -1004,8 +950,7 @@ static int stm32x_probe(struct flash_bank *bank)
                stm32x_info->ppage_size = 4;
 
                /* check for early silicon */
-               if (flash_size_in_kb == 0xffff)
-               {
+               if (flash_size_in_kb == 0xffff) {
                        /* number of sectors incorrect on revA */
                        LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 32k flash");
                        flash_size_in_kb = 32;
@@ -1017,8 +962,7 @@ static int stm32x_probe(struct flash_bank *bank)
                stm32x_info->ppage_size = 2;
 
                /* check for early silicon */
-               if (flash_size_in_kb == 0xffff)
-               {
+               if (flash_size_in_kb == 0xffff) {
                        /* number of sectors incorrect on revZ */
                        LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 512k flash");
                        flash_size_in_kb = 512;
@@ -1030,8 +974,7 @@ static int stm32x_probe(struct flash_bank *bank)
                stm32x_info->ppage_size = 2;
 
                /* check for early silicon */
-               if (flash_size_in_kb == 0xffff)
-               {
+               if (flash_size_in_kb == 0xffff) {
                        /* number of sectors incorrect on revZ */
                        LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 256k flash");
                        flash_size_in_kb = 256;
@@ -1043,8 +986,7 @@ static int stm32x_probe(struct flash_bank *bank)
                stm32x_info->ppage_size = 4;
 
                /* check for early silicon */
-               if (flash_size_in_kb == 0xffff)
-               {
+               if (flash_size_in_kb == 0xffff) {
                        /* number of sectors may be incorrrect on early silicon */
                        LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 128k flash");
                        flash_size_in_kb = 128;
@@ -1056,8 +998,7 @@ static int stm32x_probe(struct flash_bank *bank)
                stm32x_info->ppage_size = 4;
 
                /* check for early silicon */
-               if (flash_size_in_kb == 0xffff)
-               {
+               if (flash_size_in_kb == 0xffff) {
                        /* number of sectors may be incorrrect on early silicon */
                        LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 128k flash");
                        flash_size_in_kb = 128;
@@ -1070,29 +1011,23 @@ static int stm32x_probe(struct flash_bank *bank)
                stm32x_info->has_dual_banks = true;
 
                /* check for early silicon */
-               if (flash_size_in_kb == 0xffff)
-               {
+               if (flash_size_in_kb == 0xffff) {
                        /* number of sectors may be incorrrect on early silicon */
                        LOG_WARNING("STM32 flash size failed, probe inaccurate - assuming 1024k flash");
                        flash_size_in_kb = 1024;
                }
 
                /* split reported size into matching bank */
-               if (bank->base != 0x08080000)
-               {
+               if (bank->base != 0x08080000) {
                        /* bank 0 will be fixed 512k */
                        flash_size_in_kb = 512;
-               }
-               else
-               {
+               } else {
                        flash_size_in_kb -= 512;
                        /* bank1 also uses a register offset */
                        stm32x_info->register_base = FLASH_REG_BASE_B1;
                        base_address = 0x08080000;
                }
-       }
-       else
-       {
+       } else {
                LOG_WARNING("Cannot identify target as a STM32 family.");
                return ERROR_FAIL;
        }
@@ -1108,8 +1043,7 @@ static int stm32x_probe(struct flash_bank *bank)
        /* check that calculation result makes sense */
        assert(num_pages > 0);
 
-       if (bank->sectors)
-       {
+       if (bank->sectors) {
                free(bank->sectors);
                bank->sectors = NULL;
        }
@@ -1119,8 +1053,7 @@ static int stm32x_probe(struct flash_bank *bank)
        bank->num_sectors = num_pages;
        bank->sectors = malloc(sizeof(struct flash_sector) * num_pages);
 
-       for (i = 0; i < num_pages; i++)
-       {
+       for (i = 0; i < num_pages; i++) {
                bank->sectors[i].offset = i * page_size;
                bank->sectors[i].size = page_size;
                bank->sectors[i].is_erased = -1;
@@ -1163,8 +1096,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                buf += printed;
                buf_size -= printed;
 
-               switch (device_id >> 16)
-               {
+               switch (device_id >> 16) {
                        case 0x0000:
                                snprintf(buf, buf_size, "A");
                                break;
@@ -1190,8 +1122,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                buf += printed;
                buf_size -= printed;
 
-               switch (device_id >> 16)
-               {
+               switch (device_id >> 16) {
                        case 0x1000:
                                snprintf(buf, buf_size, "A");
                                break;
@@ -1205,8 +1136,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                buf += printed;
                buf_size -= printed;
 
-               switch (device_id >> 16)
-               {
+               switch (device_id >> 16) {
                        case 0x1000:
                                snprintf(buf, buf_size, "A");
                                break;
@@ -1224,8 +1154,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                buf += printed;
                buf_size -= printed;
 
-               switch (device_id >> 16)
-               {
+               switch (device_id >> 16) {
                        case 0x1000:
                                snprintf(buf, buf_size, "A");
                                break;
@@ -1243,8 +1172,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                buf += printed;
                buf_size -= printed;
 
-               switch (device_id >> 16)
-               {
+               switch (device_id >> 16) {
                        case 0x1000:
                                snprintf(buf, buf_size, "A");
                                break;
@@ -1262,8 +1190,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                buf += printed;
                buf_size -= printed;
 
-               switch (device_id >> 16)
-               {
+               switch (device_id >> 16) {
                        case 0x1000:
                                snprintf(buf, buf_size, "A");
                                break;
@@ -1281,8 +1208,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                buf += printed;
                buf_size -= printed;
 
-               switch (device_id >> 16)
-               {
+               switch (device_id >> 16) {
                        case 0x1000:
                                snprintf(buf, buf_size, "A");
                                break;
@@ -1291,9 +1217,7 @@ static int get_stm32x_info(struct flash_bank *bank, char *buf, int buf_size)
                                snprintf(buf, buf_size, "unknown");
                                break;
                }
-       }
-       else
-       {
+       } else {
                snprintf(buf, buf_size, "Cannot identify target as a stm32x\n");
                return ERROR_FAIL;
        }
@@ -1307,9 +1231,7 @@ COMMAND_HANDLER(stm32x_handle_lock_command)
        struct stm32x_flash_bank *stm32x_info = NULL;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1320,8 +1242,7 @@ COMMAND_HANDLER(stm32x_handle_lock_command)
 
        target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1330,8 +1251,7 @@ COMMAND_HANDLER(stm32x_handle_lock_command)
        if (ERROR_OK != retval)
                return retval;
 
-       if (stm32x_erase_options(bank) != ERROR_OK)
-       {
+       if (stm32x_erase_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "stm32x failed to erase options");
                return ERROR_OK;
        }
@@ -1339,8 +1259,7 @@ COMMAND_HANDLER(stm32x_handle_lock_command)
        /* set readout protection */
        stm32x_info->option_bytes.RDP = 0;
 
-       if (stm32x_write_options(bank) != ERROR_OK)
-       {
+       if (stm32x_write_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "stm32x failed to lock device");
                return ERROR_OK;
        }
@@ -1355,9 +1274,7 @@ COMMAND_HANDLER(stm32x_handle_unlock_command)
        struct target *target = NULL;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1366,8 +1283,7 @@ COMMAND_HANDLER(stm32x_handle_unlock_command)
 
        target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1376,14 +1292,12 @@ COMMAND_HANDLER(stm32x_handle_unlock_command)
        if (ERROR_OK != retval)
                return retval;
 
-       if (stm32x_erase_options(bank) != ERROR_OK)
-       {
+       if (stm32x_erase_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "stm32x failed to unlock device");
                return ERROR_OK;
        }
 
-       if (stm32x_write_options(bank) != ERROR_OK)
-       {
+       if (stm32x_write_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "stm32x failed to lock device");
                return ERROR_OK;
        }
@@ -1402,9 +1316,7 @@ COMMAND_HANDLER(stm32x_handle_options_read_command)
        struct stm32x_flash_bank *stm32x_info = NULL;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1415,8 +1327,7 @@ COMMAND_HANDLER(stm32x_handle_options_read_command)
 
        target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1430,32 +1341,31 @@ COMMAND_HANDLER(stm32x_handle_options_read_command)
                return retval;
        command_print(CMD_CTX, "Option Byte: 0x%" PRIx32 "", optionbyte);
 
-       if (buf_get_u32((uint8_t*)&optionbyte, OPT_ERROR, 1))
+       if (buf_get_u32((uint8_t *)&optionbyte, OPT_ERROR, 1))
                command_print(CMD_CTX, "Option Byte Complement Error");
 
-       if (buf_get_u32((uint8_t*)&optionbyte, OPT_READOUT, 1))
+       if (buf_get_u32((uint8_t *)&optionbyte, OPT_READOUT, 1))
                command_print(CMD_CTX, "Readout Protection On");
        else
                command_print(CMD_CTX, "Readout Protection Off");
 
-       if (buf_get_u32((uint8_t*)&optionbyte, OPT_RDWDGSW, 1))
+       if (buf_get_u32((uint8_t *)&optionbyte, OPT_RDWDGSW, 1))
                command_print(CMD_CTX, "Software Watchdog");
        else
                command_print(CMD_CTX, "Hardware Watchdog");
 
-       if (buf_get_u32((uint8_t*)&optionbyte, OPT_RDRSTSTOP, 1))
+       if (buf_get_u32((uint8_t *)&optionbyte, OPT_RDRSTSTOP, 1))
                command_print(CMD_CTX, "Stop: No reset generated");
        else
                command_print(CMD_CTX, "Stop: Reset generated");
 
-       if (buf_get_u32((uint8_t*)&optionbyte, OPT_RDRSTSTDBY, 1))
+       if (buf_get_u32((uint8_t *)&optionbyte, OPT_RDRSTSTDBY, 1))
                command_print(CMD_CTX, "Standby: No reset generated");
        else
                command_print(CMD_CTX, "Standby: Reset generated");
 
-       if (stm32x_info->has_dual_banks)
-       {
-               if (buf_get_u32((uint8_t*)&optionbyte, OPT_BFB2, 1))
+       if (stm32x_info->has_dual_banks) {
+               if (buf_get_u32((uint8_t *)&optionbyte, OPT_BFB2, 1))
                        command_print(CMD_CTX, "Boot: Bank 0");
                else
                        command_print(CMD_CTX, "Boot: Bank 1");
@@ -1471,9 +1381,7 @@ COMMAND_HANDLER(stm32x_handle_options_write_command)
        uint16_t optionbyte = 0xF8;
 
        if (CMD_ARGC < 4)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1484,8 +1392,7 @@ COMMAND_HANDLER(stm32x_handle_options_write_command)
 
        target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1500,57 +1407,38 @@ COMMAND_HANDLER(stm32x_handle_options_write_command)
 
        /* OPT_RDWDGSW */
        if (strcmp(CMD_ARGV[1], "SWWDG") == 0)
-       {
                optionbyte |= (1 << 0);
-       }
        else    /* REVISIT must be "HWWDG" then ... */
-       {
                optionbyte &= ~(1 << 0);
-       }
 
        /* OPT_RDRSTSTOP */
        if (strcmp(CMD_ARGV[2], "NORSTSTOP") == 0)
-       {
                optionbyte |= (1 << 1);
-       }
        else    /* REVISIT must be "RSTSTNDBY" then ... */
-       {
                optionbyte &= ~(1 << 1);
-       }
 
        /* OPT_RDRSTSTDBY */
        if (strcmp(CMD_ARGV[3], "NORSTSTNDBY") == 0)
-       {
                optionbyte |= (1 << 2);
-       }
        else    /* REVISIT must be "RSTSTOP" then ... */
-       {
                optionbyte &= ~(1 << 2);
-       }
 
-       if (CMD_ARGC > 4 && stm32x_info->has_dual_banks)
-       {
+       if (CMD_ARGC > 4 && stm32x_info->has_dual_banks) {
                /* OPT_BFB2 */
                if (strcmp(CMD_ARGV[4], "BOOT0") == 0)
-               {
                        optionbyte |= (1 << 3);
-               }
                else
-               {
                        optionbyte &= ~(1 << 3);
-               }
        }
 
-       if (stm32x_erase_options(bank) != ERROR_OK)
-       {
+       if (stm32x_erase_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "stm32x failed to erase options");
                return ERROR_OK;
        }
 
        stm32x_info->option_bytes.user_options = optionbyte;
 
-       if (stm32x_write_options(bank) != ERROR_OK)
-       {
+       if (stm32x_write_options(bank) != ERROR_OK) {
                command_print(CMD_CTX, "stm32x failed to write options");
                return ERROR_OK;
        }
@@ -1566,8 +1454,7 @@ static int stm32x_mass_erase(struct flash_bank *bank)
 {
        struct target *target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1584,7 +1471,8 @@ static int stm32x_mass_erase(struct flash_bank *bank)
        retval = target_write_u32(target, stm32x_get_flash_reg(bank, STM32_FLASH_CR), FLASH_MER);
        if (retval != ERROR_OK)
                return retval;
-       retval = target_write_u32(target, stm32x_get_flash_reg(bank, STM32_FLASH_CR), FLASH_MER | FLASH_STRT);
+       retval = target_write_u32(target, stm32x_get_flash_reg(bank, STM32_FLASH_CR),
+                       FLASH_MER | FLASH_STRT);
        if (retval != ERROR_OK)
                return retval;
 
@@ -1604,9 +1492,7 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command)
        int i;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1614,20 +1500,14 @@ COMMAND_HANDLER(stm32x_handle_mass_erase_command)
                return retval;
 
        retval = stm32x_mass_erase(bank);
-       if (retval == ERROR_OK)
-       {
+       if (retval == ERROR_OK) {
                /* set all sectors as erased */
                for (i = 0; i < bank->num_sectors; i++)
-               {
                        bank->sectors[i].is_erased = 1;
-               }
 
                command_print(CMD_CTX, "stm32x mass erase complete");
-       }
-       else
-       {
+       } else
                command_print(CMD_CTX, "stm32x mass erase failed");
-       }
 
        return retval;
 }
index 4d3571cad416ae2e142dc9abe7eaf5e0c462e0c0..efc3613849eab369703634af0214806cde85c863 100644 (file)
@@ -23,6 +23,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -70,7 +71,8 @@
  * http://www.st.com/internet/mcu/product/250192.jsp
  *
  * PM0059
- * www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/PROGRAMMING_MANUAL/CD00233952.pdf
+ * www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/
+ * PROGRAMMING_MANUAL/CD00233952.pdf
  *
  * STM32F1x series - notice that this code was copy, pasted and knocked
  * into a stm32f2x driver, so in case something has been converted or
  *
  */
 
- // Erase time can be as high as 1000ms, 10x this and it's toast...
+/* Erase time can be as high as 1000ms, 10x this and it's toast... */
 #define FLASH_ERASE_TIMEOUT 10000
 #define FLASH_WRITE_TIMEOUT 5
 
-
 #define STM32_FLASH_BASE       0x40023c00
 #define STM32_FLASH_ACR                0x40023c00
 #define STM32_FLASH_KEYR       0x40023c04
 #define STM32_FLASH_OPTCR      0x40023c14
 #define STM32_FLASH_OBR                0x40023c1C
 
-
-
 /* option byte location */
 
 #define STM32_OB_RDP           0x1FFFF800
 #define FLASH_PSIZE_16 (1 << 8)
 #define FLASH_PSIZE_32 (2 << 8)
 #define FLASH_PSIZE_64 (3 << 8)
-#define FLASH_SNB(a)   ((a) << 3)
+#define FLASH_SNB(a)   ((a) << 3)
 #define FLASH_LOCK             (1 << 31)
 
 /* FLASH_SR register bits */
 
 #define FLASH_BSY              (1 << 16)
-#define FLASH_PGSERR   (1 << 7) // Programming sequence error
-#define FLASH_PGPERR   (1 << 6) // Programming parallelism error
-#define FLASH_PGAERR   (1 << 5) // Programming alignment error
-#define FLASH_WRPERR   (1 << 4) // Write protection error
-#define FLASH_OPERR            (1 << 1) // Operation error
+#define FLASH_PGSERR   (1 << 7) /* Programming sequence error */
+#define FLASH_PGPERR   (1 << 6) /* Programming parallelism error */
+#define FLASH_PGAERR   (1 << 5) /* Programming alignment error */
+#define FLASH_WRPERR   (1 << 4) /* Write protection error */
+#define FLASH_OPERR            (1 << 1) /* Operation error */
 
-#define FLASH_ERROR (FLASH_PGSERR | FLASH_PGPERR | FLASH_PGAERR| FLASH_WRPERR| FLASH_OPERR)
+#define FLASH_ERROR (FLASH_PGSERR | FLASH_PGPERR | FLASH_PGAERR | FLASH_WRPERR | FLASH_OPERR)
 
 /* STM32_FLASH_OBR bit definitions (reading) */
 
 #define KEY1                   0x45670123
 #define KEY2                   0xCDEF89AB
 
-struct stm32x_flash_bank
-{
+struct stm32x_flash_bank {
        struct working_area *write_algorithm;
        int probed;
 };
@@ -164,9 +162,7 @@ FLASH_BANK_COMMAND_HANDLER(stm32x_flash_bank_command)
        struct stm32x_flash_bank *stm32x_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        stm32x_info = malloc(sizeof(struct stm32x_flash_bank));
        bank->driver_priv = stm32x_info;
@@ -195,16 +191,14 @@ static int stm32x_wait_status_busy(struct flash_bank *bank, int timeout)
        int retval = ERROR_OK;
 
        /* wait for busy to clear */
-       for (;;)
-       {
+       for (;;) {
                retval = stm32x_get_flash_status(bank, &status);
                if (retval != ERROR_OK)
                        return retval;
                LOG_DEBUG("status: 0x%" PRIx32 "", status);
                if ((status & FLASH_BSY) == 0)
                        break;
-               if (timeout-- <= 0)
-               {
+               if (timeout-- <= 0) {
                        LOG_ERROR("timed out waiting for flash");
                        return ERROR_FAIL;
                }
@@ -212,15 +206,13 @@ static int stm32x_wait_status_busy(struct flash_bank *bank, int timeout)
        }
 
 
-       if (status & FLASH_WRPERR)
-       {
+       if (status & FLASH_WRPERR) {
                LOG_ERROR("stm32x device protected");
                retval = ERROR_FAIL;
        }
 
        /* Clear but report errors */
-       if (status & FLASH_ERROR)
-       {
+       if (status & FLASH_ERROR) {
                /* If this operation fails, we ignore it and report the original
                 * retval
                 */
@@ -275,8 +267,7 @@ static int stm32x_erase(struct flash_bank *bank, int first, int last)
        struct target *target = bank->target;
        int i;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -297,8 +288,7 @@ static int stm32x_erase(struct flash_bank *bank, int first, int last)
        4. Wait for the BSY bit to be cleared
         */
 
-       for (i = first; i <= last; i++)
-       {
+       for (i = first; i <= last; i++) {
                retval = target_write_u32(target,
                                stm32x_get_flash_reg(bank, STM32_FLASH_CR), FLASH_SER | FLASH_SNB(i) | FLASH_STRT);
                if (retval != ERROR_OK)
@@ -361,30 +351,27 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
 
        /* Flip endian */
        uint8_t stm32x_flash_write_code[sizeof(stm32x_flash_write_code_16)*2];
-       for (unsigned i = 0; i < sizeof(stm32x_flash_write_code_16) / 2; i++)
-       {
+       for (unsigned i = 0; i < sizeof(stm32x_flash_write_code_16) / 2; i++) {
                stm32x_flash_write_code[i*2 + 0] = stm32x_flash_write_code_16[i] & 0xff;
                stm32x_flash_write_code[i*2 + 1] = (stm32x_flash_write_code_16[i] >> 8) & 0xff;
        }
 
        if (target_alloc_working_area(target, sizeof(stm32x_flash_write_code),
-                       &stm32x_info->write_algorithm) != ERROR_OK)
-       {
+                       &stm32x_info->write_algorithm) != ERROR_OK) {
                LOG_WARNING("no working area available, can't do block memory writes");
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        };
 
-       if ((retval = target_write_buffer(target, stm32x_info->write_algorithm->address,
+       retval = target_write_buffer(target, stm32x_info->write_algorithm->address,
                        sizeof(stm32x_flash_write_code),
-                       (uint8_t*)stm32x_flash_write_code)) != ERROR_OK)
+                       (uint8_t *)stm32x_flash_write_code);
+       if (retval != ERROR_OK)
                return retval;
 
        /* memory buffer */
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= 256)
-               {
+               if (buffer_size <= 256) {
                        /* if we already allocated the writing code, but failed to get a
                         * buffer, free the algorithm */
                        if (stm32x_info->write_algorithm)
@@ -404,28 +391,27 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
        init_reg_param(&reg_params[3], "r3", 32, PARAM_IN_OUT);
        init_reg_param(&reg_params[4], "r4", 32, PARAM_OUT);
 
-       while (count > 0)
-       {
+       while (count > 0) {
                uint32_t thisrun_count = (count > (buffer_size / 2)) ?
                                (buffer_size / 2) : count;
 
-               if ((retval = target_write_buffer(target, source->address,
-                               thisrun_count * 2, buffer)) != ERROR_OK)
+               retval = target_write_buffer(target, source->address, thisrun_count * 2, buffer);
+               if (retval != ERROR_OK)
                        break;
 
                buf_set_u32(reg_params[0].value, 0, 32, source->address);
                buf_set_u32(reg_params[1].value, 0, 32, address);
                buf_set_u32(reg_params[2].value, 0, 32, thisrun_count);
-               // R3 is a return value only
+               /* R3 is a return value only */
                buf_set_u32(reg_params[4].value, 0, 32, STM32_FLASH_BASE);
 
-               if ((retval = target_run_algorithm(target, 0, NULL,
+               retval = target_run_algorithm(target, 0, NULL,
                                sizeof(reg_params) / sizeof(*reg_params),
                                reg_params,
                                stm32x_info->write_algorithm->address,
                                0,
-                               10000, &armv7m_info)) != ERROR_OK)
-               {
+                               10000, &armv7m_info);
+               if (retval != ERROR_OK) {
                        LOG_ERROR("error executing stm32x flash write algorithm");
                        break;
                }
@@ -433,12 +419,9 @@ static int stm32x_write_block(struct flash_bank *bank, uint8_t *buffer,
                uint32_t error = buf_get_u32(reg_params[3].value, 0, 32) & FLASH_ERROR;
 
                if (error & FLASH_WRPERR)
-               {
                        LOG_ERROR("flash memory write protected");
-               }
 
-               if (error != 0)
-               {
+               if (error != 0) {
                        LOG_ERROR("flash write failed = %08x", error);
                        /* Clear but report errors */
                        target_write_u32(target, STM32_FLASH_SR, error);
@@ -473,14 +456,12 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
        uint32_t bytes_written = 0;
        int retval;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (offset & 0x1)
-       {
+       if (offset & 0x1) {
                LOG_WARNING("offset 0x%" PRIx32 " breaks required 2-byte alignment", offset);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
@@ -490,20 +471,16 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
                return retval;
 
        /* multiple half words (2-byte) to be programmed? */
-       if (words_remaining > 0)
-       {
+       if (words_remaining > 0) {
                /* try using a block write */
-               if ((retval = stm32x_write_block(bank, buffer, offset, words_remaining)) != ERROR_OK)
-               {
-                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
-                       {
+               retval = stm32x_write_block(bank, buffer, offset, words_remaining);
+               if (retval != ERROR_OK) {
+                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
                                /* if block write failed (no sufficient working area),
                                 * we use normal (slow) single dword accesses */
                                LOG_WARNING("couldn't use block writes, falling back to single memory accesses");
                        }
-               }
-               else
-               {
+               } else {
                        buffer += words_remaining * 2;
                        address += words_remaining * 2;
                        words_remaining = 0;
@@ -529,8 +506,7 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
        Double word access in case of x64 parallelism
        Wait for the BSY bit to be cleared
        */
-       while (words_remaining > 0)
-       {
+       while (words_remaining > 0) {
                uint16_t value;
                memcpy(&value, buffer + bytes_written, sizeof(uint16_t));
 
@@ -552,8 +528,7 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
                address += 2;
        }
 
-       if (bytes_remaining)
-       {
+       if (bytes_remaining) {
                retval = target_write_u32(target, stm32x_get_flash_reg(bank, STM32_FLASH_CR),
                                FLASH_PG | FLASH_PSIZE_8);
                if (retval != ERROR_OK)
@@ -572,8 +547,7 @@ static int stm32x_write(struct flash_bank *bank, uint8_t *buffer,
 
 static void setup_sector(struct flash_bank *bank, int start, int num, int size)
 {
-       for (int i = start; i < (start + num) ; i++)
-       {
+       for (int i = start; i < (start + num) ; i++) {
                bank->sectors[i].offset = bank->size;
                bank->sectors[i].size = size;
                bank->size += bank->sectors[i].size;
index 8ba2b83d4c5c44ebc1199f04624a96a92d6afd98..58a2a80b02edb8a1010ee21342b7a41e94ded778 100644 (file)
@@ -23,6 +23,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -117,8 +118,7 @@ static int stm32lx_enable_write_half_page(struct flash_bank *bank);
 static int stm32lx_erase_sector(struct flash_bank *bank, int sector);
 static int stm32lx_wait_until_bsy_clear(struct flash_bank *bank);
 
-struct stm32lx_flash_bank
-{
+struct stm32lx_flash_bank {
        struct working_area *write_algorithm;
        int probed;
 };
@@ -129,16 +129,13 @@ FLASH_BANK_COMMAND_HANDLER(stm32lx_flash_bank_command)
 {
        struct stm32lx_flash_bank *stm32lx_info;
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
-       // Create the bank structure
+       /* Create the bank structure */
        stm32lx_info = malloc(sizeof(struct stm32lx_flash_bank));
 
-       // Check allocation
-       if (stm32lx_info == NULL)
-       {
+       /* Check allocation */
+       if (stm32lx_info == NULL) {
                LOG_ERROR("failed to allocate bank structure");
                return ERROR_FAIL;
        }
@@ -158,8 +155,7 @@ static int stm32lx_protect_check(struct flash_bank *bank)
 
        uint32_t wrpr;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -172,16 +168,11 @@ static int stm32lx_protect_check(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       for (int i = 0; i < 32; i++)
-       {
+       for (int i = 0; i < 32; i++) {
                if (wrpr & (1 << i))
-               {
                        bank->sectors[i].is_protected = 1;
-               }
                else
-               {
                        bank->sectors[i].is_protected = 0;
-               }
        }
        return ERROR_OK;
 }
@@ -195,8 +186,7 @@ static int stm32lx_erase(struct flash_bank *bank, int first, int last)
         * erased, but it is not implemented yet.
         */
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -204,8 +194,7 @@ static int stm32lx_erase(struct flash_bank *bank, int first, int last)
        /*
         * Loop over the selected sectors and erase them
         */
-       for (int i = first; i <= last; i++)
-       {
+       for (int i = first; i <= last; i++) {
                retval = stm32lx_erase_sector(bank, i);
                if (retval != ERROR_OK)
                        return retval;
@@ -238,72 +227,66 @@ static int stm32lx_write_half_pages(struct flash_bank *bank, uint8_t *buffer,
 
        /* see contib/loaders/flash/stm32lx.s for src */
 
-       static const uint16_t stm32lx_flash_write_code_16[] =
-       {
-       //      00000000 <write_word-0x4>:
-                       0x2300, // 0:   2300            movs    r3, #0
-                       0xe004, // 2:   e004            b.n     e <test_done>
+       static const uint16_t stm32lx_flash_write_code_16[] = {
+       /*      00000000 <write_word-0x4>: */
+                       0x2300, /* 0:   2300            movs    r3, #0 */
+                       0xe004, /* 2:   e004            b.n     e <test_done> */
 
-                       //      00000004 <write_word>:
-                       0xf851, 0xcb04, // 4:   f851 cb04       ldr.w   ip, [r1], #4
-                       0xf840, 0xcb04, // 8:   f840 cb04       str.w   ip, [r0], #4
-                       0x3301, // c:   3301            adds    r3, #1
+                       /*      00000004 <write_word>: */
+                       0xf851, 0xcb04, /* 4:   f851 cb04       ldr.w   ip, [r1], #4 */
+                       0xf840, 0xcb04, /* 8:   f840 cb04       str.w   ip, [r0], #4 */
+                       0x3301, /* c:   3301            adds    r3, #1 */
 
-                       //      0000000e <test_done>:
-                       0x4293, // e:   4293            cmp     r3, r2
-                       0xd3f8, // 10:  d3f8            bcc.n   4 <write_word>
-                       0xbe00, // 12:  be00            bkpt    0x0000
+                       /*      0000000e <test_done>: */
+                       0x4293, /* e:   4293            cmp     r3, r2 */
+                       0xd3f8, /* 10:  d3f8            bcc.n   4 <write_word> */
+                       0xbe00, /* 12:  be00            bkpt    0x0000 */
 
                        };
 
-       // Flip endian
+       /* Flip endian */
        uint8_t stm32lx_flash_write_code[sizeof(stm32lx_flash_write_code_16)];
-       for (unsigned int i = 0; i < sizeof(stm32lx_flash_write_code_16) / 2; i++)
-       {
+       for (unsigned int i = 0; i < sizeof(stm32lx_flash_write_code_16) / 2; i++) {
                stm32lx_flash_write_code[i * 2 + 0] = stm32lx_flash_write_code_16[i]
                                & 0xff;
                stm32lx_flash_write_code[i * 2 + 1] = (stm32lx_flash_write_code_16[i]
                                >> 8) & 0xff;
        }
-       // Check if there is an even number of half pages (128bytes)
-       if (count % 128)
-       {
+       /* Check if there is an even number of half pages (128bytes) */
+       if (count % 128) {
                LOG_ERROR("there should be an even number "
                                "of half pages = 128 bytes (count = %" PRIi32 " bytes)", count);
                return ERROR_FAIL;
        }
 
-       // Allocate working area
+       /* Allocate working area */
        reg32 = sizeof(stm32lx_flash_write_code);
-       // Add bytes to make 4byte aligned
+       /* Add bytes to make 4byte aligned */
        reg32 += (4 - (reg32 % 4)) % 4;
        retval = target_alloc_working_area(target, reg32,
                        &stm32lx_info->write_algorithm);
        if (retval != ERROR_OK)
                return retval;
 
-       // Write the flashing code
+       /* Write the flashing code */
        retval = target_write_buffer(target,
                        stm32lx_info->write_algorithm->address,
                        sizeof(stm32lx_flash_write_code),
-                       (uint8_t*) stm32lx_flash_write_code);
-       if (retval != ERROR_OK)
-       {
+                       (uint8_t *)stm32lx_flash_write_code);
+       if (retval != ERROR_OK) {
                target_free_working_area(target, stm32lx_info->write_algorithm);
                return retval;
        }
 
-       // Allocate half pages memory
+       /* Allocate half pages memory */
        while (target_alloc_working_area_try(target, buffer_size, &source)
-                       != ERROR_OK)
-       {
+                       != ERROR_OK) {
                if (buffer_size > 1024)
                        buffer_size -= 1024;
                else
                        buffer_size /= 2;
 
-               if (buffer_size <= 256)
-               {
+               if (buffer_size <= 256) {
                        /* if we already allocated the writing code, but failed to get a
                         * buffer, free the algorithm */
                        if (stm32lx_info->write_algorithm)
@@ -323,11 +306,9 @@ static int stm32lx_write_half_pages(struct flash_bank *bank, uint8_t *buffer,
        init_reg_param(&reg_params[3], "r3", 32, PARAM_IN_OUT);
        init_reg_param(&reg_params[4], "r4", 32, PARAM_OUT);
 
-       // Enable half-page write
+       /* Enable half-page write */
        retval = stm32lx_enable_write_half_page(bank);
-       if (retval != ERROR_OK)
-       {
-
+       if (retval != ERROR_OK) {
                target_free_working_area(target, source);
                target_free_working_area(target, stm32lx_info->write_algorithm);
 
@@ -335,38 +316,36 @@ static int stm32lx_write_half_pages(struct flash_bank *bank, uint8_t *buffer,
                destroy_reg_param(&reg_params[1]);
                destroy_reg_param(&reg_params[2]);
                destroy_reg_param(&reg_params[3]);
-
                return retval;
        }
 
-       // Loop while there are bytes to write
-       while (count > 0)
-       {
+       /* Loop while there are bytes to write */
+       while (count > 0) {
                uint32_t this_count;
                this_count = (count > buffer_size) ? buffer_size : count;
 
-               // Write the next half pages
+               /* Write the next half pages */
                retval = target_write_buffer(target, source->address, this_count,
                                buffer);
                if (retval != ERROR_OK)
                        break;
 
-               // 4: Store useful information in the registers
-               // the destination address of the copy (R0)
+               /* 4: Store useful information in the registers */
+               /* the destination address of the copy (R0) */
                buf_set_u32(reg_params[0].value, 0, 32, address);
-               // The source address of the copy (R1)
+               /* The source address of the copy (R1) */
                buf_set_u32(reg_params[1].value, 0, 32, source->address);
-               // The length of the copy (R2)
+               /* The length of the copy (R2) */
                buf_set_u32(reg_params[2].value, 0, 32, this_count / 4);
 
-               // 5: Execute the bunch of code
+               /* 5: Execute the bunch of code */
                retval = target_run_algorithm(target, 0, NULL, sizeof(reg_params)
                                / sizeof(*reg_params), reg_params,
                                stm32lx_info->write_algorithm->address, 0, 20000, &armv7m_info);
                if (retval != ERROR_OK)
                        break;
 
-               // 6: Wait while busy
+               /* 6: Wait while busy */
                retval = stm32lx_wait_until_bsy_clear(bank);
                if (retval != ERROR_OK)
                        break;
@@ -401,34 +380,28 @@ static int stm32lx_write(struct flash_bank *bank, uint8_t *buffer,
        uint32_t bytes_written = 0;
        int retval;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (offset & 0x1)
-       {
+       if (offset & 0x1) {
                LOG_ERROR("offset 0x%" PRIx32 " breaks required 2-byte alignment", offset);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
 
-       // Check if there are some full half pages
-       if (((offset % 128) == 0) && (count >= 128))
-       {
+       /* Check if there are some full half pages */
+       if (((offset % 128) == 0) && (count >= 128)) {
                halfpages_number = count / 128;
                words_remaining = (count - 128 * halfpages_number) / 4;
                bytes_remaining = (count & 0x3);
-       }
-       else
-       {
+       } else {
                halfpages_number = 0;
                words_remaining = (count / 4);
                bytes_remaining = (count & 0x3);
        }
 
-       if (halfpages_number)
-       {
+       if (halfpages_number) {
                retval = stm32lx_write_half_pages(bank, buffer, offset, 128
                                * halfpages_number);
                if (retval != ERROR_OK)
@@ -441,12 +414,11 @@ static int stm32lx_write(struct flash_bank *bank, uint8_t *buffer,
        if (retval != ERROR_OK)
                return retval;
 
-       while (words_remaining > 0)
-       {
+       while (words_remaining > 0) {
                uint32_t value;
-               uint8_tp = buffer + bytes_written;
+               uint8_t *p = buffer + bytes_written;
 
-               // Prepare the word, Little endian conversion
+               /* Prepare the word, Little endian conversion */
                value = p[0] + (p[1] << 8) + (p[2] << 16) + (p[3] << 24);
 
                retval = target_write_u32(target, address, value);
@@ -462,8 +434,7 @@ static int stm32lx_write(struct flash_bank *bank, uint8_t *buffer,
                        return retval;
        }
 
-       if (bytes_remaining)
-       {
+       if (bytes_remaining) {
                uint8_t last_word[4] = {0xff, 0xff, 0xff, 0xff};
 
                /* copy the last remaining bytes into the write buffer */
@@ -508,14 +479,13 @@ static int stm32lx_probe(struct flash_bank *bank)
                return ERROR_FAIL;
        }
 
-       // Read the RDP byte and check if it is 0xAA
+       /* Read the RDP byte and check if it is 0xAA */
        uint8_t rdp;
        retval = target_read_u32(target, FLASH_OBR, &reg32);
        if (retval != ERROR_OK)
                return retval;
        rdp = reg32 & 0xFF;
-       if (rdp != 0xAA)
-       {
+       if (rdp != 0xAA) {
                /*
                 * Unlocking the option byte is done by unlocking the PECR, then
                 * by writing the 2 option byte keys to OPTKEYR
@@ -549,19 +519,18 @@ static int stm32lx_probe(struct flash_bank *bank)
                if (retval != ERROR_OK)
                        return retval;
 
-               if (reg32 & FLASH_PECR__OPTLOCK)
-               {
+               if (reg32 & FLASH_PECR__OPTLOCK) {
                        LOG_ERROR("OPTLOCK is not cleared");
                        return ERROR_FLASH_OPERATION_FAILED;
                }
 
-               // Then, write RDP to 0x00 to set level 1
+               /* Then, write RDP to 0x00 to set level 1 */
                reg32 = ((~0xAA) << 16) | (0xAA);
                retval = target_write_u32(target, OB_RDP, reg32);
                if (retval != ERROR_OK)
                        return retval;
 
-               // Set Automatic update of the option byte, by setting OBL_LAUNCH in FLASH_PECR
+               /* Set Automatic update of the option byte, by setting OBL_LAUNCH in FLASH_PECR */
                reg32 = FLASH_PECR__OBL_LAUNCH;
                retval = target_write_u32(target, FLASH_PECR, reg32);
                if (retval != ERROR_OK)
@@ -574,8 +543,7 @@ static int stm32lx_probe(struct flash_bank *bank)
                return retval;
 
        /* check for valid flash size */
-       if (flash_size == 0xffff)
-       {
+       if (flash_size == 0xffff) {
                /* number of sectors incorrect on revA */
                LOG_ERROR("STM32 flash size failed, probe inaccurate");
                return ERROR_FAIL;
@@ -588,8 +556,7 @@ static int stm32lx_probe(struct flash_bank *bank)
        int num_sectors = (flash_size * 1024) / FLASH_SECTOR_SIZE;
        LOG_INFO("flash size = %dkbytes", flash_size);
 
-       if (bank->sectors)
-       {
+       if (bank->sectors) {
                free(bank->sectors);
                bank->sectors = NULL;
        }
@@ -598,14 +565,12 @@ static int stm32lx_probe(struct flash_bank *bank)
        bank->size = flash_size * 1024;
        bank->num_sectors = num_sectors;
        bank->sectors = malloc(sizeof(struct flash_sector) * num_sectors);
-       if (bank->sectors == NULL)
-       {
+       if (bank->sectors == NULL) {
                LOG_ERROR("failed to allocate bank sectors");
                return ERROR_FAIL;
        }
 
-       for (i = 0; i < num_sectors; i++)
-       {
+       for (i = 0; i < num_sectors; i++) {
                bank->sectors[i].offset = i * FLASH_SECTOR_SIZE;
                bank->sectors[i].size = FLASH_SECTOR_SIZE;
                bank->sectors[i].is_erased = -1;
@@ -622,9 +587,7 @@ static int stm32lx_auto_probe(struct flash_bank *bank)
        struct stm32lx_flash_bank *stm32lx_info = bank->driver_priv;
 
        if (stm32lx_info->probed)
-       {
                return ERROR_OK;
-       }
 
        return stm32lx_probe(bank);
 }
@@ -637,60 +600,51 @@ static int stm32lx_erase_check(struct flash_bank *bank)
        uint32_t nBytes;
        int retval = ERROR_OK;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        uint8_t *buffer = malloc(buffer_size);
-       if (buffer == NULL)
-       {
+       if (buffer == NULL) {
                LOG_ERROR("failed to allocate read buffer");
                return ERROR_FAIL;
        }
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                uint32_t j;
                bank->sectors[i].is_erased = 1;
 
-               // Loop chunk by chunk over the sector
-               for (j = 0; j < bank->sectors[i].size; j += buffer_size)
-               {
+               /* Loop chunk by chunk over the sector */
+               for (j = 0; j < bank->sectors[i].size; j += buffer_size) {
                        uint32_t chunk;
                        chunk = buffer_size;
                        if (chunk > (j - bank->sectors[i].size))
-                       {
                                chunk = (j - bank->sectors[i].size);
-                       }
 
                        retval = target_read_memory(target, bank->base
                                        + bank->sectors[i].offset + j, 4, chunk / 4, buffer);
                        if (retval != ERROR_OK)
                                break;
 
-                       for (nBytes = 0; nBytes < chunk; nBytes++)
-                       {
-                               if (buffer[nBytes] != 0x00)
-                               {
+                       for (nBytes = 0; nBytes < chunk; nBytes++) {
+                               if (buffer[nBytes] != 0x00) {
                                        bank->sectors[i].is_erased = 0;
                                        break;
                                }
                        }
                }
                if (retval != ERROR_OK)
-               {
                        break;
-               }
        }
        free(buffer);
 
        return retval;
 }
+
 static int stm32lx_get_info(struct flash_bank *bank, char *buf, int buf_size)
 {
-       // This method must return a string displaying information about the bank
+       /* This method must return a string displaying information about the bank */
 
        struct target *target = bank->target;
        uint32_t device_id;
@@ -706,8 +660,7 @@ static int stm32lx_get_info(struct flash_bank *bank, char *buf, int buf_size)
                buf += printed;
                buf_size -= printed;
 
-               switch (device_id >> 16)
-               {
+               switch (device_id >> 16) {
                        case 0x1000:
                                snprintf(buf, buf_size, "A");
                                break;
@@ -719,9 +672,7 @@ static int stm32lx_get_info(struct flash_bank *bank, char *buf, int buf_size)
                                snprintf(buf, buf_size, "unknown");
                                break;
                }
-       }
-       else
-       {
+       } else {
                snprintf(buf, buf_size, "Cannot identify target as a stm32lx");
                return ERROR_FAIL;
        }
@@ -729,13 +680,11 @@ static int stm32lx_get_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-static const struct command_registration stm32lx_exec_command_handlers[] =
-{
+static const struct command_registration stm32lx_exec_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-static const struct command_registration stm32lx_command_handlers[] =
-{
+static const struct command_registration stm32lx_command_handlers[] = {
        {
                .name = "stm32lx",
                .mode = COMMAND_ANY,
@@ -746,8 +695,7 @@ static const struct command_registration stm32lx_command_handlers[] =
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver stm32lx_flash =
-{
+struct flash_driver stm32lx_flash = {
                .name = "stm32lx",
                .commands = stm32lx_command_handlers,
                .flash_bank_command = stm32lx_flash_bank_command,
@@ -762,8 +710,7 @@ struct flash_driver stm32lx_flash =
                .info = stm32lx_get_info,
 };
 
-// Static methods implementation
-
+/* Static methods implementation */
 static int stm32lx_unlock_program_memory(struct flash_bank *bank)
 {
        struct target *target = bank->target;
@@ -789,8 +736,7 @@ static int stm32lx_unlock_program_memory(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       if (reg32 & FLASH_PECR__PELOCK)
-       {
+       if (reg32 & FLASH_PECR__PELOCK) {
                LOG_ERROR("PELOCK is not cleared :(");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -807,8 +753,7 @@ static int stm32lx_unlock_program_memory(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       if (reg32 & FLASH_PECR__PRGLOCK)
-       {
+       if (reg32 & FLASH_PECR__PRGLOCK) {
                LOG_ERROR("PRGLOCK is not cleared :(");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -892,8 +837,7 @@ static int stm32lx_erase_sector(struct flash_bank *bank, int sector)
        if (retval != ERROR_OK)
                return retval;
 
-       for (int page = 0; page < FLASH_PAGES_PER_SECTOR; page++)
-       {
+       for (int page = 0; page < FLASH_PAGES_PER_SECTOR; page++) {
                reg32 = FLASH_PECR__PROG | FLASH_PECR__ERASE;
                retval = target_write_u32(target, FLASH_PECR, reg32);
                if (retval != ERROR_OK)
@@ -929,32 +873,26 @@ static int stm32lx_wait_until_bsy_clear(struct flash_bank *bank)
        int timeout = 100;
 
        /* wait for busy to clear */
-       for (;;)
-       {
+       for (;;) {
                retval = target_read_u32(target, FLASH_SR, &status);
                if (retval != ERROR_OK)
                        return retval;
 
                if ((status & FLASH_SR__BSY) == 0)
-               {
                        break;
-               }
-               if (timeout-- <= 0)
-               {
+               if (timeout-- <= 0) {
                        LOG_ERROR("timed out waiting for flash");
                        return ERROR_FAIL;
                }
                alive_sleep(1);
        }
 
-       if (status & FLASH_SR__WRPERR)
-       {
+       if (status & FLASH_SR__WRPERR) {
                LOG_ERROR("access denied / write protected");
                retval = ERROR_FAIL;
        }
 
-       if (status & FLASH_SR__PGAERR)
-       {
+       if (status & FLASH_SR__PGAERR) {
                LOG_ERROR("invalid program address");
                retval = ERROR_FAIL;
        }
index df8dbe757ce1aebb5ad2091c2935ae3fe4e1aef9..bf26a8eb53d1fb22356d20c4592f12a6593f3280 100644 (file)
 #include <helper/time_support.h>
 
 #define SMI_READ_REG(a) (_SMI_READ_REG(a))
-#define _SMI_READ_REG(a)               \
-{                                      \
-       int __a;                        \
-       uint32_t __v;                   \
-                                       \
+#define _SMI_READ_REG(a)                       \
+{                                                                      \
+       int __a;                                                \
+       uint32_t __v;                                   \
+                                                                       \
        __a = target_read_u32(target, io_base + (a), &__v); \
-       if (__a != ERROR_OK)            \
-           return __a;                 \
-       __v;                            \
+       if (__a != ERROR_OK)                    \
+               return __a;                                     \
+       __v;                                                    \
 }
 
-#define SMI_WRITE_REG(a,v)             \
-{                                      \
-       int __r;                        \
-                                       \
+#define SMI_WRITE_REG(a, v)                    \
+{                                                                      \
+       int __r;                                                \
+                                                                       \
        __r = target_write_u32(target, io_base + (a), (v)); \
-       if (__r != ERROR_OK)            \
-           return __r;                 \
+       if (__r != ERROR_OK)                    \
+               return __r;                                     \
 }
 
-#define SMI_POLL_TFF(timeout)          \
-{                                      \
-       int __r;                        \
-                                       \
+#define SMI_POLL_TFF(timeout)          \
+{                                                                      \
+       int __r;                                                \
+                                                                       \
        __r = poll_tff(target, io_base, timeout); \
-       if (__r != ERROR_OK)            \
-           return __r;                 \
+       if (__r != ERROR_OK)                    \
+               return __r;                                     \
 }
 
 #define SMI_SET_SW_MODE()      SMI_WRITE_REG(SMI_CR1, \
 #define SMI_PROBE_TIMEOUT (100)
 #define SMI_MAX_TIMEOUT  (3000)
 
-struct stmsmi_flash_bank
-{
+struct stmsmi_flash_bank {
        int probed;
        uint32_t io_base;
        uint32_t bank_num;
@@ -202,16 +201,13 @@ FLASH_BANK_COMMAND_HANDLER(stmsmi_flash_bank_command)
 {
        struct stmsmi_flash_bank *stmsmi_info;
 
-       LOG_DEBUG("%s", __FUNCTION__);
+       LOG_DEBUG("%s", __func__);
 
        if (CMD_ARGC < 6)
-       {
-           return ERROR_COMMAND_SYNTAX_ERROR;
-       }
+               return ERROR_COMMAND_SYNTAX_ERROR;
 
        stmsmi_info = malloc(sizeof(struct stmsmi_flash_bank));
-       if (stmsmi_info == NULL)
-       {
+       if (stmsmi_info == NULL) {
                LOG_ERROR("not enough memory");
                return ERROR_FAIL;
        }
@@ -279,17 +275,17 @@ static int wait_till_ready(struct flash_bank *bank, int timeout)
        int retval;
        long long endtime;
 
-    endtime = timeval_ms() + timeout;
-    do {
-        /* read flash status register */
-        retval = read_status_reg(bank, &status);
-        if (retval != ERROR_OK)
-            return retval;
+       endtime = timeval_ms() + timeout;
+       do {
+               /* read flash status register */
+               retval = read_status_reg(bank, &status);
+               if (retval != ERROR_OK)
+                       return retval;
 
                if ((status & SMI_WIP_BIT) == 0)
                        return ERROR_OK;
                alive_sleep(1);
-    } while (timeval_ms() < endtime);
+       } while (timeval_ms() < endtime);
 
        LOG_ERROR("timeout");
        return ERROR_FAIL;
@@ -324,8 +320,7 @@ static int smi_write_enable(struct flash_bank *bank)
                return retval;
 
        /* Check write enabled */
-       if ((status & SMI_WEL_BIT) == 0)
-       {
+       if ((status & SMI_WEL_BIT) == 0) {
                LOG_ERROR("Cannot enable write to flash. Status=0x%08" PRIx32, status);
                return ERROR_FAIL;
        }
@@ -391,37 +386,31 @@ static int stmsmi_erase(struct flash_bank *bank, int first, int last)
        int retval = ERROR_OK;
        int sector;
 
-       LOG_DEBUG("%s: from sector %d to sector %d", __FUNCTION__, first, last);
+       LOG_DEBUG("%s: from sector %d to sector %d", __func__, first, last);
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if ((first < 0) || (last < first) || (last >= bank->num_sectors))
-       {
+       if ((first < 0) || (last < first) || (last >= bank->num_sectors)) {
                LOG_ERROR("Flash sector invalid");
                return ERROR_FLASH_SECTOR_INVALID;
        }
 
-       if (!(stmsmi_info->probed))
-       {
+       if (!(stmsmi_info->probed)) {
                LOG_ERROR("Flash bank not probed");
                return ERROR_FLASH_BANK_NOT_PROBED;
        }
 
-       for (sector = first; sector <= last; sector++)
-       {
-               if (bank->sectors[sector].is_protected)
-               {
+       for (sector = first; sector <= last; sector++) {
+               if (bank->sectors[sector].is_protected) {
                        LOG_ERROR("Flash sector %d protected", sector);
                        return ERROR_FAIL;
                }
        }
 
-       for (sector = first; sector <= last; sector++)
-       {
+       for (sector = first; sector <= last; sector++) {
                retval = smi_erase_sector(bank, sector);
                if (retval != ERROR_OK)
                        break;
@@ -452,7 +441,7 @@ static int smi_write_buffer(struct flash_bank *bank, uint8_t *buffer,
        int retval;
 
        LOG_DEBUG("%s: address=0x%08" PRIx32 " len=0x%08" PRIx32,
-               __FUNCTION__, address, len);
+                       __func__, address, len);
 
        retval = smi_write_enable(bank);
        if (retval != ERROR_OK)
@@ -479,30 +468,26 @@ static int stmsmi_write(struct flash_bank *bank, uint8_t *buffer,
        int retval = ERROR_OK;
 
        LOG_DEBUG("%s: offset=0x%08" PRIx32 " count=0x%08" PRIx32,
-               __FUNCTION__, offset, count);
+               __func__, offset, count);
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (offset + count > stmsmi_info->dev->size_in_bytes)
-       {
+       if (offset + count > stmsmi_info->dev->size_in_bytes) {
                LOG_WARNING("Write pasts end of flash. Extra data discarded.");
                count = stmsmi_info->dev->size_in_bytes - offset;
        }
 
        /* Check sector protection */
-       for (sector = 0; sector < bank->num_sectors; sector++)
-       {
+       for (sector = 0; sector < bank->num_sectors; sector++) {
                /* Start offset in or before this sector? */
                /* End offset in or behind this sector? */
-               if ( (offset <
+               if ((offset <
                                (bank->sectors[sector].offset + bank->sectors[sector].size))
                        && ((offset + count - 1) >= bank->sectors[sector].offset)
-                       && bank->sectors[sector].is_protected )
-               {
+                       && bank->sectors[sector].is_protected) {
                        LOG_ERROR("Flash sector %d protected", sector);
                        return ERROR_FAIL;
                }
@@ -511,8 +496,7 @@ static int stmsmi_write(struct flash_bank *bank, uint8_t *buffer,
        page_size = stmsmi_info->dev->pagesize;
 
        /* unaligned buffer head */
-       if (count > 0 && (offset & 3) != 0)
-       {
+       if (count > 0 && (offset & 3) != 0) {
                cur_count = 4 - (offset & 3);
                if (cur_count > count)
                        cur_count = count;
@@ -527,8 +511,7 @@ static int stmsmi_write(struct flash_bank *bank, uint8_t *buffer,
 
        page_offset = offset % page_size;
        /* central part, aligned words */
-       while (count >= 4)
-       {
+       while (count >= 4) {
                /* clip block at page boundary */
                if (page_offset + count > page_size)
                        cur_count = page_size - page_offset;
@@ -567,8 +550,7 @@ static int read_flash_id(struct flash_bank *bank, uint32_t *id)
        uint32_t io_base = stmsmi_info->io_base;
        int retval;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -614,18 +596,16 @@ static int stmsmi_probe(struct flash_bank *bank)
                free(bank->sectors);
        stmsmi_info->probed = 0;
 
-       for (target_device=target_devices ; target_device->name ; ++target_device)
+       for (target_device = target_devices ; target_device->name ; ++target_device)
                if (target_device->tap_idcode == target->tap->idcode)
                        break;
-       if (!target_device->name)
-       {
+       if (!target_device->name) {
                LOG_ERROR("Device ID 0x%" PRIx32 " is not known as SMI capable",
                                target->tap->idcode);
                return ERROR_FAIL;
        }
 
-       switch (bank->base - target_device->smi_base)
-       {
+       switch (bank->base - target_device->smi_base) {
                case 0:
                        stmsmi_info->bank_num = SMI_SEL_BANK0;
                        break;
@@ -661,8 +641,7 @@ static int stmsmi_probe(struct flash_bank *bank)
                        break;
                }
 
-       if (!stmsmi_info->dev)
-       {
+       if (!stmsmi_info->dev) {
                LOG_ERROR("Unknown flash device (ID 0x%08" PRIx32 ")", id);
                return ERROR_FAIL;
        }
@@ -677,14 +656,12 @@ static int stmsmi_probe(struct flash_bank *bank)
        bank->num_sectors =
                stmsmi_info->dev->size_in_bytes / stmsmi_info->dev->sectorsize;
        sectors = malloc(sizeof(struct flash_sector) * bank->num_sectors);
-       if (sectors == NULL)
-       {
+       if (sectors == NULL) {
                LOG_ERROR("not enough memory");
                return ERROR_FAIL;
        }
 
-       for (int sector = 0; sector < bank->num_sectors; sector++)
-       {
+       for (int sector = 0; sector < bank->num_sectors; sector++) {
                sectors[sector].offset = sector * stmsmi_info->dev->sectorsize;
                sectors[sector].size = stmsmi_info->dev->sectorsize;
                sectors[sector].is_erased = -1;
@@ -714,8 +691,7 @@ static int get_stmsmi_info(struct flash_bank *bank, char *buf, int buf_size)
 {
        struct stmsmi_flash_bank *stmsmi_info = bank->driver_priv;
 
-       if (!(stmsmi_info->probed))
-       {
+       if (!(stmsmi_info->probed)) {
                snprintf(buf, buf_size,
                        "\nSMI flash bank not probed yet\n");
                return ERROR_OK;
index 86db9ab46d39a3b23780dbe108de08f39e61ccd8..6cd5d69f8be8074fa1343c3369b5cd62bd70f72f 100644 (file)
@@ -23,6 +23,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -32,7 +33,6 @@
 #include <helper/binarybuffer.h>
 #include <target/algorithm.h>
 
-
 /*  Flash registers */
 
 #define FLASH_CR0              0x00000000
@@ -85,8 +85,7 @@
 #define FLASH_ERR              0x00000001
 
 
-struct str7x_flash_bank
-{
+struct str7x_flash_bank {
        uint32_t *sector_bits;
        uint32_t disable_bit;
        uint32_t busy_bits;
@@ -100,8 +99,7 @@ struct str7x_mem_layout {
        uint32_t sector_bit;
 };
 
-enum str7x_status_codes
-{
+enum str7x_status_codes {
        STR7X_CMD_SUCCESS = 0,
        STR7X_INVALID_COMMAND = 1,
        STR7X_SRC_ADDR_ERROR = 2,
@@ -135,7 +133,7 @@ static struct str7x_mem_layout mem_layout_str7bank1[] = {
 static int str7x_get_flash_adr(struct flash_bank *bank, uint32_t reg)
 {
        struct str7x_flash_bank *str7x_info = bank->driver_priv;
-       return (str7x_info->register_base | reg);
+       return str7x_info->register_base | reg;
 }
 
 static int str7x_build_block_list(struct flash_bank *bank)
@@ -146,8 +144,7 @@ static int str7x_build_block_list(struct flash_bank *bank)
        int num_sectors;
        int b0_sectors = 0, b1_sectors = 0;
 
-       switch (bank->size)
-       {
+       switch (bank->size) {
                case 16 * 1024:
                        b1_sectors = 2;
                        break;
@@ -173,8 +170,7 @@ static int str7x_build_block_list(struct flash_bank *bank)
 
        num_sectors = 0;
 
-       for (i = 0; i < b0_sectors; i++)
-       {
+       for (i = 0; i < b0_sectors; i++) {
                bank->sectors[num_sectors].offset = mem_layout_str7bank0[i].sector_start;
                bank->sectors[num_sectors].size = mem_layout_str7bank0[i].sector_size;
                bank->sectors[num_sectors].is_erased = -1;
@@ -185,8 +181,7 @@ static int str7x_build_block_list(struct flash_bank *bank)
                str7x_info->sector_bits[num_sectors++] = mem_layout_str7bank0[i].sector_bit;
        }
 
-       for (i = 0; i < b1_sectors; i++)
-       {
+       for (i = 0; i < b1_sectors; i++) {
                bank->sectors[num_sectors].offset = mem_layout_str7bank1[i].sector_start;
                bank->sectors[num_sectors].size = mem_layout_str7bank1[i].sector_size;
                bank->sectors[num_sectors].is_erased = -1;
@@ -207,9 +202,7 @@ FLASH_BANK_COMMAND_HANDLER(str7x_flash_bank_command)
        struct str7x_flash_bank *str7x_info;
 
        if (CMD_ARGC < 7)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        str7x_info = malloc(sizeof(struct str7x_flash_bank));
        bank->driver_priv = str7x_info;
@@ -219,21 +212,14 @@ FLASH_BANK_COMMAND_HANDLER(str7x_flash_bank_command)
        str7x_info->disable_bit = (1 << 1);
 
        if (strcmp(CMD_ARGV[6], "STR71x") == 0)
-       {
                str7x_info->register_base = 0x40100000;
-       }
-       else if (strcmp(CMD_ARGV[6], "STR73x") == 0)
-       {
+       else if (strcmp(CMD_ARGV[6], "STR73x") == 0) {
                str7x_info->register_base = 0x80100000;
                str7x_info->busy_bits = (FLASH_LOCK | FLASH_BSYA0);
-       }
-       else if (strcmp(CMD_ARGV[6], "STR75x") == 0)
-       {
+       } else if (strcmp(CMD_ARGV[6], "STR75x") == 0) {
                str7x_info->register_base = 0x20100000;
                str7x_info->disable_bit = (1 << 0);
-       }
-       else
-       {
+       } else {
                LOG_ERROR("unknown STR7x variant: '%s'", CMD_ARGV[6]);
                free(str7x_info);
                return ERROR_FLASH_BANK_INVALID;
@@ -263,8 +249,7 @@ static int str7x_waitbusy(struct flash_bank *bank)
        struct target *target = bank->target;
        struct str7x_flash_bank *str7x_info = bank->driver_priv;
 
-       for (i = 0 ; i < 10000; i++)
-       {
+       for (i = 0 ; i < 10000; i++) {
                uint32_t retval;
                err = target_read_u32(target, str7x_get_flash_adr(bank, FLASH_CR0), &retval);
                if (err != ERROR_OK)
@@ -290,35 +275,28 @@ static int str7x_result(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       if (flash_flags & FLASH_WPF)
-       {
+       if (flash_flags & FLASH_WPF) {
                LOG_ERROR("str7x hw write protection set");
                retval = ERROR_FAIL;
        }
-       if (flash_flags & FLASH_RESER)
-       {
+       if (flash_flags & FLASH_RESER) {
                LOG_ERROR("str7x suspended program erase not resumed");
                retval = ERROR_FAIL;
        }
-       if (flash_flags & FLASH_10ER)
-       {
+       if (flash_flags & FLASH_10ER) {
                LOG_ERROR("str7x trying to set bit to 1 when it is already 0");
                retval = ERROR_FAIL;
        }
-       if (flash_flags & FLASH_PGER)
-       {
+       if (flash_flags & FLASH_PGER) {
                LOG_ERROR("str7x program error");
                retval = ERROR_FAIL;
        }
-       if (flash_flags & FLASH_ERER)
-       {
+       if (flash_flags & FLASH_ERER) {
                LOG_ERROR("str7x erase error");
                retval = ERROR_FAIL;
        }
-       if (retval == ERROR_OK)
-       {
-               if (flash_flags & FLASH_ERR)
-               {
+       if (retval == ERROR_OK) {
+               if (flash_flags & FLASH_ERR) {
                        /* this should always be set if one of the others are set... */
                        LOG_ERROR("str7x write operation failed / bad setup");
                        retval = ERROR_FAIL;
@@ -336,8 +314,7 @@ static int str7x_protect_check(struct flash_bank *bank)
        int i;
        uint32_t flash_flags;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -347,8 +324,7 @@ static int str7x_protect_check(struct flash_bank *bank)
        if (retval != ERROR_OK)
                return retval;
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                if (flash_flags & str7x_info->sector_bits[i])
                        bank->sectors[i].is_protected = 0;
                else
@@ -368,16 +344,13 @@ static int str7x_erase(struct flash_bank *bank, int first, int last)
        uint32_t sectors = 0;
        int err;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        for (i = first; i <= last; i++)
-       {
                sectors |= str7x_info->sector_bits[i];
-       }
 
        LOG_DEBUG("sectors: 0x%" PRIx32 "", sectors);
 
@@ -423,16 +396,14 @@ static int str7x_protect(struct flash_bank *bank, int set, int first, int last)
        uint32_t cmd;
        uint32_t protect_blocks;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        protect_blocks = 0xFFFFFFFF;
 
-       if (set)
-       {
+       if (set) {
                for (i = first; i <= last; i++)
                        protect_blocks &= ~(str7x_info->sector_bits[i]);
        }
@@ -499,7 +470,7 @@ static int str7x_write_block(struct flash_bank *bank, uint8_t *buffer,
                0xe582400c, /*  str r4, [r2, #0xc]      */
                0xe3a04209, /*  mov r4, #0x90000000     */
                0xe5824000, /*  str r4, [r2, #0x0]      */
-                           /* busy:                            */
+                                       /* busy:                                */
                0xe5924000, /*  ldr r4, [r2, #0x0]      */
                0xe1140005,     /*      tst r4, r5                      */
                0x1afffffc, /*  bne busy                        */
@@ -516,21 +487,18 @@ static int str7x_write_block(struct flash_bank *bank, uint8_t *buffer,
 
        /* flash write code */
        if (target_alloc_working_area_try(target, sizeof(str7x_flash_write_code),
-                       &str7x_info->write_algorithm) != ERROR_OK)
-       {
+                       &str7x_info->write_algorithm) != ERROR_OK) {
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        };
 
        target_write_buffer(target, str7x_info->write_algorithm->address,
                        sizeof(str7x_flash_write_code),
-                       (uint8_t*)str7x_flash_write_code);
+                       (uint8_t *)str7x_flash_write_code);
 
        /* memory buffer */
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= 256)
-               {
+               if (buffer_size <= 256) {
                        /* if we already allocated the writing code, but failed to get a
                         * buffer, free the algorithm */
                        if (str7x_info->write_algorithm)
@@ -552,8 +520,7 @@ static int str7x_write_block(struct flash_bank *bank, uint8_t *buffer,
        init_reg_param(&reg_params[4], "r4", 32, PARAM_IN);
        init_reg_param(&reg_params[5], "r5", 32, PARAM_OUT);
 
-       while (count > 0)
-       {
+       while (count > 0) {
                uint32_t thisrun_count = (count > (buffer_size / 8)) ? (buffer_size / 8) : count;
 
                target_write_buffer(target, source->address, thisrun_count * 8, buffer);
@@ -564,16 +531,14 @@ static int str7x_write_block(struct flash_bank *bank, uint8_t *buffer,
                buf_set_u32(reg_params[3].value, 0, 32, thisrun_count);
                buf_set_u32(reg_params[5].value, 0, 32, str7x_info->busy_bits);
 
-               if ((retval = target_run_algorithm(target, 0, NULL, 6, reg_params,
+               retval = target_run_algorithm(target, 0, NULL, 6, reg_params,
                                str7x_info->write_algorithm->address,
                                str7x_info->write_algorithm->address + (sizeof(str7x_flash_write_code) - 4),
-                               10000, &armv4_5_info)) != ERROR_OK)
-               {
+                               10000, &armv4_5_info);
+               if (retval != ERROR_OK)
                        break;
-               }
 
-               if (buf_get_u32(reg_params[4].value, 0, 32) != 0x00)
-               {
+               if (buf_get_u32(reg_params[4].value, 0, 32) != 0x00) {
                        retval = str7x_result(bank);
                        break;
                }
@@ -609,26 +574,22 @@ static int str7x_write(struct flash_bank *bank, uint8_t *buffer,
        uint32_t check_address = offset;
        int i;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (offset & 0x7)
-       {
+       if (offset & 0x7) {
                LOG_WARNING("offset 0x%" PRIx32 " breaks required 8-byte alignment", offset);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                uint32_t sec_start = bank->sectors[i].offset;
                uint32_t sec_end = sec_start + bank->sectors[i].size;
 
                /* check if destination falls within the current sector */
-               if ((check_address >= sec_start) && (check_address < sec_end))
-               {
+               if ((check_address >= sec_start) && (check_address < sec_end)) {
                        /* check if destination ends in the current sector */
                        if (offset + count < sec_end)
                                check_address = offset + count;
@@ -644,32 +605,25 @@ static int str7x_write(struct flash_bank *bank, uint8_t *buffer,
        target_write_u32(target, str7x_get_flash_adr(bank, FLASH_ER), 0x0);
 
        /* multiple dwords (8-byte) to be programmed? */
-       if (dwords_remaining > 0)
-       {
+       if (dwords_remaining > 0) {
                /* try using a block write */
-               if ((retval = str7x_write_block(bank, buffer, offset,
-                               dwords_remaining)) != ERROR_OK)
-               {
-                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
-                       {
+               retval = str7x_write_block(bank, buffer, offset, dwords_remaining);
+               if (retval != ERROR_OK) {
+                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
                                /* if block write failed (no sufficient working area),
                                 * we use normal (slow) single dword accesses */
                                LOG_WARNING("couldn't use block writes, falling back to single memory accesses");
-                       } else
-                       {
+                       } else {
                                return retval;
                        }
-               }
-               else
-               {
+               } else {
                        buffer += dwords_remaining * 8;
                        address += dwords_remaining * 8;
                        dwords_remaining = 0;
                }
        }
 
-       while (dwords_remaining > 0)
-       {
+       while (dwords_remaining > 0) {
                /* command */
                cmd = FLASH_DWPG;
                target_write_u32(target, str7x_get_flash_adr(bank, FLASH_CR0), cmd);
@@ -704,8 +658,7 @@ static int str7x_write(struct flash_bank *bank, uint8_t *buffer,
                address += 8;
        }
 
-       if (bytes_remaining)
-       {
+       if (bytes_remaining) {
                uint8_t last_dword[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 
                /* copy the last remaining bytes into the write buffer */
@@ -777,9 +730,7 @@ COMMAND_HANDLER(str7x_handle_disable_jtag_command)
        uint16_t ProtectionRegs;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -790,8 +741,7 @@ COMMAND_HANDLER(str7x_handle_disable_jtag_command)
 
        target = bank->target;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -801,30 +751,24 @@ COMMAND_HANDLER(str7x_handle_disable_jtag_command)
        target_read_u32(target, str7x_get_flash_adr(bank, FLASH_NVAPR0), &reg);
 
        if (!(reg & str7x_info->disable_bit))
-       {
                ProtectionLevel = 1;
-       }
 
        target_read_u32(target, str7x_get_flash_adr(bank, FLASH_NVAPR1), &reg);
        ProtectionRegs = ~(reg >> 16);
 
-       while (((ProtectionRegs) != 0) && (ProtectionLevel < 16))
-       {
+       while (((ProtectionRegs) != 0) && (ProtectionLevel < 16)) {
                ProtectionRegs >>= 1;
                ProtectionLevel++;
        }
 
-       if (ProtectionLevel == 0)
-       {
+       if (ProtectionLevel == 0) {
                flash_cmd = FLASH_SPR;
                target_write_u32(target, str7x_get_flash_adr(bank, FLASH_CR0), flash_cmd);
                target_write_u32(target, str7x_get_flash_adr(bank, FLASH_AR), 0x4010DFB8);
                target_write_u32(target, str7x_get_flash_adr(bank, FLASH_DR0), 0xFFFFFFFD);
                flash_cmd = FLASH_SPR | FLASH_WMS;
                target_write_u32(target, str7x_get_flash_adr(bank, FLASH_CR0), flash_cmd);
-       }
-       else
-       {
+       } else {
                flash_cmd = FLASH_SPR;
                target_write_u32(target, str7x_get_flash_adr(bank, FLASH_CR0), flash_cmd);
                target_write_u32(target, str7x_get_flash_adr(bank, FLASH_AR), 0x4010DFBC);
index 1f2c9581385fca52c9536d3d32a9d119e9928ccd..472f922c1f703c75a0a90ebaa25f86440a242e5f 100644 (file)
@@ -23,6 +23,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -31,7 +32,6 @@
 #include <target/arm966e.h>
 #include <target/algorithm.h>
 
-
 /* Flash registers */
 
 #define FLASH_BBSR             0x54000000              /* Boot Bank Size Register                */
 #define FLASH_SR               0x5400001C              /* Status Register                        */
 #define FLASH_BCE5ADDR 0x54000020              /* BC Fifth Entry Target Address Register */
 
-
-struct str9x_flash_bank
-{
+struct str9x_flash_bank {
        uint32_t *sector_bits;
        int variant;
        int bank1;
        struct working_area *write_algorithm;
 };
 
-enum str9x_status_codes
-{
+enum str9x_status_codes {
        STR9X_CMD_SUCCESS = 0,
        STR9X_INVALID_COMMAND = 1,
        STR9X_SRC_ADDR_ERROR = 2,
@@ -82,8 +79,7 @@ static int str9x_build_block_list(struct flash_bank *bank)
        str9x_info->variant = 0;
        str9x_info->bank1 = 0;
 
-       switch (bank->size)
-       {
+       switch (bank->size) {
                case (256 * 1024):
                        b0_sectors = 4;
                        break;
@@ -124,8 +120,7 @@ static int str9x_build_block_list(struct flash_bank *bank)
 
        num_sectors = 0;
 
-       for (i = 0; i < b0_sectors; i++)
-       {
+       for (i = 0; i < b0_sectors; i++) {
                bank->sectors[num_sectors].offset = offset;
                bank->sectors[num_sectors].size = 0x10000;
                offset += bank->sectors[i].size;
@@ -134,8 +129,7 @@ static int str9x_build_block_list(struct flash_bank *bank)
                str9x_info->sector_bits[num_sectors++] = (1 << i);
        }
 
-       for (i = 0; i < b1_sectors; i++)
-       {
+       for (i = 0; i < b1_sectors; i++) {
                bank->sectors[num_sectors].offset = offset;
                bank->sectors[num_sectors].size = str9x_info->variant == 0 ? 0x2000 : 0x4000;
                offset += bank->sectors[i].size;
@@ -157,9 +151,7 @@ FLASH_BANK_COMMAND_HANDLER(str9x_flash_bank_command)
        struct str9x_flash_bank *str9x_info;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        str9x_info = malloc(sizeof(struct str9x_flash_bank));
        bank->driver_priv = str9x_info;
@@ -182,64 +174,49 @@ static int str9x_protect_check(struct flash_bank *bank)
        uint32_t status = 0;
        uint16_t hstatus = 0;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        /* read level one protection */
 
-       if (str9x_info->variant)
-       {
-               if (str9x_info->bank1)
-               {
+       if (str9x_info->variant) {
+               if (str9x_info->bank1) {
                        adr = bank1start + 0x18;
-                       if ((retval = target_write_u16(target, adr, 0x90)) != ERROR_OK)
-                       {
+                       retval = target_write_u16(target, adr, 0x90);
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
-                       if ((retval = target_read_u16(target, adr, &hstatus)) != ERROR_OK)
-                       {
+                       retval = target_read_u16(target, adr, &hstatus);
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
                        status = hstatus;
-               }
-               else
-               {
+               } else {
                        adr = bank1start + 0x14;
-                       if ((retval = target_write_u16(target, adr, 0x90)) != ERROR_OK)
-                       {
+                       retval = target_write_u16(target, adr, 0x90);
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
-                       if ((retval = target_read_u32(target, adr, &status)) != ERROR_OK)
-                       {
+                       retval = target_read_u32(target, adr, &status);
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
                }
-       }
-       else
-       {
+       } else {
                adr = bank1start + 0x10;
-               if ((retval = target_write_u16(target, adr, 0x90)) != ERROR_OK)
-               {
+               retval = target_write_u16(target, adr, 0x90);
+               if (retval != ERROR_OK)
                        return retval;
-               }
-               if ((retval = target_read_u16(target, adr, &hstatus)) != ERROR_OK)
-               {
+               retval = target_read_u16(target, adr, &hstatus);
+               if (retval != ERROR_OK)
                        return retval;
-               }
                status = hstatus;
        }
 
        /* read array command */
-       if ((retval = target_write_u16(target, adr, 0xFF)) != ERROR_OK)
-       {
+       retval = target_write_u16(target, adr, 0xFF);
+       if (retval != ERROR_OK)
                return retval;
-       }
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                if (status & str9x_info->sector_bits[i])
                        bank->sectors[i].is_protected = 1;
                else
@@ -258,22 +235,18 @@ static int str9x_erase(struct flash_bank *bank, int first, int last)
        uint8_t erase_cmd;
        int total_timeout;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        /* Check if we can erase whole bank */
-       if ((first == 0) && (last == (bank->num_sectors - 1)))
-       {
+       if ((first == 0) && (last == (bank->num_sectors - 1))) {
                /* Optimize to run erase bank command instead of sector */
                erase_cmd = 0x80;
-                /* Add timeout duration since erase bank takes more time */
+               /* Add timeout duration since erase bank takes more time */
                total_timeout = 1000 * bank->num_sectors;
-       }
-       else
-       {
+       } else {
                /* Erase sector command */
                erase_cmd = 0x20;
                total_timeout = 1000;
@@ -282,58 +255,48 @@ static int str9x_erase(struct flash_bank *bank, int first, int last)
        /* this is so the compiler can *know* */
        assert(total_timeout > 0);
 
-       for (i = first; i <= last; i++)
-       {
+       for (i = first; i <= last; i++) {
                int retval;
                adr = bank->base + bank->sectors[i].offset;
 
                /* erase sectors or block */
-               if ((retval = target_write_u16(target, adr, erase_cmd)) != ERROR_OK)
-               {
+               retval = target_write_u16(target, adr, erase_cmd);
+               if (retval != ERROR_OK)
                        return retval;
-               }
-               if ((retval = target_write_u16(target, adr, 0xD0)) != ERROR_OK)
-               {
+               retval = target_write_u16(target, adr, 0xD0);
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                /* get status */
-               if ((retval = target_write_u16(target, adr, 0x70)) != ERROR_OK)
-               {
+               retval = target_write_u16(target, adr, 0x70);
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                int timeout;
-               for (timeout = 0; timeout < total_timeout; timeout++) 
-               {
-                       if ((retval = target_read_u8(target, adr, &status)) != ERROR_OK)
-                       {
+               for (timeout = 0; timeout < total_timeout; timeout++) {
+                       retval = target_read_u8(target, adr, &status);
+                       if (retval != ERROR_OK)
                                return retval;
-                       }
                        if (status & 0x80)
                                break;
                        alive_sleep(1);
                }
-               if (timeout == total_timeout)
-               {
+               if (timeout == total_timeout) {
                        LOG_ERROR("erase timed out");
                        return ERROR_FAIL;
                }
 
                /* clear status, also clear read array */
-               if ((retval = target_write_u16(target, adr, 0x50)) != ERROR_OK)
-               {
+               retval = target_write_u16(target, adr, 0x50);
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
                /* read array command */
-               if ((retval = target_write_u16(target, adr, 0xFF)) != ERROR_OK)
-               {
+               retval = target_write_u16(target, adr, 0xFF);
+               if (retval != ERROR_OK)
                        return retval;
-               }
 
-               if (status & 0x22)
-               {
+               if (status & 0x22) {
                        LOG_ERROR("error erasing flash bank, status: 0x%x", status);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
@@ -357,14 +320,12 @@ static int str9x_protect(struct flash_bank *bank,
        uint32_t adr;
        uint8_t status;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       for (i = first; i <= last; i++)
-       {
+       for (i = first; i <= last; i++) {
                /* Level One Protection */
 
                adr = bank->base + bank->sectors[i].offset;
@@ -429,22 +390,19 @@ static int str9x_write_block(struct flash_bank *bank,
 
        /* flash write code */
        if (target_alloc_working_area(target, sizeof(str9x_flash_write_code),
-                       &str9x_info->write_algorithm) != ERROR_OK)
-       {
+                       &str9x_info->write_algorithm) != ERROR_OK) {
                LOG_WARNING("no working area available, can't do block memory writes");
                return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
        };
 
        target_write_buffer(target, str9x_info->write_algorithm->address,
                        sizeof(str9x_flash_write_code),
-                       (uint8_t*)str9x_flash_write_code);
+                       (uint8_t *)str9x_flash_write_code);
 
        /* memory buffer */
-       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
-       {
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK) {
                buffer_size /= 2;
-               if (buffer_size <= 256)
-               {
+               if (buffer_size <= 256) {
                        /* if we already allocated the writing code, but failed to get a
                         * buffer, free the algorithm */
                        if (str9x_info->write_algorithm)
@@ -464,8 +422,7 @@ static int str9x_write_block(struct flash_bank *bank,
        init_reg_param(&reg_params[2], "r2", 32, PARAM_OUT);
        init_reg_param(&reg_params[3], "r3", 32, PARAM_IN);
 
-       while (count > 0)
-       {
+       while (count > 0) {
                uint32_t thisrun_count = (count > (buffer_size / 2)) ? (buffer_size / 2) : count;
 
                target_write_buffer(target, source->address, thisrun_count * 2, buffer);
@@ -474,17 +431,16 @@ static int str9x_write_block(struct flash_bank *bank,
                buf_set_u32(reg_params[1].value, 0, 32, address);
                buf_set_u32(reg_params[2].value, 0, 32, thisrun_count);
 
-               if ((retval = target_run_algorithm(target, 0, NULL, 4, reg_params,
+               retval = target_run_algorithm(target, 0, NULL, 4, reg_params,
                                str9x_info->write_algorithm->address,
-                               0, 10000, &armv4_5_info)) != ERROR_OK)
-               {
+                               0, 10000, &armv4_5_info);
+               if (retval != ERROR_OK) {
                        LOG_ERROR("error executing str9x flash write algorithm");
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        break;
                }
 
-               if (buf_get_u32(reg_params[3].value, 0, 32) != 0x80)
-               {
+               if (buf_get_u32(reg_params[3].value, 0, 32) != 0x80) {
                        retval = ERROR_FLASH_OPERATION_FAILED;
                        break;
                }
@@ -519,26 +475,22 @@ static int str9x_write(struct flash_bank *bank,
        uint32_t bank_adr;
        int i;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
-       if (offset & 0x1)
-       {
+       if (offset & 0x1) {
                LOG_WARNING("offset 0x%" PRIx32 " breaks required 2-byte alignment", offset);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                uint32_t sec_start = bank->sectors[i].offset;
                uint32_t sec_end = sec_start + bank->sectors[i].size;
 
                /* check if destination falls within the current sector */
-               if ((check_address >= sec_start) && (check_address < sec_end))
-               {
+               if ((check_address >= sec_start) && (check_address < sec_end)) {
                        /* check if destination ends in the current sector */
                        if (offset + count < sec_end)
                                check_address = offset + count;
@@ -551,33 +503,26 @@ static int str9x_write(struct flash_bank *bank,
                return ERROR_FLASH_DST_OUT_OF_BANK;
 
        /* multiple half words (2-byte) to be programmed? */
-       if (words_remaining > 0)
-       {
+       if (words_remaining > 0) {
                /* try using a block write */
-               if ((retval = str9x_write_block(bank, buffer, offset, words_remaining)) != ERROR_OK)
-               {
-                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
-                       {
+               retval = str9x_write_block(bank, buffer, offset, words_remaining);
+               if (retval != ERROR_OK) {
+                       if (retval == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) {
                                /* if block write failed (no sufficient working area),
                                 * we use normal (slow) single dword accesses */
                                LOG_WARNING("couldn't use block writes, falling back to single memory accesses");
-                       }
-                       else if (retval == ERROR_FLASH_OPERATION_FAILED)
-                       {
+                       } else if (retval == ERROR_FLASH_OPERATION_FAILED) {
                                LOG_ERROR("flash writing failed");
                                return ERROR_FLASH_OPERATION_FAILED;
                        }
-               }
-               else
-               {
+               } else {
                        buffer += words_remaining * 2;
                        address += words_remaining * 2;
                        words_remaining = 0;
                }
        }
 
-       while (words_remaining > 0)
-       {
+       while (words_remaining > 0) {
                bank_adr = address & ~0x03;
 
                /* write data command */
@@ -588,15 +533,13 @@ static int str9x_write(struct flash_bank *bank,
                target_write_u16(target, bank_adr, 0x70);
 
                int timeout;
-               for (timeout = 0; timeout < 1000; timeout++)
-               {
+               for (timeout = 0; timeout < 1000; timeout++) {
                        target_read_u8(target, bank_adr, &status);
                        if (status & 0x80)
                                break;
                        alive_sleep(1);
                }
-               if (timeout == 1000)
-               {
+               if (timeout == 1000) {
                        LOG_ERROR("write timed out");
                        return ERROR_FAIL;
                }
@@ -615,8 +558,7 @@ static int str9x_write(struct flash_bank *bank,
                address += 2;
        }
 
-       if (bytes_remaining)
-       {
+       if (bytes_remaining) {
                uint8_t last_halfword[2] = {0xff, 0xff};
 
                /* copy the last remaining bytes into the write buffer */
@@ -632,15 +574,13 @@ static int str9x_write(struct flash_bank *bank,
                target_write_u16(target, bank_adr, 0x70);
 
                int timeout;
-               for (timeout = 0; timeout < 1000; timeout++)
-               {
+               for (timeout = 0; timeout < 1000; timeout++) {
                        target_read_u8(target, bank_adr, &status);
                        if (status & 0x80)
                                break;
                        alive_sleep(1);
                }
-               if (timeout == 1000)
-               {
+               if (timeout == 1000) {
                        LOG_ERROR("write timed out");
                        return ERROR_FAIL;
                }
@@ -681,9 +621,7 @@ COMMAND_HANDLER(str9x_handle_flash_config_command)
        struct target *target = NULL;
 
        if (CMD_ARGC < 5)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -698,8 +636,7 @@ COMMAND_HANDLER(str9x_handle_flash_config_command)
 
        target = bank->target;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
index b598c26297414615b10f1759f3227372ae58a18d..e89ecf49f0838f86a5c5cfa7e00bef8a4adf77e7 100644 (file)
@@ -20,6 +20,7 @@
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -27,7 +28,6 @@
 #include "imp.h"
 #include <target/arm7_9_common.h>
 
-
 /* ISC commands */
 
 #define ISC_IDCODE                             0xFE
 #define STR9XPEC_OPT_LVDWARNBIT                51
 #define STR9XPEC_OPT_OTPBIT                    63
 
-enum str9xpec_status_codes
-{
+enum str9xpec_status_codes {
        STR9XPEC_INVALID_COMMAND = 1,
        STR9XPEC_ISC_SUCCESS = 2,
        STR9XPEC_ISC_DISABLED = 3,
        STR9XPEC_ISC_INTFAIL = 32,
 };
 
-struct str9xpec_flash_controller
-{
+struct str9xpec_flash_controller {
        struct jtag_tap *tap;
        uint32_t *sector_bits;
        int chain_pos;
@@ -84,16 +82,14 @@ static int str9xpec_write_options(struct flash_bank *bank);
 
 static int str9xpec_set_instr(struct jtag_tap *tap, uint32_t new_instr, tap_state_t end_state)
 {
-       if (tap == NULL) {
+       if (tap == NULL)
                return ERROR_TARGET_INVALID;
-       }
 
-       if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != new_instr)
-       {
+       if (buf_get_u32(tap->cur_instr, 0, tap->ir_length) != new_instr) {
                struct scan_field field;
 
                field.num_bits = tap->ir_length;
-               void * t = calloc(DIV_ROUND_UP(field.num_bits, 8), 1);
+               void *t = calloc(DIV_ROUND_UP(field.num_bits, 8), 1);
                field.out_value = t;
                buf_set_u32(t, 0, field.num_bits, new_instr);
                field.in_value = NULL;
@@ -147,8 +143,7 @@ static int str9xpec_isc_enable(struct flash_bank *bank)
 
        /* check ISC status */
        status = str9xpec_isc_status(tap);
-       if (status & ISC_STATUS_MODE)
-       {
+       if (status & ISC_STATUS_MODE) {
                /* we have entered isc mode */
                str9xpec_info->isc_enable = 1;
                LOG_DEBUG("ISC_MODE Enabled");
@@ -176,8 +171,7 @@ static int str9xpec_isc_disable(struct flash_bank *bank)
 
        /* check ISC status */
        status = str9xpec_isc_status(tap);
-       if (!(status & ISC_STATUS_MODE))
-       {
+       if (!(status & ISC_STATUS_MODE)) {
                /* we have left isc mode */
                str9xpec_info->isc_enable = 0;
                LOG_DEBUG("ISC_MODE Disabled");
@@ -224,8 +218,7 @@ static int str9xpec_build_block_list(struct flash_bank *bank)
        uint32_t offset = 0;
        int b1_size = 0x2000;
 
-       switch (bank->size)
-       {
+       switch (bank->size) {
                case (256 * 1024):
                        b0_sectors = 4;
                        break;
@@ -258,8 +251,7 @@ static int str9xpec_build_block_list(struct flash_bank *bank)
 
        num_sectors = 0;
 
-       for (i = 0; i < b0_sectors; i++)
-       {
+       for (i = 0; i < b0_sectors; i++) {
                bank->sectors[num_sectors].offset = offset;
                bank->sectors[num_sectors].size = 0x10000;
                offset += bank->sectors[i].size;
@@ -268,8 +260,7 @@ static int str9xpec_build_block_list(struct flash_bank *bank)
                str9xpec_info->sector_bits[num_sectors++] = i;
        }
 
-       for (i = 0; i < b1_sectors; i++)
-       {
+       for (i = 0; i < b1_sectors; i++) {
                bank->sectors[num_sectors].offset = offset;
                bank->sectors[num_sectors].size = b1_size;
                offset += bank->sectors[i].size;
@@ -291,9 +282,7 @@ FLASH_BANK_COMMAND_HANDLER(str9xpec_flash_bank_command)
        struct arm_jtag *jtag_info = NULL;
 
        if (CMD_ARGC < 6)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        str9xpec_info = malloc(sizeof(struct str9xpec_flash_controller));
        bank->driver_priv = str9xpec_info;
@@ -329,21 +318,18 @@ static int str9xpec_blank_check(struct flash_bank *bank, int first, int last)
 
        tap = str9xpec_info->tap;
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                str9xpec_isc_enable(bank);
-       }
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        buffer = calloc(DIV_ROUND_UP(64, 8), 1);
 
        LOG_DEBUG("blank check: first_bank: %i, last_bank: %i", first, last);
 
-       for (i = first; i <= last; i++) {
+       for (i = first; i <= last; i++)
                buf_set_u32(buffer, str9xpec_info->sector_bits[i], 1, 1);
-       }
 
        /* execute ISC_BLANK_CHECK command */
        str9xpec_set_instr(tap, ISC_BLANK_CHECK, TAP_IRPAUSE);
@@ -365,8 +351,7 @@ static int str9xpec_blank_check(struct flash_bank *bank, int first, int last)
 
        status = str9xpec_isc_status(tap);
 
-       for (i = first; i <= last; i++)
-       {
+       for (i = first; i <= last; i++) {
                if (buf_get_u32(buffer, str9xpec_info->sector_bits[i], 1))
                        bank->sectors[i].is_erased = 0;
                else
@@ -391,8 +376,7 @@ static int str9xpec_protect_check(struct flash_bank *bank)
 
        status = str9xpec_read_config(bank);
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                if (buf_get_u32(str9xpec_info->options, str9xpec_info->sector_bits[i], 1))
                        bank->sectors[i].is_protected = 1;
                else
@@ -416,13 +400,11 @@ static int str9xpec_erase_area(struct flash_bank *bank, int first, int last)
 
        tap = str9xpec_info->tap;
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                str9xpec_isc_enable(bank);
-       }
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                return ISC_STATUS_ERROR;
-       }
 
        buffer = calloc(DIV_ROUND_UP(64, 8), 1);
 
@@ -430,21 +412,14 @@ static int str9xpec_erase_area(struct flash_bank *bank, int first, int last)
 
        /* last bank: 0xFF signals a full erase (unlock complete device) */
        /* last bank: 0xFE signals a option byte erase */
-       if (last == 0xFF)
-       {
-               for (i = 0; i < 64; i++) {
+       if (last == 0xFF) {
+               for (i = 0; i < 64; i++)
                        buf_set_u32(buffer, i, 1, 1);
-               }
-       }
-       else if (last == 0xFE)
-       {
+       } else if (last == 0xFE)
                buf_set_u32(buffer, 49, 1, 1);
-       }
-       else
-       {
-               for (i = first; i <= last; i++) {
+       else {
+               for (i = first; i <= last; i++)
                        buf_set_u32(buffer, str9xpec_info->sector_bits[i], 1, 1);
-               }
        }
 
        LOG_DEBUG("ISC_ERASE");
@@ -462,9 +437,8 @@ static int str9xpec_erase_area(struct flash_bank *bank, int first, int last)
        jtag_add_sleep(10);
 
        /* wait for erase completion */
-       while (!((status = str9xpec_isc_status(tap)) & ISC_STATUS_BUSY)) {
+       while (!((status = str9xpec_isc_status(tap)) & ISC_STATUS_BUSY))
                alive_sleep(1);
-       }
 
        free(buffer);
 
@@ -495,13 +469,11 @@ static int str9xpec_lock_device(struct flash_bank *bank)
        str9xpec_info = bank->driver_priv;
        tap = str9xpec_info->tap;
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                str9xpec_isc_enable(bank);
-       }
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                return ISC_STATUS_ERROR;
-       }
 
        /* set security address */
        str9xpec_set_address(bank, 0x80);
@@ -550,22 +522,15 @@ static int str9xpec_protect(struct flash_bank *bank, int set, int first, int las
        LOG_DEBUG("protect: first_bank: %i, last_bank: %i", first, last);
 
        /* last bank: 0xFF signals a full device protect */
-       if (last == 0xFF)
-       {
+       if (last == 0xFF) {
                if (set)
-               {
                        status = str9xpec_lock_device(bank);
-               }
-               else
-               {
+               else {
                        /* perform full erase to unlock device */
                        status = str9xpec_unlock_device(bank);
                }
-       }
-       else
-       {
-               for (i = first; i <= last; i++)
-               {
+       } else {
+               for (i = first; i <= last; i++) {
                        if (set)
                                buf_set_u32(str9xpec_info->options, str9xpec_info->sector_bits[i], 1, 1);
                        else
@@ -619,28 +584,23 @@ static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer,
 
        tap = str9xpec_info->tap;
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                str9xpec_isc_enable(bank);
-       }
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
-       if (offset & 0x7)
-       {
+       if (offset & 0x7) {
                LOG_WARNING("offset 0x%" PRIx32 " breaks required 8-byte alignment", offset);
                return ERROR_FLASH_DST_BREAKS_ALIGNMENT;
        }
 
-       for (i = 0; i < bank->num_sectors; i++)
-       {
+       for (i = 0; i < bank->num_sectors; i++) {
                uint32_t sec_start = bank->sectors[i].offset;
                uint32_t sec_end = sec_start + bank->sectors[i].size;
 
                /* check if destination falls within the current sector */
-               if ((check_address >= sec_start) && (check_address < sec_end))
-               {
+               if ((check_address >= sec_start) && (check_address < sec_end)) {
                        /* check if destination ends in the current sector */
                        if (offset + count < sec_end)
                                check_address = offset + count;
@@ -648,13 +608,11 @@ static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer,
                                check_address = sec_end;
                }
 
-               if ((offset >= sec_start) && (offset < sec_end)) {
+               if ((offset >= sec_start) && (offset < sec_end))
                        first_sector = i;
-               }
 
-               if ((offset + count >= sec_start) && (offset + count < sec_end)) {
+               if ((offset + count >= sec_start) && (offset + count < sec_end))
                        last_sector = i;
-               }
        }
 
        if (check_address != offset + count)
@@ -666,15 +624,13 @@ static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer,
 
        LOG_DEBUG("ISC_PROGRAM");
 
-       for (i = first_sector; i <= last_sector; i++)
-       {
+       for (i = first_sector; i <= last_sector; i++) {
                str9xpec_set_address(bank, str9xpec_info->sector_bits[i]);
 
                dwords_remaining = dwords_remaining < (bank->sectors[i].size/8)
                                ? dwords_remaining : (bank->sectors[i].size/8);
 
-               while (dwords_remaining > 0)
-               {
+               while (dwords_remaining > 0) {
                        str9xpec_set_instr(tap, ISC_PROGRAM, TAP_IRPAUSE);
 
                        field.num_bits = 64;
@@ -711,8 +667,7 @@ static int str9xpec_write(struct flash_bank *bank, uint8_t *buffer,
                }
        }
 
-       if (bytes_remaining)
-       {
+       if (bytes_remaining) {
                uint8_t last_dword[8] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 
                /* copy the last remaining bytes into the write buffer */
@@ -818,9 +773,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_read_command)
        struct str9xpec_flash_controller *str9xpec_info = NULL;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -883,13 +836,11 @@ static int str9xpec_write_options(struct flash_bank *bank)
        if ((status & ISC_STATUS_ERROR) != STR9XPEC_ISC_SUCCESS)
                return status;
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                str9xpec_isc_enable(bank);
-       }
 
-       if (!str9xpec_info->isc_enable) {
+       if (!str9xpec_info->isc_enable)
                return ISC_STATUS_ERROR;
-       }
 
        /* according to data 64th bit has to be set */
        buf_set_u32(str9xpec_info->options, 63, 1, 1);
@@ -931,9 +882,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_write_command)
        uint8_t status;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -957,9 +906,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_cmap_command)
        struct str9xpec_flash_controller *str9xpec_info = NULL;
 
        if (CMD_ARGC < 2)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -969,13 +916,9 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_cmap_command)
        str9xpec_info = bank->driver_priv;
 
        if (strcmp(CMD_ARGV[1], "bank1") == 0)
-       {
                buf_set_u32(str9xpec_info->options, STR9XPEC_OPT_CSMAPBIT, 1, 1);
-       }
        else
-       {
                buf_set_u32(str9xpec_info->options, STR9XPEC_OPT_CSMAPBIT, 1, 0);
-       }
 
        return ERROR_OK;
 }
@@ -985,9 +928,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_lvdthd_command)
        struct str9xpec_flash_controller *str9xpec_info = NULL;
 
        if (CMD_ARGC < 2)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -997,13 +938,9 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_lvdthd_command)
        str9xpec_info = bank->driver_priv;
 
        if (strcmp(CMD_ARGV[1], "2.7v") == 0)
-       {
                buf_set_u32(str9xpec_info->options, STR9XPEC_OPT_LVDTHRESBIT, 1, 1);
-       }
        else
-       {
                buf_set_u32(str9xpec_info->options, STR9XPEC_OPT_LVDTHRESBIT, 1, 0);
-       }
 
        return ERROR_OK;
 }
@@ -1013,9 +950,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_lvdsel_command)
        struct str9xpec_flash_controller *str9xpec_info = NULL;
 
        if (CMD_ARGC < 2)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1025,13 +960,9 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_lvdsel_command)
        str9xpec_info = bank->driver_priv;
 
        if (strcmp(CMD_ARGV[1], "vdd_vddq") == 0)
-       {
                buf_set_u32(str9xpec_info->options, STR9XPEC_OPT_LVDSELBIT, 1, 1);
-       }
        else
-       {
                buf_set_u32(str9xpec_info->options, STR9XPEC_OPT_LVDSELBIT, 1, 0);
-       }
 
        return ERROR_OK;
 }
@@ -1041,9 +972,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_lvdwarn_command)
        struct str9xpec_flash_controller *str9xpec_info = NULL;
 
        if (CMD_ARGC < 2)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1053,13 +982,9 @@ COMMAND_HANDLER(str9xpec_handle_flash_options_lvdwarn_command)
        str9xpec_info = bank->driver_priv;
 
        if (strcmp(CMD_ARGV[1], "vdd_vddq") == 0)
-       {
                buf_set_u32(str9xpec_info->options, STR9XPEC_OPT_LVDWARNBIT, 1, 1);
-       }
        else
-       {
                buf_set_u32(str9xpec_info->options, STR9XPEC_OPT_LVDWARNBIT, 1, 0);
-       }
 
        return ERROR_OK;
 }
@@ -1069,9 +994,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_lock_command)
        uint8_t status;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1091,9 +1014,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_unlock_command)
        uint8_t status;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1120,9 +1041,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_enable_turbo_command)
        struct str9xpec_flash_controller *str9xpec_info = NULL;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1135,23 +1054,22 @@ COMMAND_HANDLER(str9xpec_handle_flash_enable_turbo_command)
 
        /* remove arm core from chain - enter turbo mode */
        tap1 = tap0->next_tap;
-       if (tap1 == NULL)
-       {
+       if (tap1 == NULL) {
                /* things are *WRONG* */
-               command_print(CMD_CTX,"**STR9FLASH** (tap1) invalid chain?");
+               command_print(CMD_CTX, "**STR9FLASH** (tap1) invalid chain?");
                return ERROR_OK;
        }
        tap2 = tap1->next_tap;
-       if (tap2 == NULL)
-       {
+       if (tap2 == NULL) {
                /* things are *WRONG* */
-               command_print(CMD_CTX,"**STR9FLASH** (tap2) invalid chain?");
+               command_print(CMD_CTX, "**STR9FLASH** (tap2) invalid chain?");
                return ERROR_OK;
        }
 
        /* enable turbo mode - TURBO-PROG-ENABLE */
        str9xpec_set_instr(tap2, 0xD, TAP_IDLE);
-       if ((retval = jtag_execute_queue()) != ERROR_OK)
+       retval = jtag_execute_queue();
+       if (retval != ERROR_OK)
                return retval;
 
        /* modify scan chain - str9 core has been removed */
@@ -1166,9 +1084,7 @@ COMMAND_HANDLER(str9xpec_handle_flash_disable_turbo_command)
        struct str9xpec_flash_controller *str9xpec_info = NULL;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *bank;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &bank);
@@ -1187,9 +1103,8 @@ COMMAND_HANDLER(str9xpec_handle_flash_disable_turbo_command)
        jtag_execute_queue();
 
        /* restore previous scan chain */
-       if (tap->next_tap) {
+       if (tap->next_tap)
                tap->next_tap->enabled = 1;
-       }
 
        return ERROR_OK;
 }
index 735caa8ecbed3211dc26b9a753bba21c07156618..ec80f6ff6428f6e374c3f3ccce6b25aeb971d4cb 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 COMMAND_HELPER(flash_command_get_bank, unsigned name_index,
-               struct flash_bank **bank)
+       struct flash_bank **bank)
 {
        const char *name = CMD_ARGV[name_index];
        int retval = get_flash_bank_by_name(name, bank);
@@ -47,7 +47,6 @@ COMMAND_HELPER(flash_command_get_bank, unsigned name_index,
        return get_flash_bank_by_num(bank_num, bank);
 }
 
-
 COMMAND_HANDLER(handle_flash_info_command)
 {
        struct flash_bank *p;
@@ -61,12 +60,12 @@ COMMAND_HANDLER(handle_flash_info_command)
        if (retval != ERROR_OK)
                return retval;
 
-       if (p != NULL)
-       {
+       if (p != NULL) {
                char buf[1024];
 
                /* attempt auto probe */
-               if ((retval = p->driver->auto_probe(p)) != ERROR_OK)
+               retval = p->driver->auto_probe(p);
+               if (retval != ERROR_OK)
                        return retval;
 
                /* We must query the hardware to avoid printing stale information! */
@@ -75,15 +74,15 @@ COMMAND_HANDLER(handle_flash_info_command)
                        return retval;
 
                command_print(CMD_CTX,
-                             "#%" PRIu32 " : %s at 0x%8.8" PRIx32 ", size 0x%8.8" PRIx32 ", buswidth %i, chipwidth %i",
-                             p->bank_number,
-                             p->driver->name,
-                             p->base,
-                             p->size,
-                             p->bus_width,
-                             p->chip_width);
-               for (j = 0; j < p->num_sectors; j++)
-               {
+                       "#%" PRIu32 " : %s at 0x%8.8" PRIx32 ", size 0x%8.8" PRIx32
+                       ", buswidth %i, chipwidth %i",
+                       p->bank_number,
+                       p->driver->name,
+                       p->base,
+                       p->size,
+                       p->bus_width,
+                       p->chip_width);
+               for (j = 0; j < p->num_sectors; j++) {
                        char *protect_state;
 
                        if (p->sectors[j].is_protected == 0)
@@ -94,15 +93,16 @@ COMMAND_HANDLER(handle_flash_info_command)
                                protect_state = "protection state unknown";
 
                        command_print(CMD_CTX,
-                                     "\t#%3i: 0x%8.8" PRIx32 " (0x%" PRIx32 " %" PRIi32 "kB) %s",
-                                     j,
-                                     p->sectors[j].offset,
-                                     p->sectors[j].size,
-                                     p->sectors[j].size >> 10,
-                                     protect_state);
+                               "\t#%3i: 0x%8.8" PRIx32 " (0x%" PRIx32 " %" PRIi32 "kB) %s",
+                               j,
+                               p->sectors[j].offset,
+                               p->sectors[j].size,
+                               p->sectors[j].size >> 10,
+                               protect_state);
                }
 
-               *buf = '\0'; /* initialize buffer, otherwise it migh contain garbage if driver function fails */
+               *buf = '\0';    /* initialize buffer, otherwise it migh contain garbage if driver
+                                *function fails */
                retval = p->driver->info(p, buf, sizeof(buf));
                command_print(CMD_CTX, "%s", buf);
                if (retval != ERROR_OK)
@@ -118,23 +118,20 @@ COMMAND_HANDLER(handle_flash_probe_command)
        int retval;
 
        if (CMD_ARGC != 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &p);
        if (retval != ERROR_OK)
                return retval;
 
-       if (p)
-       {
-               if ((retval = p->driver->probe(p)) == ERROR_OK)
-               {
-                       command_print(CMD_CTX, "flash '%s' found at 0x%8.8" PRIx32, p->driver->name, p->base);
-               }
-       }
-       else
-       {
+       if (p) {
+               retval = p->driver->probe(p);
+               if (retval == ERROR_OK)
+                       command_print(CMD_CTX,
+                               "flash '%s' found at 0x%8.8" PRIx32,
+                               p->driver->name,
+                               p->base);
+       } else {
                command_print(CMD_CTX, "flash bank '#%s' is out of bounds", CMD_ARGV[0]);
                retval = ERROR_FAIL;
        }
@@ -145,9 +142,7 @@ COMMAND_HANDLER(handle_flash_probe_command)
 COMMAND_HANDLER(handle_flash_erase_check_command)
 {
        if (CMD_ARGC != 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        struct flash_bank *p;
        int retval = CALL_COMMAND_HANDLER(flash_command_get_bank, 0, &p);
@@ -155,18 +150,17 @@ COMMAND_HANDLER(handle_flash_erase_check_command)
                return retval;
 
        int j;
-       if ((retval = p->driver->erase_check(p)) == ERROR_OK)
-       {
+       retval = p->driver->erase_check(p);
+       if (retval == ERROR_OK)
                command_print(CMD_CTX, "successfully checked erase state");
-       }
-       else
-       {
-               command_print(CMD_CTX, "unknown error when checking erase state of flash bank #%s at 0x%8.8" PRIx32,
-                       CMD_ARGV[0], p->base);
+       else {
+               command_print(CMD_CTX,
+                       "unknown error when checking erase state of flash bank #%s at 0x%8.8" PRIx32,
+                       CMD_ARGV[0],
+                       p->base);
        }
 
-       for (j = 0; j < p->num_sectors; j++)
-       {
+       for (j = 0; j < p->num_sectors; j++) {
                char *erase_state;
 
                if (p->sectors[j].is_erased == 0)
@@ -177,12 +171,12 @@ COMMAND_HANDLER(handle_flash_erase_check_command)
                        erase_state = "erase state unknown";
 
                command_print(CMD_CTX,
-                             "\t#%3i: 0x%8.8" PRIx32 " (0x%" PRIx32 " %" PRIi32 "kB) %s",
-                             j,
-                             p->sectors[j].offset,
-                             p->sectors[j].size,
-                             p->sectors[j].size >> 10,
-                             erase_state);
+                       "\t#%3i: 0x%8.8" PRIx32 " (0x%" PRIx32 " %" PRIi32 "kB) %s",
+                       j,
+                       p->sectors[j].offset,
+                       p->sectors[j].size,
+                       p->sectors[j].size >> 10,
+                       erase_state);
        }
 
        return retval;
@@ -198,35 +192,27 @@ COMMAND_HANDLER(handle_flash_erase_address_command)
        bool do_unlock = false;
        struct target *target = get_current_target(CMD_CTX);
 
-       while (CMD_ARGC >= 3)
-       {
+       while (CMD_ARGC >= 3) {
                /* Optionally pad out the address range to block/sector
                 * boundaries.  We can't know if there's data in that part
                 * of the flash; only do padding if we're told to.
                 */
                if (strcmp("pad", CMD_ARGV[0]) == 0)
-               {
                        do_pad = true;
-               } else if (strcmp("unlock", CMD_ARGV[0]) == 0)
-               {
+               else if (strcmp("unlock", CMD_ARGV[0]) == 0)
                        do_unlock = true;
-               } else
-               {
+               else
                        return ERROR_COMMAND_SYNTAX_ERROR;
-               }
                CMD_ARGC--;
                CMD_ARGV++;
        }
        if (CMD_ARGC != 2)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], address);
        COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], length);
 
-       if (length <= 0)
-       {
+       if (length <= 0) {
                command_print(CMD_CTX, "Length must be >0");
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
@@ -235,44 +221,40 @@ COMMAND_HANDLER(handle_flash_erase_address_command)
        if (retval != ERROR_OK)
                return retval;
 
-       /* We can't know if we did a resume + halt, in which case we no longer know the erased state */
+       /* We can't know if we did a resume + halt, in which case we no longer know the erased state
+        **/
        flash_set_dirty();
 
        struct duration bench;
        duration_start(&bench);
 
        if (do_unlock)
-       {
                retval = flash_unlock_address_range(target, address, length);
-       }
 
        if (retval == ERROR_OK)
-       {
                retval = flash_erase_address_range(target, do_pad, address, length);
-       }
 
-       if ((ERROR_OK == retval) && (duration_measure(&bench) == ERROR_OK))
-       {
+       if ((ERROR_OK == retval) && (duration_measure(&bench) == ERROR_OK)) {
                command_print(CMD_CTX, "erased address 0x%8.8x (length %i)"
-                               " in %fs (%0.3f KiB/s)", address, length,
-                               duration_elapsed(&bench), duration_kbps(&bench, length));
+                       " in %fs (%0.3f KiB/s)", address, length,
+                       duration_elapsed(&bench), duration_kbps(&bench, length));
        }
 
        return retval;
 }
 
 static int flash_check_sector_parameters(struct command_context *cmd_ctx,
-               uint32_t first, uint32_t last, uint32_t num_sectors)
+       uint32_t first, uint32_t last, uint32_t num_sectors)
 {
        if (!(first <= last)) {
                command_print(cmd_ctx, "ERROR: "
-                               "first sector must be <= last sector");
+                       "first sector must be <= last sector");
                return ERROR_FAIL;
        }
 
        if (!(last <= (num_sectors - 1))) {
                command_print(cmd_ctx, "ERROR: last sector must be <= %d",
-                               (int) num_sectors - 1);
+                       (int) num_sectors - 1);
                return ERROR_FAIL;
        }
 
@@ -300,8 +282,8 @@ COMMAND_HANDLER(handle_flash_erase_command)
        else
                COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], last);
 
-       if ((retval = flash_check_sector_parameters(CMD_CTX,
-                       first, last, p->num_sectors)) != ERROR_OK)
+       retval = flash_check_sector_parameters(CMD_CTX, first, last, p->num_sectors);
+       if (retval != ERROR_OK)
                return retval;
 
        struct duration bench;
@@ -309,11 +291,10 @@ COMMAND_HANDLER(handle_flash_erase_command)
 
        retval = flash_driver_erase(p, first, last);
 
-       if ((ERROR_OK == retval) && (duration_measure(&bench) == ERROR_OK))
-       {
+       if ((ERROR_OK == retval) && (duration_measure(&bench) == ERROR_OK)) {
                command_print(CMD_CTX, "erased sectors %" PRIu32 " "
-                               "through %" PRIu32" on flash bank %" PRIu32 " "
-                               "in %fs", first, last, p->bank_number, duration_elapsed(&bench));
+                       "through %" PRIu32 " on flash bank %" PRIu32 " "
+                       "in %fs", first, last, p->bank_number, duration_elapsed(&bench));
        }
 
        return ERROR_OK;
@@ -343,14 +324,14 @@ COMMAND_HANDLER(handle_flash_protect_command)
        bool set;
        COMMAND_PARSE_ON_OFF(CMD_ARGV[3], set);
 
-       if ((retval = flash_check_sector_parameters(CMD_CTX,
-                       first, last, p->num_sectors)) != ERROR_OK)
+       retval = flash_check_sector_parameters(CMD_CTX, first, last, p->num_sectors);
+       if (retval != ERROR_OK)
                return retval;
 
        retval = flash_driver_protect(p, set, first, last);
        if (retval == ERROR_OK) {
                command_print(CMD_CTX, "%s protection for sectors %i "
-                               "through %i on flash bank %" PRIu32 "",
+                       "through %i on flash bank %" PRIu32 "",
                        (set) ? "set" : "cleared", (int) first,
                        (int) last, p->bank_number);
        }
@@ -368,41 +349,31 @@ COMMAND_HANDLER(handle_flash_write_image_command)
        int retval;
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        /* flash auto-erase is disabled by default*/
        int auto_erase = 0;
        bool auto_unlock = false;
 
-       for (;;)
-       {
-               if (strcmp(CMD_ARGV[0], "erase") == 0)
-               {
+       for (;; ) {
+               if (strcmp(CMD_ARGV[0], "erase") == 0) {
                        auto_erase = 1;
                        CMD_ARGV++;
                        CMD_ARGC--;
                        command_print(CMD_CTX, "auto erase enabled");
-               } else if (strcmp(CMD_ARGV[0], "unlock") == 0)
-               {
+               } else if (strcmp(CMD_ARGV[0], "unlock") == 0) {
                        auto_unlock = true;
                        CMD_ARGV++;
                        CMD_ARGC--;
                        command_print(CMD_CTX, "auto unlock enabled");
                } else
-               {
                        break;
-               }
        }
 
        if (CMD_ARGC < 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
-       if (!target)
-       {
+       if (!target) {
                LOG_ERROR("no target selected");
                return ERROR_FAIL;
        }
@@ -410,13 +381,10 @@ COMMAND_HANDLER(handle_flash_write_image_command)
        struct duration bench;
        duration_start(&bench);
 
-       if (CMD_ARGC >= 2)
-       {
+       if (CMD_ARGC >= 2) {
                image.base_address_set = 1;
                COMMAND_PARSE_NUMBER(llong, CMD_ARGV[1], image.base_address);
-       }
-       else
-       {
+       } else {
                image.base_address_set = 0;
                image.base_address = 0x0;
        }
@@ -425,22 +393,18 @@ COMMAND_HANDLER(handle_flash_write_image_command)
 
        retval = image_open(&image, CMD_ARGV[0], (CMD_ARGC == 3) ? CMD_ARGV[2] : NULL);
        if (retval != ERROR_OK)
-       {
                return retval;
-       }
 
        retval = flash_write_unlock(target, &image, &written, auto_erase, auto_unlock);
-       if (retval != ERROR_OK)
-       {
+       if (retval != ERROR_OK) {
                image_close(&image);
                return retval;
        }
 
-       if ((ERROR_OK == retval) && (duration_measure(&bench) == ERROR_OK))
-       {
+       if ((ERROR_OK == retval) && (duration_measure(&bench) == ERROR_OK)) {
                command_print(CMD_CTX, "wrote %" PRIu32 " bytes from file %s "
-                               "in %fs (%0.3f KiB/s)", written, CMD_ARGV[0],
-                               duration_elapsed(&bench), duration_kbps(&bench, written));
+                       "in %fs (%0.3f KiB/s)", written, CMD_ARGV[0],
+                       duration_elapsed(&bench), duration_kbps(&bench, written));
        }
 
        image_close(&image);
@@ -468,20 +432,17 @@ COMMAND_HANDLER(handle_flash_fill_command)
                return ERROR_FAIL;
 
        uint8_t *readback = malloc(chunksize);
-       if (readback == NULL)
-       {
+       if (readback == NULL) {
                free(chunk);
                return ERROR_FAIL;
        }
 
 
-       if (CMD_ARGC != 3)
-       {
+       if (CMD_ARGC != 3) {
                retval = ERROR_COMMAND_SYNTAX_ERROR;
                goto done;
        }
 
-
        COMMAND_PARSE_NUMBER(u32, CMD_ARGV[0], address);
        COMMAND_PARSE_NUMBER(u32, CMD_ARGV[1], pattern);
        COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], count);
@@ -489,88 +450,79 @@ COMMAND_HANDLER(handle_flash_fill_command)
        if (count == 0)
                goto done;
 
-       switch (CMD_NAME[4])
-       {
-       case 'w':
-               wordsize = 4;
-               break;
-       case 'h':
-               wordsize = 2;
-               break;
-       case 'b':
-               wordsize = 1;
-               break;
-       default:
-               retval = ERROR_COMMAND_SYNTAX_ERROR;
-               goto done;
+       switch (CMD_NAME[4]) {
+               case 'w':
+                       wordsize = 4;
+                       break;
+               case 'h':
+                       wordsize = 2;
+                       break;
+               case 'b':
+                       wordsize = 1;
+                       break;
+               default:
+                       retval = ERROR_COMMAND_SYNTAX_ERROR;
+                       goto done;
        }
 
        chunk_count = MIN(count, (chunksize / wordsize));
-       switch (wordsize)
-       {
-       case 4:
-               for (i = 0; i < chunk_count; i++)
-               {
-                       target_buffer_set_u32(target, chunk + i * wordsize, pattern);
-               }
-               break;
-       case 2:
-               for (i = 0; i < chunk_count; i++)
-               {
-                       target_buffer_set_u16(target, chunk + i * wordsize, pattern);
-               }
-               break;
-       case 1:
-               memset(chunk, pattern, chunk_count);
-               break;
-       default:
-               LOG_ERROR("BUG: can't happen");
-               exit(-1);
+       switch (wordsize) {
+               case 4:
+                       for (i = 0; i < chunk_count; i++)
+                               target_buffer_set_u32(target, chunk + i * wordsize, pattern);
+                       break;
+               case 2:
+                       for (i = 0; i < chunk_count; i++)
+                               target_buffer_set_u16(target, chunk + i * wordsize, pattern);
+                       break;
+               case 1:
+                       memset(chunk, pattern, chunk_count);
+                       break;
+               default:
+                       LOG_ERROR("BUG: can't happen");
+                       exit(-1);
        }
 
        struct duration bench;
        duration_start(&bench);
 
-       for (wrote = 0; wrote < (count*wordsize); wrote += cur_size)
-       {
+       for (wrote = 0; wrote < (count*wordsize); wrote += cur_size) {
                struct flash_bank *bank;
 
-               retval = get_flash_bank_by_addr(target, address, true, &bank );
+               retval = get_flash_bank_by_addr(target, address, true, &bank);
                if (retval != ERROR_OK)
                        goto done;
 
                cur_size = MIN((count * wordsize - wrote), chunksize);
                err = flash_driver_write(bank, chunk, address - bank->base + wrote, cur_size);
-               if (err != ERROR_OK)
-               {
+               if (err != ERROR_OK) {
                        retval = err;
                        goto done;
                }
 
                err = flash_driver_read(bank, readback, address - bank->base + wrote, cur_size);
-               if (err != ERROR_OK)
-               {
+               if (err != ERROR_OK) {
                        retval = err;
                        goto done;
                }
 
-               for (i = 0; i < cur_size; i++)
-               {
-                       if (readback[i]!=chunk[i])
-                       {
-                               LOG_ERROR("Verification error address 0x%08" PRIx32 ", read back 0x%02x, expected 0x%02x",
-                                                 address + wrote + i, readback[i], chunk[i]);
+               for (i = 0; i < cur_size; i++) {
+                       if (readback[i] != chunk[i]) {
+                               LOG_ERROR(
+                                       "Verification error address 0x%08" PRIx32 ", read back 0x%02x, expected 0x%02x",
+                                       address + wrote + i,
+                                       readback[i],
+                                       chunk[i]);
                                retval = ERROR_FAIL;
                                goto done;
                        }
                }
        }
 
-       if ((retval == ERROR_OK) && (duration_measure(&bench) == ERROR_OK))
-       {
+       if ((retval == ERROR_OK) && (duration_measure(&bench) == ERROR_OK)) {
                command_print(CMD_CTX, "wrote %" PRIu32 " bytes to 0x%8.8" PRIx32
-                               " in %fs (%0.3f KiB/s)", wrote, address,
-                               duration_elapsed(&bench), duration_kbps(&bench, wrote));
+                       " in %fs (%0.3f KiB/s)", wrote, address,
+                       duration_elapsed(&bench), duration_kbps(&bench, wrote));
        }
 
 done:
@@ -600,28 +552,23 @@ COMMAND_HANDLER(handle_flash_write_bank_command)
        COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], offset);
 
        if (fileio_open(&fileio, CMD_ARGV[1], FILEIO_READ, FILEIO_BINARY) != ERROR_OK)
-       {
                return ERROR_OK;
-       }
 
        int filesize;
        retval = fileio_size(&fileio, &filesize);
-       if (retval != ERROR_OK)
-       {
+       if (retval != ERROR_OK) {
                fileio_close(&fileio);
                return retval;
        }
 
        buffer = malloc(filesize);
-       if (buffer == NULL)
-       {
+       if (buffer == NULL) {
                fileio_close(&fileio);
                LOG_ERROR("Out of memory");
                return ERROR_FAIL;
        }
        size_t buf_cnt;
-       if (fileio_read(&fileio, filesize, buffer, &buf_cnt) != ERROR_OK)
-       {
+       if (fileio_read(&fileio, filesize, buffer, &buf_cnt) != ERROR_OK) {
                free(buffer);
                fileio_close(&fileio);
                return ERROR_OK;
@@ -632,12 +579,11 @@ COMMAND_HANDLER(handle_flash_write_bank_command)
        free(buffer);
        buffer = NULL;
 
-       if ((ERROR_OK == retval) && (duration_measure(&bench) == ERROR_OK))
-       {
+       if ((ERROR_OK == retval) && (duration_measure(&bench) == ERROR_OK)) {
                command_print(CMD_CTX, "wrote %ld bytes from file %s to flash bank %u"
-                               " at offset 0x%8.8" PRIx32 " in %fs (%0.3f KiB/s)",
-                               (long)filesize, CMD_ARGV[1], p->bank_number, offset,
-                               duration_elapsed(&bench), duration_kbps(&bench, filesize));
+                       " at offset 0x%8.8" PRIx32 " in %fs (%0.3f KiB/s)",
+                       (long)filesize, CMD_ARGV[1], p->bank_number, offset,
+                       duration_elapsed(&bench), duration_kbps(&bench, filesize));
        }
 
        fileio_close(&fileio);
@@ -651,12 +597,9 @@ void flash_set_dirty(void)
        int i;
 
        /* set all flash to require erasing */
-       for (c = flash_bank_list(); c; c = c->next)
-       {
+       for (c = flash_bank_list(); c; c = c->next) {
                for (i = 0; i < c->num_sectors; i++)
-               {
                        c->sectors[i].is_erased = 0;
-               }
        }
 }
 
@@ -770,49 +713,43 @@ static int flash_init_drivers(struct command_context *cmd_ctx)
 
 COMMAND_HANDLER(handle_flash_bank_command)
 {
-       if (CMD_ARGC < 7)
-       {
+       if (CMD_ARGC < 7) {
                LOG_ERROR("usage: flash bank <name> <driver> "
-                               "<base> <size> <chip_width> <bus_width> <target>");
+                       "<base> <size> <chip_width> <bus_width> <target>");
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
-       // save bank name and advance arguments for compatibility
+       /* save bank name and advance arguments for compatibility */
        const char *bank_name = *CMD_ARGV++;
        CMD_ARGC--;
 
-       struct target *target;
-       if ((target = get_target(CMD_ARGV[5])) == NULL)
-       {
+       struct target *target = get_target(CMD_ARGV[5]);
+       if (target == NULL) {
                LOG_ERROR("target '%s' not defined", CMD_ARGV[5]);
                return ERROR_FAIL;
        }
 
        const char *driver_name = CMD_ARGV[0];
        struct flash_driver *driver = flash_driver_find_by_name(driver_name);
-       if (NULL == driver)
-       {
+       if (NULL == driver) {
                /* no matching flash driver found */
                LOG_ERROR("flash driver '%s' not found", driver_name);
                return ERROR_FAIL;
        }
 
        /* check the flash bank name is unique */
-       if (get_flash_bank_by_name_noprobe(bank_name) != NULL)
-       {
+       if (get_flash_bank_by_name_noprobe(bank_name) != NULL) {
                /* flash bank name already exists  */
                LOG_ERROR("flash bank name '%s' already exists", bank_name);
                return ERROR_FAIL;
        }
 
        /* register flash specific commands */
-       if (NULL != driver->commands)
-       {
+       if (NULL != driver->commands) {
                int retval = register_commands(CMD_CTX, NULL,
                                driver->commands);
-               if (ERROR_OK != retval)
-               {
+               if (ERROR_OK != retval) {
                        LOG_ERROR("couldn't register '%s' commands",
-                                       driver_name);
+                               driver_name);
                        return ERROR_FAIL;
                }
        }
@@ -832,10 +769,9 @@ COMMAND_HANDLER(handle_flash_bank_command)
 
        int retval;
        retval = CALL_COMMAND_HANDLER(driver->flash_bank_command, c);
-       if (ERROR_OK != retval)
-       {
+       if (ERROR_OK != retval) {
                LOG_ERROR("'%s' driver rejected flash bank at 0x%8.8" PRIx32 "Usage %s",
-                               driver_name, c->base, driver->usage);
+                       driver_name, c->base, driver->usage);
                free(c);
                return retval;
        }
@@ -854,8 +790,7 @@ COMMAND_HANDLER(handle_flash_banks_command)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
        unsigned n = 0;
-       for (struct flash_bank *p = flash_bank_list(); p; p = p->next, n++)
-       {
+       for (struct flash_bank *p = flash_bank_list(); p; p = p->next, n++) {
                LOG_USER("#%" PRIu32 " : %s (%s) at 0x%8.8" PRIx32 ", size 0x%8.8" PRIx32 ", "
                        "buswidth %u, chipwidth %u", p->bank_number,
                        p->name, p->driver->name, p->base, p->size,
@@ -864,19 +799,17 @@ COMMAND_HANDLER(handle_flash_banks_command)
        return ERROR_OK;
 }
 
-static int jim_flash_list(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
+static int jim_flash_list(Jim_Interp *interp, int argc, Jim_Obj * const *argv)
 {
-       if (argc != 1)
-       {
+       if (argc != 1) {
                Jim_WrongNumArgs(interp, 1, argv,
-                               "no arguments to 'flash list' command");
+                       "no arguments to 'flash list' command");
                return JIM_ERR;
        }
 
        Jim_Obj *list = Jim_NewListObj(interp, NULL, 0);
 
-       for (struct flash_bank *p = flash_bank_list(); p; p = p->next)
-       {
+       for (struct flash_bank *p = flash_bank_list(); p; p = p->next) {
                Jim_Obj *elem = Jim_NewListObj(interp, NULL, 0);
 
                Jim_ListAppendElement(interp, elem, Jim_NewStringObj(interp, "name", -1));
@@ -898,15 +831,13 @@ static int jim_flash_list(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
        return JIM_OK;
 }
 
-
 COMMAND_HANDLER(handle_flash_init_command)
 {
        if (CMD_ARGC != 0)
                return ERROR_COMMAND_SYNTAX_ERROR;
 
-       static bool flash_initialized = false;
-       if (flash_initialized)
-       {
+       static bool flash_initialized;
+       if (flash_initialized) {
                LOG_INFO("'flash init' has already been called");
                return ERROR_OK;
        }
index 393ca76e5a9b7688cff878c75ba8618b8dd830bb..7aebed739ee4a38d2d025a3484b5788399f18973 100644 (file)
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
 #include "imp.h"
 
-
 /* ----------------------------------------------------------------------
-                      Internal Support, Helpers
  ---------------------------------------------------------------------- */
                     Internal Support, Helpers
* ---------------------------------------------------------------------- */
 
-struct tms470_flash_bank
-{
+struct tms470_flash_bank {
        unsigned ordinal;
 
        /* device identification register */
@@ -38,7 +37,7 @@ struct tms470_flash_bank
        uint32_t technology_family;
        uint32_t rom_flash;
        uint32_t part_number;
-       const char * part_name;
+       const char *part_name;
 
 };
 
@@ -134,15 +133,14 @@ static int tms470_read_part_info(struct flash_bank *bank)
        /* we shall not rely on the caller in this test, this function allocates memory,
           thus and executing the code more than once may cause memory leak */
        if (tms470_info->device_ident_reg)
-         return ERROR_OK;
+               return ERROR_OK;
 
        /* read and parse the device identification register */
        target_read_u32(target, 0xFFFFFFF0, &device_ident_reg);
 
        LOG_INFO("device_ident_reg = 0x%08" PRIx32 "", device_ident_reg);
 
-       if ((device_ident_reg & 7) == 0)
-       {
+       if ((device_ident_reg & 7) == 0) {
                LOG_WARNING("Cannot identify target as a TMS470 family.");
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -152,8 +150,7 @@ static int tms470_read_part_info(struct flash_bank *bank)
        rom_flash = (device_ident_reg >> 10) & 1;
        part_number = (device_ident_reg >> 3) & 0x7f;
 
-       if (bank->sectors)
-       {
+       if (bank->sectors) {
                free(bank->sectors);
                bank->sectors = NULL;
        }
@@ -164,116 +161,100 @@ static int tms470_read_part_info(struct flash_bank *bank)
         * ranges.  Then fixup/complete the remaining fields of the flash
         * bank structure.
         */
-       switch (part_number)
-       {
-       case 0x0a:
-               part_name = "TMS470R1A256";
-
-               if (bank->base >= 0x00040000)
-               {
-                       LOG_ERROR("No %s flash bank contains base address 0x%08" PRIx32 ".", part_name, bank->base);
-                       return ERROR_FLASH_OPERATION_FAILED;
-               }
-               tms470_info->ordinal = 0;
-               bank->base = 0x00000000;
-               bank->size = 256 * 1024;
-               bank->num_sectors = TMS470R1A256_NUM_SECTORS;
-               bank->sectors = malloc(sizeof(TMS470R1A256_SECTORS));
-               if (!bank->sectors)
-               {
-                       return ERROR_FLASH_OPERATION_FAILED;
-               }
-               (void)memcpy(bank->sectors, TMS470R1A256_SECTORS, sizeof(TMS470R1A256_SECTORS));
-               break;
-
-       case 0x2b:
-               part_name = "TMS470R1A288";
-
-               if (bank->base < 0x00008000)
-               {
-                       tms470_info->ordinal = 0;
-                       bank->base = 0x00000000;
-                       bank->size = 32 * 1024;
-                       bank->num_sectors = TMS470R1A288_BANK0_NUM_SECTORS;
-                       bank->sectors = malloc(sizeof(TMS470R1A288_BANK0_SECTORS));
-                       if (!bank->sectors)
-                       {
-                               return ERROR_FLASH_OPERATION_FAILED;
-                       }
-                       (void)memcpy(bank->sectors, TMS470R1A288_BANK0_SECTORS, sizeof(TMS470R1A288_BANK0_SECTORS));
-               }
-               else if ((bank->base >= 0x00040000) && (bank->base < 0x00080000))
-               {
-                       tms470_info->ordinal = 1;
-                       bank->base = 0x00040000;
-                       bank->size = 256 * 1024;
-                       bank->num_sectors = TMS470R1A288_BANK1_NUM_SECTORS;
-                       bank->sectors = malloc(sizeof(TMS470R1A288_BANK1_SECTORS));
-                       if (!bank->sectors)
-                       {
+       switch (part_number) {
+               case 0x0a:
+                       part_name = "TMS470R1A256";
+
+                       if (bank->base >= 0x00040000) {
+                               LOG_ERROR("No %s flash bank contains base address 0x%08" PRIx32 ".",
+                                               part_name,
+                                               bank->base);
                                return ERROR_FLASH_OPERATION_FAILED;
                        }
-                       (void)memcpy(bank->sectors, TMS470R1A288_BANK1_SECTORS, sizeof(TMS470R1A288_BANK1_SECTORS));
-               }
-               else
-               {
-                       LOG_ERROR("No %s flash bank contains base address 0x%08" PRIx32 ".", part_name, bank->base);
-                       return ERROR_FLASH_OPERATION_FAILED;
-               }
-               break;
-
-       case 0x2d:
-               part_name = "TMS470R1A384";
-
-               if (bank->base < 0x00020000)
-               {
                        tms470_info->ordinal = 0;
                        bank->base = 0x00000000;
-                       bank->size = 128 * 1024;
-                       bank->num_sectors = TMS470R1A384_BANK0_NUM_SECTORS;
-                       bank->sectors = malloc(sizeof(TMS470R1A384_BANK0_SECTORS));
+                       bank->size = 256 * 1024;
+                       bank->num_sectors = TMS470R1A256_NUM_SECTORS;
+                       bank->sectors = malloc(sizeof(TMS470R1A256_SECTORS));
                        if (!bank->sectors)
-                       {
                                return ERROR_FLASH_OPERATION_FAILED;
-                       }
-                       (void)memcpy(bank->sectors, TMS470R1A384_BANK0_SECTORS, sizeof(TMS470R1A384_BANK0_SECTORS));
-               }
-               else if ((bank->base >= 0x00020000) && (bank->base < 0x00040000))
-               {
-                       tms470_info->ordinal = 1;
-                       bank->base = 0x00020000;
-                       bank->size = 128 * 1024;
-                       bank->num_sectors = TMS470R1A384_BANK1_NUM_SECTORS;
-                       bank->sectors = malloc(sizeof(TMS470R1A384_BANK1_SECTORS));
-                       if (!bank->sectors)
-                       {
+                       (void)memcpy(bank->sectors, TMS470R1A256_SECTORS, sizeof(TMS470R1A256_SECTORS));
+                       break;
+
+               case 0x2b:
+                       part_name = "TMS470R1A288";
+
+                       if (bank->base < 0x00008000) {
+                               tms470_info->ordinal = 0;
+                               bank->base = 0x00000000;
+                               bank->size = 32 * 1024;
+                               bank->num_sectors = TMS470R1A288_BANK0_NUM_SECTORS;
+                               bank->sectors = malloc(sizeof(TMS470R1A288_BANK0_SECTORS));
+                               if (!bank->sectors)
+                                       return ERROR_FLASH_OPERATION_FAILED;
+                               (void)memcpy(bank->sectors, TMS470R1A288_BANK0_SECTORS,
+                                               sizeof(TMS470R1A288_BANK0_SECTORS));
+                       } else if ((bank->base >= 0x00040000) && (bank->base < 0x00080000)) {
+                               tms470_info->ordinal = 1;
+                               bank->base = 0x00040000;
+                               bank->size = 256 * 1024;
+                               bank->num_sectors = TMS470R1A288_BANK1_NUM_SECTORS;
+                               bank->sectors = malloc(sizeof(TMS470R1A288_BANK1_SECTORS));
+                               if (!bank->sectors)
+                                       return ERROR_FLASH_OPERATION_FAILED;
+                               (void)memcpy(bank->sectors, TMS470R1A288_BANK1_SECTORS,
+                                               sizeof(TMS470R1A288_BANK1_SECTORS));
+                       } else {
+                               LOG_ERROR("No %s flash bank contains base address 0x%08" PRIx32 ".",
+                                               part_name, bank->base);
                                return ERROR_FLASH_OPERATION_FAILED;
                        }
-                       (void)memcpy(bank->sectors, TMS470R1A384_BANK1_SECTORS, sizeof(TMS470R1A384_BANK1_SECTORS));
-               }
-               else if ((bank->base >= 0x00040000) && (bank->base < 0x00060000))
-               {
-                       tms470_info->ordinal = 2;
-                       bank->base = 0x00040000;
-                       bank->size = 128 * 1024;
-                       bank->num_sectors = TMS470R1A384_BANK2_NUM_SECTORS;
-                       bank->sectors = malloc(sizeof(TMS470R1A384_BANK2_SECTORS));
-                       if (!bank->sectors)
-                       {
+                       break;
+
+               case 0x2d:
+                       part_name = "TMS470R1A384";
+
+                       if (bank->base < 0x00020000) {
+                               tms470_info->ordinal = 0;
+                               bank->base = 0x00000000;
+                               bank->size = 128 * 1024;
+                               bank->num_sectors = TMS470R1A384_BANK0_NUM_SECTORS;
+                               bank->sectors = malloc(sizeof(TMS470R1A384_BANK0_SECTORS));
+                               if (!bank->sectors)
+                                       return ERROR_FLASH_OPERATION_FAILED;
+                               (void)memcpy(bank->sectors, TMS470R1A384_BANK0_SECTORS,
+                                               sizeof(TMS470R1A384_BANK0_SECTORS));
+                       } else if ((bank->base >= 0x00020000) && (bank->base < 0x00040000)) {
+                               tms470_info->ordinal = 1;
+                               bank->base = 0x00020000;
+                               bank->size = 128 * 1024;
+                               bank->num_sectors = TMS470R1A384_BANK1_NUM_SECTORS;
+                               bank->sectors = malloc(sizeof(TMS470R1A384_BANK1_SECTORS));
+                               if (!bank->sectors)
+                                       return ERROR_FLASH_OPERATION_FAILED;
+                               (void)memcpy(bank->sectors, TMS470R1A384_BANK1_SECTORS,
+                                               sizeof(TMS470R1A384_BANK1_SECTORS));
+                       } else if ((bank->base >= 0x00040000) && (bank->base < 0x00060000)) {
+                               tms470_info->ordinal = 2;
+                               bank->base = 0x00040000;
+                               bank->size = 128 * 1024;
+                               bank->num_sectors = TMS470R1A384_BANK2_NUM_SECTORS;
+                               bank->sectors = malloc(sizeof(TMS470R1A384_BANK2_SECTORS));
+                               if (!bank->sectors)
+                                       return ERROR_FLASH_OPERATION_FAILED;
+                               (void)memcpy(bank->sectors, TMS470R1A384_BANK2_SECTORS,
+                                               sizeof(TMS470R1A384_BANK2_SECTORS));
+                       } else {
+                               LOG_ERROR("No %s flash bank contains base address 0x%08" PRIx32 ".",
+                                               part_name, bank->base);
                                return ERROR_FLASH_OPERATION_FAILED;
                        }
-                       (void)memcpy(bank->sectors, TMS470R1A384_BANK2_SECTORS, sizeof(TMS470R1A384_BANK2_SECTORS));
-               }
-               else
-               {
-                       LOG_ERROR("No %s flash bank contains base address 0x%08" PRIx32 ".", part_name, bank->base);
-                       return ERROR_FLASH_OPERATION_FAILED;
-               }
-               break;
+                       break;
 
-       default:
-               LOG_WARNING("Could not identify part 0x%02x as a member of the TMS470 family.", (unsigned)part_number);
-               return ERROR_FLASH_OPERATION_FAILED;
+               default:
+                       LOG_WARNING("Could not identify part 0x%02x as a member of the TMS470 family.",
+                                       (unsigned)part_number);
+                       return ERROR_FLASH_OPERATION_FAILED;
        }
 
        /* turn off memory selects */
@@ -284,10 +265,10 @@ static int tms470_read_part_info(struct flash_bank *bank)
        bank->bus_width = 32;
 
        LOG_INFO("Identified %s, ver=%d, core=%s, nvmem=%s.",
-                part_name,
-                (int)(silicon_version),
-                (technology_family ? "1.8v" : "3.3v"),
-                (rom_flash ? "rom" : "flash"));
+               part_name,
+               (int)(silicon_version),
+               (technology_family ? "1.8v" : "3.3v"),
+               (rom_flash ? "rom" : "flash"));
 
        tms470_info->device_ident_reg = device_ident_reg;
        tms470_info->silicon_version = silicon_version;
@@ -306,67 +287,57 @@ static int tms470_read_part_info(struct flash_bank *bank)
 
 /* ---------------------------------------------------------------------- */
 
-static uint32_t keysSet = 0;
+static uint32_t keysSet;
 static uint32_t flashKeys[4];
 
 COMMAND_HANDLER(tms470_handle_flash_keyset_command)
 {
        if (CMD_ARGC > 4)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
-       else if (CMD_ARGC == 4)
-       {
+       else if (CMD_ARGC == 4) {
                int i;
 
-               for (i = 0; i < 4; i++)
-               {
+               for (i = 0; i < 4; i++) {
                        int start = (0 == strncmp(CMD_ARGV[i], "0x", 2)) ? 2 : 0;
 
-                       if (1 != sscanf(&CMD_ARGV[i][start], "%" SCNx32 "", &flashKeys[i]))
-                       {
-                               command_print(CMD_CTX, "could not process flash key %s", CMD_ARGV[i]);
+                       if (1 != sscanf(&CMD_ARGV[i][start], "%" SCNx32 "", &flashKeys[i])) {
+                               command_print(CMD_CTX, "could not process flash key %s",
+                                       CMD_ARGV[i]);
                                LOG_ERROR("could not process flash key %s", CMD_ARGV[i]);
                                return ERROR_COMMAND_SYNTAX_ERROR;
                        }
                }
 
                keysSet = 1;
-       }
-       else if (CMD_ARGC != 0)
-       {
+       } else if (CMD_ARGC != 0) {
                command_print(CMD_CTX, "tms470 flash_keyset <key0> <key1> <key2> <key3>");
                return ERROR_COMMAND_SYNTAX_ERROR;
        }
 
-       if (keysSet)
-       {
-               command_print(CMD_CTX, "using flash keys 0x%08" PRIx32 ", 0x%08" PRIx32 ", 0x%08" PRIx32 ", 0x%08" PRIx32 "",
-                             flashKeys[0], flashKeys[1], flashKeys[2], flashKeys[3]);
-       }
-       else
-       {
+       if (keysSet) {
+               command_print(CMD_CTX,
+                       "using flash keys 0x%08" PRIx32 ", 0x%08" PRIx32 ", 0x%08" PRIx32 ", 0x%08" PRIx32 "",
+                       flashKeys[0],
+                       flashKeys[1],
+                       flashKeys[2],
+                       flashKeys[3]);
+       } else
                command_print(CMD_CTX, "flash keys not set");
-       }
 
        return ERROR_OK;
 }
 
 static const uint32_t FLASH_KEYS_ALL_ONES[] = { 0xFFFFFFFF, 0xFFFFFFFF,
-       0xFFFFFFFF, 0xFFFFFFFF,
-};
+               0xFFFFFFFF, 0xFFFFFFFF,};
 
 static const uint32_t FLASH_KEYS_ALL_ZEROS[] = { 0x00000000, 0x00000000,
-       0x00000000, 0x00000000,
-};
+               0x00000000, 0x00000000,};
 
 static const uint32_t FLASH_KEYS_MIX1[] = { 0xf0fff0ff, 0xf0fff0ff,
-       0xf0fff0ff, 0xf0fff0ff
-};
+               0xf0fff0ff, 0xf0fff0ff};
 
 static const uint32_t FLASH_KEYS_MIX2[] = { 0x0000ffff, 0x0000ffff,
-       0x0000ffff, 0x0000ffff
-};
+               0x0000ffff, 0x0000ffff};
 
 /* ---------------------------------------------------------------------- */
 
@@ -375,16 +346,11 @@ static int oscMHz = 12;
 COMMAND_HANDLER(tms470_handle_osc_megahertz_command)
 {
        if (CMD_ARGC > 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
        else if (CMD_ARGC == 1)
-       {
                sscanf(CMD_ARGV[0], "%d", &oscMHz);
-       }
 
-       if (oscMHz <= 0)
-       {
+       if (oscMHz <= 0) {
                LOG_ERROR("osc_megahertz must be positive and non-zero!");
                command_print(CMD_CTX, "osc_megahertz must be positive and non-zero!");
                oscMHz = 12;
@@ -398,16 +364,13 @@ COMMAND_HANDLER(tms470_handle_osc_megahertz_command)
 
 /* ---------------------------------------------------------------------- */
 
-static int plldis = 0;
+static int plldis;
 
 COMMAND_HANDLER(tms470_handle_plldis_command)
 {
        if (CMD_ARGC > 1)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
-       else if (CMD_ARGC == 1)
-       {
+       else if (CMD_ARGC == 1) {
                sscanf(CMD_ARGV[0], "%d", &plldis);
                plldis = plldis ? 1 : 0;
        }
@@ -419,18 +382,20 @@ COMMAND_HANDLER(tms470_handle_plldis_command)
 
 /* ---------------------------------------------------------------------- */
 
-static int tms470_check_flash_unlocked(struct target * target)
+static int tms470_check_flash_unlocked(struct target *target)
 {
        uint32_t fmbbusy;
 
        target_read_u32(target, 0xFFE89C08, &fmbbusy);
-       LOG_INFO("tms470 fmbbusy = 0x%08" PRIx32 " -> %s", fmbbusy, fmbbusy & 0x8000 ? "unlocked" : "LOCKED");
+       LOG_INFO("tms470 fmbbusy = 0x%08" PRIx32 " -> %s",
+               fmbbusy,
+               fmbbusy & 0x8000 ? "unlocked" : "LOCKED");
        return fmbbusy & 0x8000 ? ERROR_OK : ERROR_FLASH_OPERATION_FAILED;
 }
 
 /* ---------------------------------------------------------------------- */
 
-static int tms470_try_flash_keys(struct target * target, const uint32_t * key_set)
+static int tms470_try_flash_keys(struct target *target, const uint32_t *key_set)
 {
        uint32_t glbctrl, fmmstat;
        int retval = ERROR_FLASH_OPERATION_FAILED;
@@ -441,20 +406,17 @@ static int tms470_try_flash_keys(struct target * target, const uint32_t * key_se
 
        /* only perform the key match when 3VSTAT is clear */
        target_read_u32(target, 0xFFE8BC0C, &fmmstat);
-       if (!(fmmstat & 0x08))
-       {
+       if (!(fmmstat & 0x08)) {
                unsigned i;
                uint32_t fmbptr, fmbac2, orig_fmregopt;
 
                target_write_u32(target, 0xFFE8BC04, fmmstat & ~0x07);
 
                /* wait for pump ready */
-               do
-               {
+               do {
                        target_read_u32(target, 0xFFE8A814, &fmbptr);
                        alive_sleep(1);
-               }
-               while (!(fmbptr & 0x0200));
+               } while (!(fmbptr & 0x0200));
 
                /* force max wait states */
                target_read_u32(target, 0xFFE88004, &fmbac2);
@@ -464,8 +426,7 @@ static int tms470_try_flash_keys(struct target * target, const uint32_t * key_se
                target_read_u32(target, 0xFFE89C00, &orig_fmregopt);
                target_write_u32(target, 0xFFE89C00, 0x00);
 
-               for (i = 0; i < 4; i++)
-               {
+               for (i = 0; i < 4; i++) {
                        uint32_t tmp;
 
                        /* There is no point displaying the value of tmp, it is
@@ -478,15 +439,13 @@ static int tms470_try_flash_keys(struct target * target, const uint32_t * key_se
                        target_write_u32(target, 0xFFE89C0C, key_set[i]);
                }
 
-               if (ERROR_OK == tms470_check_flash_unlocked(target))
-               {
+               if (ERROR_OK == tms470_check_flash_unlocked(target)) {
                        /*
                         * There seems to be a side-effect of reading the FMPKEY
                         * register in that it re-enables the protection.  So we
                         * re-enable it.
                         */
-                       for (i = 0; i < 4; i++)
-                       {
+                       for (i = 0; i < 4; i++) {
                                uint32_t tmp;
 
                                target_read_u32(target, 0x00001FF0 + 4 * i, &tmp);
@@ -514,17 +473,14 @@ static int tms470_unlock_flash(struct flash_bank *bank)
        const uint32_t *p_key_sets[5];
        unsigned i, key_set_count;
 
-       if (keysSet)
-       {
+       if (keysSet) {
                key_set_count = 5;
                p_key_sets[0] = flashKeys;
                p_key_sets[1] = FLASH_KEYS_ALL_ONES;
                p_key_sets[2] = FLASH_KEYS_ALL_ZEROS;
                p_key_sets[3] = FLASH_KEYS_MIX1;
                p_key_sets[4] = FLASH_KEYS_MIX2;
-       }
-       else
-       {
+       } else {
                key_set_count = 4;
                p_key_sets[0] = FLASH_KEYS_ALL_ONES;
                p_key_sets[1] = FLASH_KEYS_ALL_ZEROS;
@@ -532,10 +488,8 @@ static int tms470_unlock_flash(struct flash_bank *bank)
                p_key_sets[3] = FLASH_KEYS_MIX2;
        }
 
-       for (i = 0; i < key_set_count; i++)
-       {
-               if (tms470_try_flash_keys(target, p_key_sets[i]) == ERROR_OK)
-               {
+       for (i = 0; i < key_set_count; i++) {
+               if (tms470_try_flash_keys(target, p_key_sets[i]) == ERROR_OK) {
                        LOG_INFO("tms470 flash is unlocked");
                        return ERROR_OK;
                }
@@ -594,14 +548,11 @@ static int tms470_flash_initialize_internal_state_machine(struct flash_bank *ban
         * configure VHV
         */
        target_read_u32(target, 0xFFE8A080, &fmmaxep);
-       if (fmmaxep == 0xf000)
-       {
+       if (fmmaxep == 0xf000) {
                fmmaxep = 0xf000 + 4095;
                target_write_u32(target, 0xFFE8A80C, 0x9964);
                LOG_DEBUG("set fmptr3 = 0x9964");
-       }
-       else
-       {
+       } else {
                fmmaxep = 0xa000 + 4095;
                target_write_u32(target, 0xFFE8A80C, 0x9b64);
                LOG_DEBUG("set fmptr3 = 0x9b64");
@@ -692,44 +643,37 @@ static int tms470_flash_status(struct flash_bank *bank)
        target_read_u32(target, 0xFFE8BC0C, &fmmstat);
        LOG_DEBUG("set fmmstat = 0x%04" PRIx32 "", fmmstat);
 
-       if (fmmstat & 0x0080)
-       {
+       if (fmmstat & 0x0080) {
                LOG_WARNING("tms470 flash command: erase still active after busy clear.");
                result = ERROR_FLASH_OPERATION_FAILED;
        }
 
-       if (fmmstat & 0x0040)
-       {
+       if (fmmstat & 0x0040) {
                LOG_WARNING("tms470 flash command: program still active after busy clear.");
                result = ERROR_FLASH_OPERATION_FAILED;
        }
 
-       if (fmmstat & 0x0020)
-       {
+       if (fmmstat & 0x0020) {
                LOG_WARNING("tms470 flash command: invalid data command.");
                result = ERROR_FLASH_OPERATION_FAILED;
        }
 
-       if (fmmstat & 0x0010)
-       {
+       if (fmmstat & 0x0010) {
                LOG_WARNING("tms470 flash command: program, erase or validate sector failed.");
                result = ERROR_FLASH_OPERATION_FAILED;
        }
 
-       if (fmmstat & 0x0008)
-       {
+       if (fmmstat & 0x0008) {
                LOG_WARNING("tms470 flash command: voltage instability detected.");
                result = ERROR_FLASH_OPERATION_FAILED;
        }
 
-       if (fmmstat & 0x0006)
-       {
+       if (fmmstat & 0x0006) {
                LOG_WARNING("tms470 flash command: command suspend detected.");
                result = ERROR_FLASH_OPERATION_FAILED;
        }
 
-       if (fmmstat & 0x0001)
-       {
+       if (fmmstat & 0x0001) {
                LOG_WARNING("tms470 flash command: sector was locked.");
                result = ERROR_FLASH_OPERATION_FAILED;
        }
@@ -765,14 +709,11 @@ static int tms470_erase_sector(struct flash_bank *bank, int sector)
         * Select one or more bits in FMBSEA or FMBSEB to disable Level 1
         * protection for the particular sector to be erased/written.
         */
-       if (sector < 16)
-       {
+       if (sector < 16) {
                target_read_u32(target, 0xFFE88008, &fmbsea);
                target_write_u32(target, 0xFFE88008, fmbsea | (1 << sector));
                LOG_DEBUG("set fmbsea = 0x%04" PRIx32 "", fmbsea | (1 << sector));
-       }
-       else
-       {
+       } else {
                target_read_u32(target, 0xFFE8800C, &fmbseb);
                target_write_u32(target, 0xFFE8800C, fmbseb | (1 << (sector - 16)));
                LOG_DEBUG("set fmbseb = 0x%04" PRIx32 "", fmbseb | (1 << (sector - 16)));
@@ -793,26 +734,19 @@ static int tms470_erase_sector(struct flash_bank *bank, int sector)
         * Monitor FMMSTAT, busy until clear, then check and other flags for
         * ultimate result of the operation.
         */
-       do
-       {
+       do {
                target_read_u32(target, 0xFFE8BC0C, &fmmstat);
                if (fmmstat & 0x0100)
-               {
                        alive_sleep(1);
-               }
-       }
-       while (fmmstat & 0x0100);
+       } while (fmmstat & 0x0100);
 
        result = tms470_flash_status(bank);
 
-       if (sector < 16)
-       {
+       if (sector < 16) {
                target_write_u32(target, 0xFFE88008, fmbsea);
                LOG_DEBUG("set fmbsea = 0x%04" PRIx32 "", fmbsea);
                bank->sectors[sector].is_protected = fmbsea & (1 << sector) ? 0 : 1;
-       }
-       else
-       {
+       } else {
                target_write_u32(target, 0xFFE8800C, fmbseb);
                LOG_DEBUG("set fmbseb = 0x%04" PRIx32 "", fmbseb);
                bank->sectors[sector].is_protected = fmbseb & (1 << (sector - 16)) ? 0 : 1;
@@ -823,16 +757,14 @@ static int tms470_erase_sector(struct flash_bank *bank, int sector)
        LOG_DEBUG("set glbctrl = 0x%08" PRIx32 "", glbctrl);
 
        if (result == ERROR_OK)
-       {
                bank->sectors[sector].is_erased = 1;
-       }
 
        return result;
 }
 
-/* ----------------------------------------------------------------------
-              Implementation of Flash Driver Interfaces
  ---------------------------------------------------------------------- */
+/*----------------------------------------------------------------------
             Implementation of Flash Driver Interfaces
*---------------------------------------------------------------------- */
 
 static const struct command_registration tms470_any_command_handlers[] = {
        {
@@ -876,41 +808,33 @@ static int tms470_erase(struct flash_bank *bank, int first, int last)
        struct tms470_flash_bank *tms470_info = bank->driver_priv;
        int sector, result = ERROR_OK;
 
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        tms470_read_part_info(bank);
 
-       if ((first < 0) || (first >= bank->num_sectors) || (last < 0) || (last >= bank->num_sectors) || (first > last))
-       {
+       if ((first < 0) || (first >= bank->num_sectors) || (last < 0) ||
+           (last >= bank->num_sectors) || (first > last)) {
                LOG_ERROR("Sector range %d to %d invalid.", first, last);
                return ERROR_FLASH_SECTOR_INVALID;
        }
 
        result = tms470_unlock_flash(bank);
        if (result != ERROR_OK)
-       {
                return result;
-       }
 
-       for (sector = first; sector <= last; sector++)
-       {
+       for (sector = first; sector <= last; sector++) {
                LOG_INFO("Erasing tms470 bank %d sector %d...", tms470_info->ordinal, sector);
 
                result = tms470_erase_sector(bank, sector);
 
-               if (result != ERROR_OK)
-               {
+               if (result != ERROR_OK) {
                        LOG_ERROR("tms470 could not erase flash sector.");
                        break;
-               }
-               else
-               {
+               } else
                        LOG_INFO("sector erased successfully.");
-               }
        }
 
        return result;
@@ -925,16 +849,15 @@ static int tms470_protect(struct flash_bank *bank, int set, int first, int last)
        uint32_t fmmac2, fmbsea, fmbseb;
        int sector;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        tms470_read_part_info(bank);
 
-       if ((first < 0) || (first >= bank->num_sectors) || (last < 0) || (last >= bank->num_sectors) || (first > last))
-       {
+       if ((first < 0) || (first >= bank->num_sectors) || (last < 0) ||
+           (last >= bank->num_sectors) || (first > last)) {
                LOG_ERROR("Sector range %d to %d invalid.", first, last);
                return ERROR_FLASH_SECTOR_INVALID;
        }
@@ -947,16 +870,13 @@ static int tms470_protect(struct flash_bank *bank, int set, int first, int last)
        target_read_u32(target, 0xFFE88008, &fmbsea);
        target_read_u32(target, 0xFFE8800C, &fmbseb);
 
-       for (sector = 0; sector < bank->num_sectors; sector++)
-       {
-               if (sector < 16)
-               {
+       for (sector = 0; sector < bank->num_sectors; sector++) {
+               if (sector < 16) {
                        fmbsea = set ? fmbsea & ~(1 << sector) : fmbsea | (1 << sector);
                        bank->sectors[sector].is_protected = set ? 1 : 0;
-               }
-               else
-               {
-                       fmbseb = set ? fmbseb & ~(1 << (sector - 16)) : fmbseb | (1 << (sector - 16));
+               } else {
+                       fmbseb = set ? fmbseb &
+                               ~(1 << (sector - 16)) : fmbseb | (1 << (sector - 16));
                        bank->sectors[sector].is_protected = set ? 1 : 0;
                }
        }
@@ -970,22 +890,22 @@ static int tms470_protect(struct flash_bank *bank, int set, int first, int last)
 
 /* ---------------------------------------------------------------------- */
 
-static int tms470_write(struct flash_bank *bank, uint8_t * buffer, uint32_t offset, uint32_t count)
+static int tms470_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
 {
        struct target *target = bank->target;
        uint32_t glbctrl, fmbac2, orig_fmregopt, fmbsea, fmbseb, fmmaxpp, fmmstat;
        int result = ERROR_OK;
        uint32_t i;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        tms470_read_part_info(bank);
 
-       LOG_INFO("Writing %" PRId32 " bytes starting at 0x%08" PRIx32 "", count, bank->base + offset);
+       LOG_INFO("Writing %" PRId32 " bytes starting at 0x%08" PRIx32 "", count, bank->base +
+               offset);
 
        /* set GLBCTRL.4  */
        target_read_u32(target, 0xFFFFFFDC, &glbctrl);
@@ -1012,13 +932,11 @@ static int tms470_write(struct flash_bank *bank, uint8_t * buffer, uint32_t offs
        /* read MAXPP */
        target_read_u32(target, 0xFFE8A07C, &fmmaxpp);
 
-       for (i = 0; i < count; i += 2)
-       {
+       for (i = 0; i < count; i += 2) {
                uint32_t addr = bank->base + offset + i;
                uint16_t word = (((uint16_t) buffer[i]) << 8) | (uint16_t) buffer[i + 1];
 
-               if (word != 0xffff)
-               {
+               if (word != 0xffff) {
                        LOG_INFO("writing 0x%04x at 0x%08" PRIx32 "", word, addr);
 
                        /* clear status register */
@@ -1032,28 +950,23 @@ static int tms470_write(struct flash_bank *bank, uint8_t * buffer, uint32_t offs
                         * Monitor FMMSTAT, busy until clear, then check and other flags
                         * for ultimate result of the operation.
                         */
-                       do
-                       {
+                       do {
                                target_read_u32(target, 0xFFE8BC0C, &fmmstat);
                                if (fmmstat & 0x0100)
-                               {
                                        alive_sleep(1);
-                               }
-                       }
-                       while (fmmstat & 0x0100);
+                       } while (fmmstat & 0x0100);
 
-                       if (fmmstat & 0x3ff)
-                       {
+                       if (fmmstat & 0x3ff) {
                                LOG_ERROR("fmstat = 0x%04" PRIx32 "", fmmstat);
-                               LOG_ERROR("Could not program word 0x%04x at address 0x%08" PRIx32 ".", word, addr);
+                               LOG_ERROR(
+                                       "Could not program word 0x%04x at address 0x%08" PRIx32 ".",
+                                       word,
+                                       addr);
                                result = ERROR_FLASH_OPERATION_FAILED;
                                break;
                        }
-               }
-               else
-               {
+               } else
                        LOG_INFO("skipping 0xffff at 0x%08" PRIx32 "", addr);
-               }
        }
 
        /* restore */
@@ -1070,8 +983,7 @@ static int tms470_write(struct flash_bank *bank, uint8_t * buffer, uint32_t offs
 
 static int tms470_probe(struct flash_bank *bank)
 {
-       if (bank->target->state != TARGET_HALTED)
-       {
+       if (bank->target->state != TARGET_HALTED) {
                LOG_WARNING("Cannot communicate... target not halted.");
                return ERROR_TARGET_NOT_HALTED;
        }
@@ -1098,16 +1010,13 @@ static int tms470_erase_check(struct flash_bank *bank)
        uint32_t fmmac2, fmbac2, glbctrl, orig_fmregopt;
        static uint8_t buffer[64 * 1024];
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if (!tms470_info->device_ident_reg)
-       {
                tms470_read_part_info(bank);
-       }
 
        /* set GLBCTRL.4  */
        target_read_u32(target, 0xFFFFFFDC, &glbctrl);
@@ -1136,10 +1045,8 @@ static int tms470_erase_check(struct flash_bank *bank)
         * word at a time.  Here we read an entire sector and inspect it in
         * an attempt to reduce the JTAG overhead.
         */
-       for (sector = 0; sector < bank->num_sectors; sector++)
-       {
-               if (bank->sectors[sector].is_erased != 1)
-               {
+       for (sector = 0; sector < bank->num_sectors; sector++) {
+               if (bank->sectors[sector].is_erased != 1) {
                        uint32_t i, addr = bank->base + bank->sectors[sector].offset;
 
                        LOG_INFO("checking flash bank %d sector %d", tms470_info->ordinal, sector);
@@ -1147,27 +1054,26 @@ static int tms470_erase_check(struct flash_bank *bank)
                        target_read_buffer(target, addr, bank->sectors[sector].size, buffer);
 
                        bank->sectors[sector].is_erased = 1;
-                       for (i = 0; i < bank->sectors[sector].size; i++)
-                       {
-                               if (buffer[i] != 0xff)
-                               {
-                                       LOG_WARNING("tms470 bank %d, sector %d, not erased.", tms470_info->ordinal, sector);
-                                       LOG_WARNING("at location 0x%08" PRIx32 ": flash data is 0x%02x.", addr + i, buffer[i]);
+                       for (i = 0; i < bank->sectors[sector].size; i++) {
+                               if (buffer[i] != 0xff) {
+                                       LOG_WARNING("tms470 bank %d, sector %d, not erased.",
+                                               tms470_info->ordinal,
+                                               sector);
+                                       LOG_WARNING(
+                                               "at location 0x%08" PRIx32 ": flash data is 0x%02x.",
+                                               addr + i,
+                                               buffer[i]);
 
                                        bank->sectors[sector].is_erased = 0;
                                        break;
                                }
                        }
                }
-               if (bank->sectors[sector].is_erased != 1)
-               {
+               if (bank->sectors[sector].is_erased != 1) {
                        result = ERROR_FLASH_SECTOR_NOT_ERASED;
                        break;
-               }
-               else
-               {
+               } else
                        LOG_INFO("sector erased");
-               }
        }
 
        /* reset TEZ, wait states, read mode, GLBCTRL.4 */
@@ -1188,16 +1094,13 @@ static int tms470_protect_check(struct flash_bank *bank)
        int sector, result = ERROR_OK;
        uint32_t fmmac2, fmbsea, fmbseb;
 
-       if (target->state != TARGET_HALTED)
-       {
+       if (target->state != TARGET_HALTED) {
                LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
        if (!tms470_info->device_ident_reg)
-       {
                tms470_read_part_info(bank);
-       }
 
        /* enable the appropriate bank */
        target_read_u32(target, 0xFFE8BC04, &fmmac2);
@@ -1206,22 +1109,21 @@ static int tms470_protect_check(struct flash_bank *bank)
        target_read_u32(target, 0xFFE88008, &fmbsea);
        target_read_u32(target, 0xFFE8800C, &fmbseb);
 
-       for (sector = 0; sector < bank->num_sectors; sector++)
-       {
+       for (sector = 0; sector < bank->num_sectors; sector++) {
                int protected;
 
-               if (sector < 16)
-               {
+               if (sector < 16) {
                        protected = fmbsea & (1 << sector) ? 0 : 1;
                        bank->sectors[sector].is_protected = protected;
-               }
-               else
-               {
+               } else {
                        protected = fmbseb & (1 << (sector - 16)) ? 0 : 1;
                        bank->sectors[sector].is_protected = protected;
                }
 
-               LOG_DEBUG("bank %d sector %d is %s", tms470_info->ordinal, sector, protected ? "protected" : "not protected");
+               LOG_DEBUG("bank %d sector %d is %s",
+                       tms470_info->ordinal,
+                       sector,
+                       protected ? "protected" : "not protected");
        }
 
        return result;
@@ -1235,21 +1137,21 @@ static int get_tms470_info(struct flash_bank *bank, char *buf, int buf_size)
        struct tms470_flash_bank *tms470_info = bank->driver_priv;
 
        if (!tms470_info->device_ident_reg)
-       {
                tms470_read_part_info(bank);
-       }
 
-       if (!tms470_info->device_ident_reg)
-       {
+       if (!tms470_info->device_ident_reg) {
                (void)snprintf(buf, buf_size, "Cannot identify target as a TMS470\n");
                return ERROR_FLASH_OPERATION_FAILED;
        }
 
-       used = snprintf(buf, buf_size, "\ntms470 information: Chip is %s\n", tms470_info->part_name);
+       used =
+               snprintf(buf, buf_size, "\ntms470 information: Chip is %s\n",
+                       tms470_info->part_name);
        buf += used;
        buf_size -= used;
 
-       snprintf(buf, buf_size, "Flash protection level 2 is %s\n", tms470_check_flash_unlocked(bank->target) == ERROR_OK ? "disabled" : "enabled");
+       snprintf(buf, buf_size, "Flash protection level 2 is %s\n",
+               tms470_check_flash_unlocked(bank->target) == ERROR_OK ? "disabled" : "enabled");
 
        return ERROR_OK;
 }
@@ -1266,9 +1168,7 @@ FLASH_BANK_COMMAND_HANDLER(tms470_flash_bank_command)
        bank->driver_priv = malloc(sizeof(struct tms470_flash_bank));
 
        if (!bank->driver_priv)
-       {
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        (void)memset(bank->driver_priv, 0, sizeof(struct tms470_flash_bank));
 
index f1e84c29e0204b03a349063f74ba58f763702eae..1280a791efa400e0ff30fe3b62737861d7a728dc 100644 (file)
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
 #include "imp.h"
 
-static struct flash_bankvirtual_get_master_bank(struct flash_bank *bank)
+static struct flash_bank *virtual_get_master_bank(struct flash_bank *bank)
 {
-       struct flash_bankmaster_bank;
+       struct flash_bank *master_bank;
 
        master_bank = get_flash_bank_by_name_noprobe(bank->driver_priv);
-       if (master_bank == NULL) {
-               LOG_ERROR("master flash bank '%s' does not exist", (char*)bank->driver_priv);
-       }
+       if (master_bank == NULL)
+               LOG_ERROR("master flash bank '%s' does not exist", (char *)bank->driver_priv);
 
        return master_bank;
 }
@@ -39,9 +39,8 @@ static void virtual_update_bank_info(struct flash_bank *bank)
 {
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return;
-       }
 
        /* update the info we do not have */
        bank->size = master_bank->size;
@@ -54,16 +53,13 @@ static void virtual_update_bank_info(struct flash_bank *bank)
 FLASH_BANK_COMMAND_HANDLER(virtual_flash_bank_command)
 {
        if (CMD_ARGC < 7)
-       {
                return ERROR_COMMAND_SYNTAX_ERROR;
-       }
 
        /* get the master flash bank */
        const char *bank_name = CMD_ARGV[6];
        struct flash_bank *master_bank = get_flash_bank_by_name_noprobe(bank_name);
 
-       if (master_bank == NULL)
-       {
+       if (master_bank == NULL) {
                LOG_ERROR("master flash bank '%s' does not exist", bank_name);
                return ERROR_FLASH_OPERATION_FAILED;
        }
@@ -79,13 +75,12 @@ static int virtual_protect(struct flash_bank *bank, int set, int first, int last
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
        int retval;
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* call master handler */
-       if ((retval = master_bank->driver->protect(master_bank, set,
-                       first, last)) != ERROR_OK)
+       retval = master_bank->driver->protect(master_bank, set, first, last);
+       if (retval != ERROR_OK)
                return retval;
 
        return ERROR_OK;
@@ -96,12 +91,12 @@ static int virtual_protect_check(struct flash_bank *bank)
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
        int retval;
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* call master handler */
-       if ((retval = master_bank->driver->protect_check(master_bank)) != ERROR_OK)
+       retval = master_bank->driver->protect_check(master_bank);
+       if (retval != ERROR_OK)
                return retval;
 
        return ERROR_OK;
@@ -112,13 +107,12 @@ static int virtual_erase(struct flash_bank *bank, int first, int last)
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
        int retval;
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* call master handler */
-       if ((retval = master_bank->driver->erase(master_bank,
-                       first, last)) != ERROR_OK)
+       retval = master_bank->driver->erase(master_bank, first, last);
+       if (retval != ERROR_OK)
                return retval;
 
        return ERROR_OK;
@@ -130,13 +124,12 @@ static int virtual_write(struct flash_bank *bank, uint8_t *buffer,
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
        int retval;
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* call master handler */
-       if ((retval = master_bank->driver->write(master_bank, buffer,
-                       offset, count)) != ERROR_OK)
+       retval = master_bank->driver->write(master_bank, buffer, offset, count);
+       if (retval != ERROR_OK)
                return retval;
 
        return ERROR_OK;
@@ -147,12 +140,12 @@ static int virtual_probe(struct flash_bank *bank)
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
        int retval;
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* call master handler */
-       if ((retval = master_bank->driver->probe(master_bank)) != ERROR_OK)
+       retval = master_bank->driver->probe(master_bank);
+       if (retval != ERROR_OK)
                return retval;
 
        /* update the info we do not have */
@@ -166,12 +159,12 @@ static int virtual_auto_probe(struct flash_bank *bank)
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
        int retval;
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* call master handler */
-       if ((retval = master_bank->driver->auto_probe(master_bank)) != ERROR_OK)
+       retval = master_bank->driver->auto_probe(master_bank);
+       if (retval != ERROR_OK)
                return retval;
 
        /* update the info we do not have */
@@ -184,9 +177,8 @@ static int virtual_info(struct flash_bank *bank, char *buf, int buf_size)
 {
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        snprintf(buf, buf_size, "%s driver for flash bank %s at 0x%8.8" PRIx32 "",
                        bank->driver->name, master_bank->name, master_bank->base);
@@ -199,12 +191,12 @@ static int virtual_blank_check(struct flash_bank *bank)
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
        int retval;
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* call master handler */
-       if ((retval = master_bank->driver->erase_check(master_bank)) != ERROR_OK)
+       retval = master_bank->driver->erase_check(master_bank);
+       if (retval != ERROR_OK)
                return retval;
 
        return ERROR_OK;
@@ -216,13 +208,12 @@ static int virtual_flash_read(struct flash_bank *bank,
        struct flash_bank *master_bank = virtual_get_master_bank(bank);
        int retval;
 
-       if (master_bank == NULL) {
+       if (master_bank == NULL)
                return ERROR_FLASH_OPERATION_FAILED;
-       }
 
        /* call master handler */
-       if ((retval = master_bank->driver->read(master_bank, buffer,
-                       offset, count)) != ERROR_OK)
+       retval = master_bank->driver->read(master_bank, buffer, offset, count);
+       if (retval != ERROR_OK)
                return retval;
 
        return ERROR_OK;