X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Fstr7x.h;h=81af0f1e7b0aadfb6f7ae9183553ef3a243fc30b;hb=2f6e56e38320350bb300b363d0b3737fa8d1f3ea;hp=fe63b5e5e624baa9ce02b2f5cffd0dd5705befa4;hpb=8b4e882a1630d63bbc9840fa3f968e36b6ac3702;p=openocd.git diff --git a/src/flash/str7x.h b/src/flash/str7x.h index fe63b5e5e6..81af0f1e7b 100644 --- a/src/flash/str7x.h +++ b/src/flash/str7x.h @@ -2,6 +2,9 @@ * Copyright (C) 2005 by Dominic Rath * * Dominic.Rath@gmx.de * * * + * Copyright (C) 2008 by Spencer Oliver * + * spen@spen-soft.co.uk * + * * * 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 * @@ -21,14 +24,15 @@ #define STR7X_H #include "flash.h" -#include "target.h" -typedef struct str7x_flash_bank_s +struct str7x_flash_bank { - int bank1; - struct target_s *target; - u32 flash_base; -} str7x_flash_bank_t; + uint32_t *sector_bits; + uint32_t disable_bit; + uint32_t busy_bits; + uint32_t register_base; + struct working_area *write_algorithm; +}; enum str7x_status_codes { @@ -48,30 +52,31 @@ enum str7x_status_codes /* Flash registers */ -#define FLASH_CR0 0x00100000 -#define FLASH_CR1 0x00100004 -#define FLASH_DR0 0x00100008 -#define FLASH_DR1 0x0010000C -#define FLASH_AR 0x00100010 -#define FLASH_ER 0x00100014 -#define FLASH_NVWPAR 0x0010DFB0 -#define FLASH_NVAPR0 0x0010DFB8 -#define FLASH_NVAPR1 0x0010DFBC +#define FLASH_CR0 0x00000000 +#define FLASH_CR1 0x00000004 +#define FLASH_DR0 0x00000008 +#define FLASH_DR1 0x0000000C +#define FLASH_AR 0x00000010 +#define FLASH_ER 0x00000014 +#define FLASH_NVWPAR 0x0000DFB0 +#define FLASH_NVAPR0 0x0000DFB8 +#define FLASH_NVAPR1 0x0000DFBC /* FLASH_CR0 register bits */ #define FLASH_WMS 0x80000000 #define FLASH_SUSP 0x40000000 -#define FLASH_WPG 0x20000000 +#define FLASH_WPG 0x20000000 #define FLASH_DWPG 0x10000000 #define FLASH_SER 0x08000000 #define FLASH_SPR 0x01000000 #define FLASH_BER 0x04000000 #define FLASH_MER 0x02000000 -#define FLASH_BSYA1 0x00000002 -#define FLASH_BSYA2 0x00000004 +#define FLASH_LOCK 0x00000010 +#define FLASH_BSYA1 0x00000004 +#define FLASH_BSYA0 0x00000002 -/* FLASH_CR1 regsiter bits */ +/* FLASH_CR1 register bits */ #define FLASH_B1S 0x02000000 #define FLASH_B0S 0x01000000 @@ -96,11 +101,10 @@ enum str7x_status_codes #define FLASH_ERER 0x00000002 #define FLASH_ERR 0x00000001 -typedef struct str7x_mem_layout_s { - u32 sector_start; - u32 sector_size; - u32 reg_offset; -} str7x_mem_layout_t; +struct str7x_mem_layout { + uint32_t sector_start; + uint32_t sector_size; + uint32_t sector_bit; +}; #endif /* STR7X_H */ -