X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fmini51.c;h=61aee5d703191109c4f49c958f816396a9b335b4;hp=eb74a314ae2fd92e3bb54ffd7cb00a87bac5119d;hb=565f8481c7b71614a05d79ab79af8610d2535a81;hpb=e475896eb18185ac6089cfeec45c8bd4dcb73330 diff --git a/src/flash/nor/mini51.c b/src/flash/nor/mini51.c index eb74a314ae..61aee5d703 100644 --- a/src/flash/nor/mini51.c +++ b/src/flash/nor/mini51.c @@ -98,10 +98,9 @@ #define MINI54 0x00205400 #define MINI51_APROM_BASE 0x00000000 -#define KB 1024 -#define PAGE_SIZE 512 -#define TIMEOUT 1000 - +#define MINI51_KB 1024 +#define MINI51_PAGE_SIZE 512 +#define MINI51_TIMEOUT 1000 struct mini51_flash_bank { bool probed; @@ -112,7 +111,6 @@ enum mini51_boot_source { LDROM = 1 }; - /* Private methods */ static int mini51_unlock_reg(struct flash_bank *bank) @@ -139,9 +137,9 @@ static int mini51_reboot_with_source(struct flash_bank *bank, { uint32_t ispcon; uint32_t isprtc1; - bool reboot = false; + bool mini51_reboot = false; int status; - int timeout = TIMEOUT; + int timeout = MINI51_TIMEOUT; /* Read current boot source */ struct target *target = bank->target; @@ -153,13 +151,13 @@ static int mini51_reboot_with_source(struct flash_bank *bank, if ((new_source == APROM) && (*prev_source != APROM)) { ispcon &= ~ISPCON_BS_LDROM; - reboot = true; + mini51_reboot = true; } else if ((new_source == LDROM) && (*prev_source != LDROM)) { ispcon |= ISPCON_BS_LDROM; - reboot = true; + mini51_reboot = true; } - if (reboot) { + if (mini51_reboot) { mini51_unlock_reg(bank); status = target_write_u32(target, ISPCON, ispcon); if (status != ERROR_OK) @@ -199,13 +197,13 @@ static int mini51_get_flash_size(struct flash_bank *bank, uint32_t *flash_size) switch (part_id & PART_ID_MAIN_MASK) { case MINI51: - *flash_size = 4 * KB; + *flash_size = 4 * MINI51_KB; break; case MINI52: - *flash_size = 8 * KB; + *flash_size = 8 * MINI51_KB; break; case MINI54: - *flash_size = 16 * KB; + *flash_size = 16 * MINI51_KB; break; default: *flash_size = 0; @@ -215,7 +213,6 @@ static int mini51_get_flash_size(struct flash_bank *bank, uint32_t *flash_size) return ERROR_OK; } - /* Public (API) methods */ FLASH_BANK_COMMAND_HANDLER(mini51_flash_bank_command) @@ -265,7 +262,7 @@ static int mini51_erase(struct flash_bank *bank, int first, int last) for (int page_start = first; page_start <= last; page_start++) { /* Set up erase command */ - status = target_write_u32(target, ISPADR, page_start*PAGE_SIZE); + status = target_write_u32(target, ISPADR, page_start*MINI51_PAGE_SIZE); if (status != ERROR_OK) return status; status = target_write_u32(target, ISPCMD, ISPCMD_ERASE); @@ -278,7 +275,7 @@ static int mini51_erase(struct flash_bank *bank, int first, int last) return status; /* Wait for for command to finish executing */ - timeout = TIMEOUT; + timeout = MINI51_TIMEOUT; do { target_read_u32(target, ISPTRG, &isptrg); timeout--; @@ -315,7 +312,7 @@ static int mini51_protect(struct flash_bank *bank, int set, int first, int last) return ERROR_FLASH_OPERATION_FAILED; } -static int mini51_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count) +static int mini51_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count) { int status; int timeout; @@ -369,7 +366,7 @@ static int mini51_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offse return status; /* Wait for for command to finish executing */ - timeout = TIMEOUT; + timeout = MINI51_TIMEOUT; do { target_read_u32(target, ISPTRG, &isptrg); timeout--; @@ -398,13 +395,6 @@ static int mini51_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offse return ERROR_OK; } - -static int get_mini51_info(struct flash_bank *bank, char *buf, int buf_size) -{ - snprintf(buf, buf_size, "Mini51 flash driver"); - return ERROR_OK; -} - static int mini51_probe(struct flash_bank *bank) { uint32_t flash_size; @@ -418,7 +408,7 @@ static int mini51_probe(struct flash_bank *bank) return ERROR_FLASH_OPERATION_FAILED; } - num_pages = flash_size / PAGE_SIZE; + num_pages = flash_size / MINI51_PAGE_SIZE; bank->base = MINI51_APROM_BASE; bank->num_sectors = num_pages; @@ -427,10 +417,10 @@ static int mini51_probe(struct flash_bank *bank) for (int i = 0; i < num_pages; i++) { bank->sectors[i].offset = offset; - bank->sectors[i].size = PAGE_SIZE; + bank->sectors[i].size = MINI51_PAGE_SIZE; bank->sectors[i].is_erased = -1; bank->sectors[i].is_protected = 0; - offset += PAGE_SIZE; + offset += MINI51_PAGE_SIZE; } struct mini51_flash_bank *mini51_info = bank->driver_priv; @@ -458,6 +448,4 @@ struct flash_driver mini51_flash = { .auto_probe = mini51_auto_probe, .erase_check = default_flash_blank_check, .protect_check = mini51_protect_check, - .info = get_mini51_info, }; -