X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnand%2Fmx2.c;h=6bad4aad36a13cd6ed1082bbbeb7d6be3aea66c7;hp=83e1cb1ce7c01c4a17073dbe06c30f39a4a0efc1;hb=b7b9ad755eb2cd81513247abcc7f6f1d434d8d2c;hpb=f40faeb349e417e566bf100aa08a9246501a82c5 diff --git a/src/flash/nand/mx2.c b/src/flash/nand/mx2.c index 83e1cb1ce7..6bad4aad36 100644 --- a/src/flash/nand/mx2.c +++ b/src/flash/nand/mx2.c @@ -61,7 +61,7 @@ static const char sram_buffer_bounds_err_msg[] = "trying to access out of SRAM buffer bound (addr=0x%" PRIx32 ")"; static const char get_status_register_err_msg[] = "can't get NAND status"; static uint32_t in_sram_address; -unsigned char sign_of_sequental_byte_read; +static unsigned char sign_of_sequental_byte_read; static int initialize_nf_controller(struct nand_device *nand); static int get_next_byte_from_sram_buffer(struct target * target, uint8_t * value); @@ -73,7 +73,6 @@ static int do_data_output(struct nand_device *nand); static int imx27_command(struct nand_device *nand, uint8_t command); static int imx27_address(struct nand_device *nand, uint8_t address); -static int imx27_controller_ready(struct nand_device *nand, int tout); NAND_DEVICE_COMMAND_HANDLER(imx27_nand_device_command) { @@ -87,11 +86,6 @@ NAND_DEVICE_COMMAND_HANDLER(imx27_nand_device_command) } nand->controller_priv = mx2_nf_info; - mx2_nf_info->target = get_target(CMD_ARGV[1]); - if (mx2_nf_info->target == NULL) { - LOG_ERROR("target '%s' not defined", CMD_ARGV[1]); - return ERROR_FAIL; - } if (CMD_ARGC < 3) { LOG_ERROR("use \"nand device imx27 target noecc|hwecc\""); return ERROR_FAIL; @@ -109,7 +103,7 @@ NAND_DEVICE_COMMAND_HANDLER(imx27_nand_device_command) mx2_nf_info->optype = MX2_NF_DATAOUT_PAGE; mx2_nf_info->fin = MX2_NF_FIN_NONE; mx2_nf_info->flags.target_little_endian = - (mx2_nf_info->target->endianness == TARGET_LITTLE_ENDIAN); + (nand->target->endianness == TARGET_LITTLE_ENDIAN); /* * testing host endianess */ @@ -124,7 +118,7 @@ NAND_DEVICE_COMMAND_HANDLER(imx27_nand_device_command) static int imx27_init(struct nand_device *nand) { struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; int validate_target_result; uint16_t buffsize_register_content; @@ -194,8 +188,7 @@ static int imx27_init(struct nand_device *nand) static int imx27_read_data(struct nand_device *nand, void *data) { - struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; int validate_target_result; int try_data_output_from_nand_chip; /* @@ -229,11 +222,6 @@ static int imx27_write_data(struct nand_device *nand, uint16_t data) return ERROR_NAND_OPERATION_FAILED; } -static int imx27_nand_ready(struct nand_device *nand, int timeout) -{ - return imx27_controller_ready(nand, timeout); -} - static int imx27_reset(struct nand_device *nand) { /* @@ -250,7 +238,7 @@ static int imx27_reset(struct nand_device *nand) static int imx27_command(struct nand_device *nand, uint8_t command) { struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; int validate_target_result; int poll_result; /* @@ -319,8 +307,7 @@ static int imx27_command(struct nand_device *nand, uint8_t command) static int imx27_address(struct nand_device *nand, uint8_t address) { - struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; int validate_target_result; int poll_result; /* @@ -342,11 +329,10 @@ static int imx27_address(struct nand_device *nand, uint8_t address) return ERROR_OK; } -static int imx27_controller_ready(struct nand_device *nand, int tout) +static int imx27_nand_ready(struct nand_device *nand, int tout) { uint16_t poll_complete_status; - struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; int validate_target_result; /* @@ -372,7 +358,7 @@ static int imx27_write_page(struct nand_device *nand, uint32_t page, uint32_t oob_size) { struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; int retval; uint16_t nand_status_content; uint16_t swap1, swap2, new_swap1; @@ -495,7 +481,7 @@ static int imx27_read_page(struct nand_device *nand, uint32_t page, uint32_t oob_size) { struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; int retval; uint16_t swap1, swap2, new_swap1; if (data_size % 2) { @@ -581,7 +567,7 @@ static int imx27_read_page(struct nand_device *nand, uint32_t page, static int initialize_nf_controller(struct nand_device *nand) { struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; uint16_t work_mode; uint16_t temp; /* @@ -695,7 +681,7 @@ static int poll_for_complete_op(struct target * target, const char *text) static int validate_target_state(struct nand_device *nand) { struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; if (target->state != TARGET_HALTED) { LOG_ERROR(target_not_halted_err_msg); @@ -715,7 +701,7 @@ static int validate_target_state(struct nand_device *nand) static int do_data_output(struct nand_device *nand) { struct mx2_nf_controller *mx2_nf_info = nand->controller_priv; - struct target *target = mx2_nf_info->target; + struct target *target = nand->target; int poll_result; uint16_t ecc_status; switch(mx2_nf_info->fin) { @@ -771,6 +757,5 @@ struct nand_flash_controller imx27_nand_flash_controller = { .read_data = &imx27_read_data, .write_page = &imx27_write_page, .read_page = &imx27_read_page, - .controller_ready = &imx27_controller_ready, .nand_ready = &imx27_nand_ready, };