flash/nor/efr32: fixed lockbits and user data
[fw/openocd] / src / flash / nor / imp.h
index 4c849fef23f0a5bd06e6f57f8dc8f5fecf6b7b93..f66cf032938d583b42251a39cd6a2cb1acbf7485 100644 (file)
  *   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 <http://www.gnu.org/licenses/>. *
  ***************************************************************************/
-#ifndef FLASH_NOR_IMP_H
-#define FLASH_NOR_IMP_H
 
-// this is an internal header
+#ifndef OPENOCD_FLASH_NOR_IMP_H
+#define OPENOCD_FLASH_NOR_IMP_H
+
+#include <stdbool.h>
+
+/* this is an internal header */
 #include "core.h"
 #include "driver.h"
-// common flash internals
-#include <flash/common.h>
-// almost all drivers will need this file
+/* almost all drivers will need this file */
 #include <target/target.h>
 
 /**
  * Adds a new NOR bank to the global list of banks.
- * @params bank The bank that should be added.
+ * @param bank The bank that should be added.
  */
 void flash_bank_add(struct flash_bank *bank);
 
@@ -38,13 +37,19 @@ void flash_bank_add(struct flash_bank *bank);
  */
 struct flash_bank *flash_bank_list(void);
 
-int flash_driver_erase(struct flash_bank *bank, int first, int last);
-int flash_driver_protect(struct flash_bank *bank, int set, int first, int last);
+int flash_driver_erase(struct flash_bank *bank, unsigned int first,
+               unsigned int last);
+int flash_driver_protect(struct flash_bank *bank, int set, unsigned int first,
+               unsigned int last);
 int flash_driver_write(struct flash_bank *bank,
+               const uint8_t *buffer, uint32_t offset, uint32_t count);
+int flash_driver_read(struct flash_bank *bank,
                uint8_t *buffer, uint32_t offset, uint32_t count);
+int flash_driver_verify(struct flash_bank *bank,
+               const uint8_t *buffer, uint32_t offset, uint32_t count);
 
 /* write (optional verify) an image to flash memory of the given target */
-int flash_write_unlock(struct target *target, struct image *image,
-               uint32_t *written, int erase, bool unlock);
+int flash_write_unlock_verify(struct target *target, struct image *image,
+               uint32_t *written, bool erase, bool unlock, bool write, bool verify);
 
-#endif // FLASH_NOR_IMP_H
+#endif /* OPENOCD_FLASH_NOR_IMP_H */