X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fflash%2Forion_nand.c;h=8a76ffcbd90c8236fd77610be974cbcffee42e98;hb=f876d5e9c769a288faa7fd14b7bf373363542aab;hp=678eb94c758a1a3974819b598a91ee6c8338a5ad;hpb=0bba832713cca8e5931d5d21f37f526d0a3979cf;p=fw%2Fopenocd diff --git a/src/flash/orion_nand.c b/src/flash/orion_nand.c index 678eb94c7..8a76ffcbd 100644 --- a/src/flash/orion_nand.c +++ b/src/flash/orion_nand.c @@ -26,17 +26,11 @@ #include "config.h" #endif -#include "replacements.h" -#include "log.h" - -#include -#include - #include "nand.h" -#include "target.h" #include "armv4_5.h" #include "binarybuffer.h" + typedef struct orion_nand_controller_s { struct target_s *target; @@ -55,7 +49,7 @@ typedef struct orion_nand_controller_s } \ } while (0) -static int orion_nand_command(struct nand_device_s *device, u8 command) +static int orion_nand_command(struct nand_device_s *device, uint8_t command) { orion_nand_controller_t *hw = device->controller_priv; target_t *target = hw->target; @@ -65,7 +59,7 @@ static int orion_nand_command(struct nand_device_s *device, u8 command) return ERROR_OK; } -static int orion_nand_address(struct nand_device_s *device, u8 address) +static int orion_nand_address(struct nand_device_s *device, uint8_t address) { orion_nand_controller_t *hw = device->controller_priv; target_t *target = hw->target; @@ -85,7 +79,7 @@ static int orion_nand_read(struct nand_device_s *device, void *data) return ERROR_OK; } -static int orion_nand_write(struct nand_device_s *device, u16 data) +static int orion_nand_write(struct nand_device_s *device, uint16_t data) { orion_nand_controller_t *hw = device->controller_priv; target_t *target = hw->target; @@ -95,14 +89,14 @@ static int orion_nand_write(struct nand_device_s *device, u16 data) return ERROR_OK; } -static int orion_nand_slow_block_write(struct nand_device_s *device, u8 *data, int size) +static int orion_nand_slow_block_write(struct nand_device_s *device, uint8_t *data, int size) { while (size--) orion_nand_write(device, *data++); return ERROR_OK; } -static int orion_nand_fast_block_write(struct nand_device_s *device, u8 *data, int size) +static int orion_nand_fast_block_write(struct nand_device_s *device, uint8_t *data, int size) { orion_nand_controller_t *hw = device->controller_priv; target_t *target = hw->target; @@ -121,7 +115,7 @@ static int orion_nand_fast_block_write(struct nand_device_s *device, u8 *data, i int code_size = sizeof(code); if (!hw->copy_area) { - u8 code_buf[code_size]; + uint8_t code_buf[code_size]; int i; /* make sure we have a working area */ @@ -137,7 +131,7 @@ static int orion_nand_fast_block_write(struct nand_device_s *device, u8 *data, i target_buffer_set_u32(target, code_buf + i*4, code[i]); /* write code to working area */ - retval = target->type->write_memory(target, + retval = target_write_memory(target, hw->copy_area->address, 4, code_size/4, code_buf); if (retval != ERROR_OK) @@ -146,10 +140,9 @@ static int orion_nand_fast_block_write(struct nand_device_s *device, u8 *data, i /* copy data to target's memory */ target_buf = hw->copy_area->address + code_size; - retval = target->type->bulk_write_memory(target, target_buf, - size/4, data); + retval = target_bulk_write_memory(target, target_buf, size/4, data); if (retval == ERROR_OK && size & 3) { - retval = target->type->write_memory(target, + retval = target_write_memory(target, target_buf + (size & ~3), 1, size & 3, data + (size & ~3)); } @@ -168,7 +161,7 @@ static int orion_nand_fast_block_write(struct nand_device_s *device, u8 *data, i buf_set_u32(reg_params[1].value, 0, 32, target_buf); buf_set_u32(reg_params[2].value, 0, 32, size); - retval = target->type->run_algorithm(target, 0, NULL, 3, reg_params, + retval = target_run_algorithm(target, 0, NULL, 3, reg_params, hw->copy_area->address, hw->copy_area->address + code_size - 4, 1000, &algo); @@ -202,7 +195,7 @@ int orion_nand_device_command(struct command_context_s *cmd_ctx, char *cmd, { orion_nand_controller_t *hw; u32 base; - u8 ale, cle; + uint8_t ale, cle; if (argc != 3) { LOG_ERROR("arguments must be: \n"); @@ -216,9 +209,9 @@ int orion_nand_device_command(struct command_context_s *cmd_ctx, char *cmd, } device->controller_priv = hw; - hw->target = get_target_by_num(strtoul(args[1], NULL, 0)); + hw->target = get_target(args[1]); if (!hw->target) { - LOG_ERROR("no target '%s' configured", args[1]); + LOG_ERROR("target '%s' not defined", args[1]); free(hw); return ERROR_NAND_DEVICE_INVALID; }