X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fcfi.h;h=ed858a9de5772eb2bddbca74a37d6e192dc64976;hp=e2ff808b49f4732c42ed396a133ec86431c45980;hb=d78cf6f3126b0c28321d36614e184912dfc0c609;hpb=ecc8041c0f4c30a7310c0f8414a5261ee7a090ca diff --git a/src/flash/nor/cfi.h b/src/flash/nor/cfi.h index e2ff808b49..ed858a9de5 100644 --- a/src/flash/nor/cfi.h +++ b/src/flash/nor/cfi.h @@ -13,25 +13,24 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * along with this program. If not, see . * ***************************************************************************/ -#ifndef CFI_H -#define CFI_H + +#ifndef OPENOCD_FLASH_NOR_CFI_H +#define OPENOCD_FLASH_NOR_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 working_area *write_algorithm; - +struct cfi_flash_bank { int x16_as_x8; int jedec_probe; int not_cfi; int probed; + enum target_endianness endianness; + int data_swap; + uint16_t manufacturer; uint16_t device_id; @@ -68,14 +67,19 @@ struct cfi_flash_bank void *pri_ext; void *alt_ext; + + /* calculated timeouts */ + unsigned word_write_timeout; + unsigned buf_write_timeout; + unsigned block_erase_timeout; + unsigned chip_erase_timeout; }; /* Intel primary extended query table * 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; @@ -94,8 +98,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; @@ -118,8 +121,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; @@ -134,18 +136,16 @@ 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 *flash, void *param); - void *param; + void (*fixup)(struct flash_bank *bank, const void *param); + const void *param; }; #define CFI_MFR_AMD 0x0001 @@ -155,8 +155,9 @@ struct cfi_fixup #define CFI_MFR_AMIC 0x0037 #define CFI_MFR_SST 0x00BF #define CFI_MFR_MX 0x00C2 +#define CFI_MFR_EON 0x007F #define CFI_MFR_ANY 0xffff #define CFI_ID_ANY 0xffff -#endif /* CFI_H */ +#endif /* OPENOCD_FLASH_NOR_CFI_H */