1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 /***************************************************************************
4 * Copyright (C) 2009 Zachary T Welch <zw@superlucidity.net> *
5 ***************************************************************************/
7 #ifndef OPENOCD_FLASH_NOR_IMP_H
8 #define OPENOCD_FLASH_NOR_IMP_H
12 /* this is an internal header */
15 /* almost all drivers will need this file */
16 #include <target/target.h>
19 * Adds a new NOR bank to the global list of banks.
20 * @param bank The bank that should be added.
22 void flash_bank_add(struct flash_bank
*bank
);
25 * @return The first bank in the global list.
27 struct flash_bank
*flash_bank_list(void);
29 int flash_driver_erase(struct flash_bank
*bank
, unsigned int first
,
31 int flash_driver_protect(struct flash_bank
*bank
, int set
, unsigned int first
,
33 int flash_driver_write(struct flash_bank
*bank
,
34 const uint8_t *buffer
, uint32_t offset
, uint32_t count
);
35 int flash_driver_read(struct flash_bank
*bank
,
36 uint8_t *buffer
, uint32_t offset
, uint32_t count
);
37 int flash_driver_verify(struct flash_bank
*bank
,
38 const uint8_t *buffer
, uint32_t offset
, uint32_t count
);
40 /* write (optional verify) an image to flash memory of the given target */
41 int flash_write_unlock_verify(struct target
*target
, struct image
*image
,
42 uint32_t *written
, bool erase
, bool unlock
, bool write
, bool verify
);
44 #endif /* OPENOCD_FLASH_NOR_IMP_H */