X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fstellaris.c;h=d06aa9a5801a3e9aa55a8eebef5a8650611265d6;hp=7a77bb55b6ceaa385eb11dca03726f80164a7647;hb=fb1a9b2cb2f844a17d26dfeb3d26849364d93e26;hpb=991a5311c6244daead3be48ef6810871707add06 diff --git a/src/flash/stellaris.c b/src/flash/stellaris.c index 7a77bb55b6..d06aa9a580 100644 --- a/src/flash/stellaris.c +++ b/src/flash/stellaris.c @@ -33,7 +33,7 @@ #include "binarybuffer.h" -#define DID0_VER(did0) ((did0>>28)&0x07) +#define DID0_VER(did0) ((did0 >> 28)&0x07) static int stellaris_register_commands(struct command_context_s *cmd_ctx); static int stellaris_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank); static int stellaris_erase(struct flash_bank_s *bank, int first, int last); @@ -286,7 +286,7 @@ static int stellaris_info(struct flash_bank_s *bank, char *buf, int buf_size) if (DID0_VER(stellaris_info->did0) > 0) { - device_class = (stellaris_info->did0>>16) & 0xFF; + device_class = (stellaris_info->did0 >> 16) & 0xFF; } else { @@ -298,7 +298,7 @@ static int stellaris_info(struct flash_bank_s *bank, char *buf, int buf_size) device_class, StellarisClassname[device_class], stellaris_info->target_name, - (int)('A' + ((stellaris_info->did0>>8) & 0xFF)), + (int)('A' + ((stellaris_info->did0 >> 8) & 0xFF)), (int)((stellaris_info->did0) & 0xFF)); buf += printed; buf_size -= printed; @@ -309,8 +309,8 @@ static int stellaris_info(struct flash_bank_s *bank, char *buf, int buf_size) stellaris_info->did1, stellaris_info->did1, "ARMV7M", - (int)((1+((stellaris_info->dc0>>16) & 0xFFFF))/4), - (int)((1+(stellaris_info->dc0 & 0xFFFF))*2)); + (int)((1 + ((stellaris_info->dc0 >> 16) & 0xFFFF))/4), + (int)((1 + (stellaris_info->dc0 & 0xFFFF))*2)); buf += printed; buf_size -= printed; @@ -346,7 +346,7 @@ static uint32_t stellaris_get_flash_status(flash_bank_t *bank) target_t *target = bank->target; uint32_t fmc; - target_read_u32(target, FLASH_CONTROL_BASE|FLASH_FMC, &fmc); + target_read_u32(target, FLASH_CONTROL_BASE | FLASH_FMC, &fmc); return fmc; } @@ -360,17 +360,17 @@ static void stellaris_read_clock_info(flash_bank_t *bank) uint32_t rcc, pllcfg, sysdiv, usesysdiv, bypass, oscsrc; unsigned long mainfreq; - target_read_u32(target, SCB_BASE|RCC, &rcc); + target_read_u32(target, SCB_BASE | RCC, &rcc); LOG_DEBUG("Stellaris RCC %" PRIx32 "", rcc); - target_read_u32(target, SCB_BASE|PLLCFG, &pllcfg); + target_read_u32(target, SCB_BASE | PLLCFG, &pllcfg); LOG_DEBUG("Stellaris PLLCFG %" PRIx32 "", pllcfg); stellaris_info->rcc = rcc; - sysdiv = (rcc>>23) & 0xF; - usesysdiv = (rcc>>22) & 0x1; - bypass = (rcc>>11) & 0x1; - oscsrc = (rcc>>4) & 0x3; - /* xtal = (rcc>>6)&0xF; */ + sysdiv = (rcc >> 23) & 0xF; + usesysdiv = (rcc >> 22) & 0x1; + bypass = (rcc >> 11) & 0x1; + oscsrc = (rcc >> 4) & 0x3; + /* xtal = (rcc >> 6)&0xF; */ switch (oscsrc) { case 0: @@ -396,7 +396,7 @@ static void stellaris_read_clock_info(flash_bank_t *bank) mainfreq = 200000000; /* PLL out frec */ if (usesysdiv) - stellaris_info->mck_freq = mainfreq/(1+sysdiv); + stellaris_info->mck_freq = mainfreq/(1 + sysdiv); else stellaris_info->mck_freq = mainfreq; @@ -412,7 +412,7 @@ static void stellaris_set_flash_mode(flash_bank_t *bank,int mode) uint32_t usecrl = (stellaris_info->mck_freq/1000000ul-1); LOG_DEBUG("usecrl = %i",(int)(usecrl)); - target_write_u32(target, SCB_BASE|USECRL, usecrl); + target_write_u32(target, SCB_BASE | USECRL, usecrl); } #if 0 @@ -439,7 +439,7 @@ static int stellaris_flash_command(struct flash_bank_s *bank,uint8_t cmd,uint16_ target_t *target = bank->target; fmc = FMC_WRKEY | cmd; - target_write_u32(target, FLASH_CONTROL_BASE|FLASH_FMC, fmc); + target_write_u32(target, FLASH_CONTROL_BASE | FLASH_FMC, fmc); LOG_DEBUG("Flash command: 0x%x", fmc); if (stellaris_wait_status_busy(bank, cmd, 100)) @@ -460,15 +460,15 @@ static int stellaris_read_part_info(struct flash_bank_s *bank) int i; /* Read and parse chip identification register */ - target_read_u32(target, SCB_BASE|DID0, &did0); - target_read_u32(target, SCB_BASE|DID1, &did1); - target_read_u32(target, SCB_BASE|DC0, &stellaris_info->dc0); - target_read_u32(target, SCB_BASE|DC1, &stellaris_info->dc1); + target_read_u32(target, SCB_BASE | DID0, &did0); + target_read_u32(target, SCB_BASE | DID1, &did1); + target_read_u32(target, SCB_BASE | DC0, &stellaris_info->dc0); + target_read_u32(target, SCB_BASE | DC1, &stellaris_info->dc1); LOG_DEBUG("did0 0x%" PRIx32 ", did1 0x%" PRIx32 ", dc0 0x%" PRIx32 ", dc1 0x%" PRIx32 "", 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; @@ -482,7 +482,7 @@ static int stellaris_read_part_info(struct flash_bank_s *bank) 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, cannot positively identify target as a Stellaris"); } @@ -499,11 +499,11 @@ static int stellaris_read_part_info(struct flash_bank_s *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; bank->size = 1024 * stellaris_info->num_pages; stellaris_info->pages_in_lockregion = 2; - target_read_u32(target, SCB_BASE|FMPPE, &stellaris_info->lockbits); + target_read_u32(target, SCB_BASE | FMPPE, &stellaris_info->lockbits); /* provide this for the benefit of the higher flash driver layers */ bank->num_sectors = stellaris_info->num_pages; @@ -597,7 +597,7 @@ static int stellaris_erase(struct flash_bank_s *bank, int first, int last) /* Clear and disable flash programming interrupts */ target_write_u32(target, FLASH_CIM, 0); - target_write_u32(target, FLASH_MISC, PMISC|AMISC); + target_write_u32(target, FLASH_MISC, PMISC | AMISC); for (banknr = first; banknr <= last; banknr++) { @@ -610,11 +610,11 @@ static int stellaris_erase(struct flash_bank_s *bank, int first, int last) { 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)) + 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); @@ -665,17 +665,17 @@ static int stellaris_protect(struct flash_bank_s *bank, int set, int first, int for (lockregion = first; lockregion <= last; lockregion++) { if (set) - fmppe &= ~(1<lockbits); + target_read_u32(target, SCB_BASE | FMPPE, &stellaris_info->lockbits); return ERROR_OK; } @@ -869,7 +869,7 @@ static int stellaris_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t /* Clear and disable flash programming interrupts */ target_write_u32(target, FLASH_CIM, 0); - target_write_u32(target, FLASH_MISC, PMISC|AMISC); + target_write_u32(target, FLASH_MISC, PMISC | AMISC); /* multiple words to be programmed? */ if (words_remaining > 0) @@ -926,7 +926,7 @@ static int stellaris_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t uint8_t last_word[4] = {0xff, 0xff, 0xff, 0xff}; int i = 0; - while(bytes_remaining > 0) + while (bytes_remaining > 0) { last_word[i++] = *(buffer + bytes_written); bytes_remaining--; @@ -1014,7 +1014,7 @@ static int stellaris_mass_erase(struct flash_bank_s *bank) /* Clear and disable flash programming interrupts */ target_write_u32(target, FLASH_CIM, 0); - target_write_u32(target, FLASH_MISC, PMISC|AMISC); + target_write_u32(target, FLASH_MISC, PMISC | AMISC); target_write_u32(target, FLASH_FMA, 0); target_write_u32(target, FLASH_FMC, FMC_WRKEY | FMC_MERASE);