- added autoprobe functionality
[fw/openocd] / src / flash / flash.h
index b90b64ebe2654d5904171e2a8858d768ba3a797c..1ef74c8909f79282fa6a05fbda3216e1a982aa0a 100644 (file)
@@ -47,6 +47,7 @@ typedef struct flash_driver_s
        int (*erase_check)(struct flash_bank_s *bank);
        int (*protect_check)(struct flash_bank_s *bank);
        int (*info)(struct flash_bank_s *bank, char *buf, int buf_size);
+       int (*auto_probe)(struct flash_bank_s *bank);
 } flash_driver_t;
 
 typedef struct flash_bank_s
@@ -63,18 +64,12 @@ typedef struct flash_bank_s
        struct flash_bank_s *next;
 } flash_bank_t;
 
-enum flash_image_op
-{
-       flash_image_op_write = 0,
-  flash_image_op_verify,
-  flash_image_op_erase
-};
-
 extern int flash_register_commands(struct command_context_s *cmd_ctx);
-extern int flash_init(struct command_context_s *cmd_ctx);
+extern int flash_init_drivers(struct command_context_s *cmd_ctx);
 
-extern int flash_erase(target_t *target, u32 addr, u32 length);
-extern int flash_image_operation(target_t *target, image_t *image, u32 *written, char **error_str, int *failed, enum flash_image_op op);
+extern int flash_erase_address_range(target_t *target, u32 addr, u32 length);
+extern int flash_write(target_t *target, image_t *image, u32 *written, char **error, int *failed, int erase);
+extern void flash_set_dirty(void);
 
 extern flash_bank_t *get_flash_bank_by_num(int num);
 extern flash_bank_t *get_flash_bank_by_addr(target_t *target, u32 addr);