diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/flash/lpc2000.c | 65 | ||||
-rw-r--r-- | src/flash/lpc288x.c | 35 | ||||
-rw-r--r-- | src/flash/lpc2900.c | 15 |
3 files changed, 43 insertions, 72 deletions
diff --git a/src/flash/lpc2000.c b/src/flash/lpc2000.c index ed9c7c34..e71629e5 100644 --- a/src/flash/lpc2000.c +++ b/src/flash/lpc2000.c @@ -53,43 +53,6 @@ * - 176x (tested with LPC1768) */ -static int lpc2000_register_commands(struct command_context_s *cmd_ctx); -static int lpc2000_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank); -static int lpc2000_erase(struct flash_bank_s *bank, int first, int last); -static int lpc2000_protect(struct flash_bank_s *bank, int set, int first, int last); -static int lpc2000_write(struct flash_bank_s *bank, uint8_t *buffer, uint32_t offset, uint32_t count); -static int lpc2000_probe(struct flash_bank_s *bank); -static int lpc2000_erase_check(struct flash_bank_s *bank); -static int lpc2000_protect_check(struct flash_bank_s *bank); -static int lpc2000_info(struct flash_bank_s *bank, char *buf, int buf_size); - -static int lpc2000_handle_part_id_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); - -flash_driver_t lpc2000_flash = -{ - .name = "lpc2000", - .register_commands = lpc2000_register_commands, - .flash_bank_command = lpc2000_flash_bank_command, - .erase = lpc2000_erase, - .protect = lpc2000_protect, - .write = lpc2000_write, - .probe = lpc2000_probe, - .auto_probe = lpc2000_probe, - .erase_check = lpc2000_erase_check, - .protect_check = lpc2000_protect_check, - .info = lpc2000_info -}; - -static int lpc2000_register_commands(struct command_context_s *cmd_ctx) -{ - command_t *lpc2000_cmd = register_command(cmd_ctx, NULL, "lpc2000", NULL, COMMAND_ANY, NULL); - - register_command(cmd_ctx, lpc2000_cmd, "part_id", lpc2000_handle_part_id_command, COMMAND_EXEC, - "print part id of lpc2000 flash bank <num>"); - - return ERROR_OK; -} - static int lpc2000_build_sector_list(struct flash_bank_s *bank) { lpc2000_flash_bank_t *lpc2000_info = bank->driver_priv; @@ -812,3 +775,31 @@ static int lpc2000_handle_part_id_command(struct command_context_s *cmd_ctx, cha return ERROR_OK; } + +static int lpc2000_register_commands(struct command_context_s *cmd_ctx) +{ + command_t *lpc2000_cmd = register_command(cmd_ctx, NULL, "lpc2000", + NULL, COMMAND_ANY, NULL); + + register_command(cmd_ctx, lpc2000_cmd, "part_id", + lpc2000_handle_part_id_command, COMMAND_EXEC, + "print part id of lpc2000 flash bank <num>"); + + return ERROR_OK; +} + +flash_driver_t lpc2000_flash = { + .name = "lpc2000", + .register_commands = &lpc2000_register_commands, + .flash_bank_command = &lpc2000_flash_bank_command, + .erase = &lpc2000_erase, + .protect = &lpc2000_protect, + .write = &lpc2000_write, + .probe = &lpc2000_probe, + .auto_probe = &lpc2000_probe, + .erase_check = &lpc2000_erase_check, + .protect_check = &lpc2000_protect_check, + .info = &lpc2000_info, + }; + + diff --git a/src/flash/lpc288x.c b/src/flash/lpc288x.c index 61aa3a00..4827c219 100644 --- a/src/flash/lpc288x.c +++ b/src/flash/lpc288x.c @@ -84,6 +84,7 @@ /* F_CLK_TIME */ #define FCT_CLK_DIV_MASK 0x0FFF +#if 0 static int lpc288x_register_commands(struct command_context_s *cmd_ctx); static int lpc288x_flash_bank_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct flash_bank_s *bank); static int lpc288x_erase(struct flash_bank_s *bank, int first, int last); @@ -93,31 +94,12 @@ static int lpc288x_probe(struct flash_bank_s *bank); static int lpc288x_erase_check(struct flash_bank_s *bank); static int lpc288x_protect_check(struct flash_bank_s *bank); static int lpc288x_info(struct flash_bank_s *bank, char *buf, int buf_size); +#endif static uint32_t lpc288x_wait_status_busy(flash_bank_t *bank, int timeout); static void lpc288x_load_timer(int erase, struct target_s *target); static void lpc288x_set_flash_clk(struct flash_bank_s *bank); static uint32_t lpc288x_system_ready(struct flash_bank_s *bank); -flash_driver_t lpc288x_flash = -{ - .name = "lpc288x", - .register_commands = lpc288x_register_commands, - .flash_bank_command = lpc288x_flash_bank_command, - .erase = lpc288x_erase, - .protect = lpc288x_protect, - .write = lpc288x_write, - .probe = lpc288x_probe, - .auto_probe = lpc288x_probe, - .erase_check = lpc288x_erase_check, - .protect_check = lpc288x_protect_check, - .info = lpc288x_info -}; - -static int lpc288x_register_commands(struct command_context_s *cmd_ctx) -{ - return ERROR_OK; -} - static uint32_t lpc288x_wait_status_busy(flash_bank_t *bank, int timeout) { uint32_t status; @@ -499,3 +481,16 @@ static int lpc288x_protect(struct flash_bank_s *bank, int set, int first, int la return ERROR_OK; } + +flash_driver_t lpc288x_flash = { + .name = "lpc288x", + .flash_bank_command = &lpc288x_flash_bank_command, + .erase = &lpc288x_erase, + .protect = &lpc288x_protect, + .write = &lpc288x_write, + .probe = &lpc288x_probe, + .auto_probe = &lpc288x_probe, + .erase_check = &lpc288x_erase_check, + .protect_check = &lpc288x_protect_check, + .info = &lpc288x_info, + }; diff --git a/src/flash/lpc2900.c b/src/flash/lpc2900.c index e15d93b2..f2daab4c 100644 --- a/src/flash/lpc2900.c +++ b/src/flash/lpc2900.c @@ -171,21 +171,6 @@ typedef struct lpc2900_flash_bank_s } lpc2900_flash_bank_t; - - -static int lpc2900_register_commands(struct command_context_s *cmd_ctx); -static int lpc2900_flash_bank_command(struct command_context_s *cmd_ctx, - char *cmd, char **args, int argc, - struct flash_bank_s *bank); -static int lpc2900_erase(struct flash_bank_s *bank, int first, int last); -static int lpc2900_protect(struct flash_bank_s *bank, int set, int first, int last); -static int lpc2900_write(struct flash_bank_s *bank, - uint8_t *buffer, uint32_t offset, uint32_t count); -static int lpc2900_probe(struct flash_bank_s *bank); -static int lpc2900_erase_check(struct flash_bank_s *bank); -static int lpc2900_protect_check(struct flash_bank_s *bank); -static int lpc2900_info(struct flash_bank_s *bank, char *buf, int buf_size); - static uint32_t lpc2900_wait_status(flash_bank_t *bank, uint32_t mask, int timeout); static void lpc2900_setup(struct flash_bank_s *bank); static uint32_t lpc2900_is_ready(struct flash_bank_s *bank); |