X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fflash%2Flpc3180_nand_controller.c;h=61bef90c862a31d21589b1ae9d1f3d732d581d6f;hb=73c6e3bb18326050acc8908b561443a7b37549bb;hp=4b120779e9f447b518b0692253a77e9e715cade2;hpb=cfc4d5c6b7b6f8f82dc5bbf3ee661c179814666e;p=openocd.git diff --git a/src/flash/lpc3180_nand_controller.c b/src/flash/lpc3180_nand_controller.c index 4b120779e9..61bef90c86 100644 --- a/src/flash/lpc3180_nand_controller.c +++ b/src/flash/lpc3180_nand_controller.c @@ -24,31 +24,31 @@ #include "lpc3180_nand_controller.h" #include "nand.h" -static int lpc3180_reset(struct nand_device_s *nand); -static int lpc3180_controller_ready(struct nand_device_s *nand, int timeout); +static int lpc3180_reset(struct nand_device *nand); +static int lpc3180_controller_ready(struct nand_device *nand, int timeout); /* nand device lpc3180 */ -static int lpc3180_nand_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct nand_device_s *nand) +NAND_DEVICE_COMMAND_HANDLER(lpc3180_nand_device_command) { - if (argc < 3) + if (CMD_ARGC < 3) { LOG_WARNING("incomplete 'lpc3180' nand flash configuration"); return ERROR_FLASH_BANK_INVALID; } - target_t *target = get_target(args[1]); + struct target *target = get_target(CMD_ARGV[1]); if (NULL == target) { - LOG_ERROR("target '%s' not defined", args[1]); + LOG_ERROR("target '%s' not defined", CMD_ARGV[1]); return ERROR_NAND_DEVICE_INVALID; } uint32_t osc_freq; - COMMAND_PARSE_NUMBER(u32, args[2], osc_freq); + COMMAND_PARSE_NUMBER(u32, CMD_ARGV[2], osc_freq); - lpc3180_nand_controller_t *lpc3180_info; - lpc3180_info = malloc(sizeof(lpc3180_nand_controller_t)); + struct lpc3180_nand_controller *lpc3180_info; + lpc3180_info = malloc(sizeof(struct lpc3180_nand_controller)); nand->controller_priv = lpc3180_info; lpc3180_info->target = target; @@ -94,9 +94,9 @@ static int lpc3180_pll(int fclkin, uint32_t pll_ctrl) return (m / (2 * p)) * (fclkin / n); } -static float lpc3180_cycle_time(lpc3180_nand_controller_t *lpc3180_info) +static float lpc3180_cycle_time(struct lpc3180_nand_controller *lpc3180_info) { - target_t *target = lpc3180_info->target; + struct target *target = lpc3180_info->target; uint32_t sysclk_ctrl, pwr_ctrl, hclkdiv_ctrl, hclkpll_ctrl; int sysclk; int hclk; @@ -144,10 +144,10 @@ static float lpc3180_cycle_time(lpc3180_nand_controller_t *lpc3180_info) return cycle; } -static int lpc3180_init(struct nand_device_s *nand) +static int lpc3180_init(struct nand_device *nand) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; int bus_width = nand->bus_width ? : 8; int address_cycles = nand->address_cycles ? : 3; int page_size = nand->page_size ? : 512; @@ -274,10 +274,10 @@ static int lpc3180_init(struct nand_device_s *nand) return ERROR_OK; } -static int lpc3180_reset(struct nand_device_s *nand) +static int lpc3180_reset(struct nand_device *nand) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; if (target->state != TARGET_HALTED) { @@ -316,10 +316,10 @@ static int lpc3180_reset(struct nand_device_s *nand) return ERROR_OK; } -static int lpc3180_command(struct nand_device_s *nand, uint8_t command) +static int lpc3180_command(struct nand_device *nand, uint8_t command) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; if (target->state != TARGET_HALTED) { @@ -346,10 +346,10 @@ static int lpc3180_command(struct nand_device_s *nand, uint8_t command) return ERROR_OK; } -static int lpc3180_address(struct nand_device_s *nand, uint8_t address) +static int lpc3180_address(struct nand_device *nand, uint8_t address) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; if (target->state != TARGET_HALTED) { @@ -376,10 +376,10 @@ static int lpc3180_address(struct nand_device_s *nand, uint8_t address) return ERROR_OK; } -static int lpc3180_write_data(struct nand_device_s *nand, uint16_t data) +static int lpc3180_write_data(struct nand_device *nand, uint16_t data) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; if (target->state != TARGET_HALTED) { @@ -406,10 +406,10 @@ static int lpc3180_write_data(struct nand_device_s *nand, uint16_t data) return ERROR_OK; } -static int lpc3180_read_data(struct nand_device_s *nand, void *data) +static int lpc3180_read_data(struct nand_device *nand, void *data) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; if (target->state != TARGET_HALTED) { @@ -468,10 +468,10 @@ static int lpc3180_read_data(struct nand_device_s *nand, void *data) return ERROR_OK; } -static int lpc3180_write_page(struct nand_device_s *nand, uint32_t page, uint8_t *data, uint32_t data_size, uint8_t *oob, uint32_t oob_size) +static int lpc3180_write_page(struct nand_device *nand, uint32_t page, uint8_t *data, uint32_t data_size, uint8_t *oob, uint32_t oob_size) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; int retval; uint8_t status; @@ -607,10 +607,10 @@ static int lpc3180_write_page(struct nand_device_s *nand, uint32_t page, uint8_t return ERROR_OK; } -static int lpc3180_read_page(struct nand_device_s *nand, uint32_t page, uint8_t *data, uint32_t data_size, uint8_t *oob, uint32_t oob_size) +static int lpc3180_read_page(struct nand_device *nand, uint32_t page, uint8_t *data, uint32_t data_size, uint8_t *oob, uint32_t oob_size) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; if (target->state != TARGET_HALTED) { @@ -754,10 +754,10 @@ static int lpc3180_read_page(struct nand_device_s *nand, uint32_t page, uint8_t return ERROR_OK; } -static int lpc3180_controller_ready(struct nand_device_s *nand, int timeout) +static int lpc3180_controller_ready(struct nand_device *nand, int timeout) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; uint8_t status = 0x0; if (target->state != TARGET_HALTED) @@ -788,10 +788,10 @@ static int lpc3180_controller_ready(struct nand_device_s *nand, int timeout) return 0; } -static int lpc3180_nand_ready(struct nand_device_s *nand, int timeout) +static int lpc3180_nand_ready(struct nand_device *nand, int timeout) { - lpc3180_nand_controller_t *lpc3180_info = nand->controller_priv; - target_t *target = lpc3180_info->target; + struct lpc3180_nand_controller *lpc3180_info = nand->controller_priv; + struct target *target = lpc3180_info->target; if (target->state != TARGET_HALTED) { @@ -830,35 +830,35 @@ static int lpc3180_nand_ready(struct nand_device_s *nand, int timeout) COMMAND_HANDLER(handle_lpc3180_select_command) { - lpc3180_nand_controller_t *lpc3180_info = NULL; + struct lpc3180_nand_controller *lpc3180_info = NULL; char *selected[] = { "no", "mlc", "slc" }; - if ((argc < 1) || (argc > 2)) + if ((CMD_ARGC < 1) || (CMD_ARGC > 2)) { return ERROR_COMMAND_SYNTAX_ERROR; } unsigned num; - COMMAND_PARSE_NUMBER(uint, args[1], num); - nand_device_t *nand = get_nand_device_by_num(num); + COMMAND_PARSE_NUMBER(uint, CMD_ARGV[1], num); + struct nand_device *nand = get_nand_device_by_num(num); if (!nand) { - command_print(cmd_ctx, "nand device '#%s' is out of bounds", args[0]); + command_print(CMD_CTX, "nand device '#%s' is out of bounds", CMD_ARGV[0]); return ERROR_OK; } lpc3180_info = nand->controller_priv; - if (argc == 2) + if (CMD_ARGC == 2) { - if (strcmp(args[1], "mlc") == 0) + if (strcmp(CMD_ARGV[1], "mlc") == 0) { lpc3180_info->selected_controller = LPC3180_MLC_CONTROLLER; } - else if (strcmp(args[1], "slc") == 0) + else if (strcmp(CMD_ARGV[1], "slc") == 0) { lpc3180_info->selected_controller = LPC3180_SLC_CONTROLLER; } @@ -868,21 +868,21 @@ COMMAND_HANDLER(handle_lpc3180_select_command) } } - command_print(cmd_ctx, "%s controller selected", selected[lpc3180_info->selected_controller]); + command_print(CMD_CTX, "%s controller selected", selected[lpc3180_info->selected_controller]); return ERROR_OK; } -static int lpc3180_register_commands(struct command_context_s *cmd_ctx) +static int lpc3180_register_commands(struct command_context *cmd_ctx) { - command_t *lpc3180_cmd = register_command(cmd_ctx, NULL, "lpc3180", NULL, COMMAND_ANY, "commands specific to the LPC3180 NAND flash controllers"); + struct command *lpc3180_cmd = register_command(cmd_ctx, NULL, "lpc3180", NULL, COMMAND_ANY, "commands specific to the LPC3180 NAND flash controllers"); register_command(cmd_ctx, lpc3180_cmd, "select", handle_lpc3180_select_command, COMMAND_EXEC, "select <'mlc'|'slc'> controller (default is mlc)"); return ERROR_OK; } -nand_flash_controller_t lpc3180_nand_controller = { +struct nand_flash_controller lpc3180_nand_controller = { .name = "lpc3180", .nand_device_command = lpc3180_nand_device_command, .register_commands = lpc3180_register_commands,