X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fjtag%2Fat91rm9200.c;h=706257533e3a02132a3e447e8126c2f9d44fb235;hb=5f6d8ecf8c2cf1427a8677155843081d07ff57c4;hp=d532e3e7434ca666c9089966ea9703cdb30fac54;hpb=20e4e77cdf366dedac21ff5670c54291feadfc05;p=openocd.git diff --git a/src/jtag/at91rm9200.c b/src/jtag/at91rm9200.c index d532e3e743..706257533e 100644 --- a/src/jtag/at91rm9200.c +++ b/src/jtag/at91rm9200.c @@ -21,17 +21,11 @@ #include "config.h" #endif -#include "log.h" -#include "jtag.h" +#include "interface.h" #include "bitbang.h" -/* system includes */ -#include -#include -#include #include -#include -#include + /* AT91RM9200 */ #define AT91C_BASE_SYS (0xfffff000) @@ -88,73 +82,72 @@ struct device_t { char* name; int TDO_PIO; /* PIO holding TDO */ - u32 TDO_MASK; /* TDO bitmask */ + uint32_t TDO_MASK; /* TDO bitmask */ int TRST_PIO; /* PIO holding TRST */ - u32 TRST_MASK; /* TRST bitmask */ + uint32_t TRST_MASK; /* TRST bitmask */ int TMS_PIO; /* PIO holding TMS */ - u32 TMS_MASK; /* TMS bitmask */ + uint32_t TMS_MASK; /* TMS bitmask */ int TCK_PIO; /* PIO holding TCK */ - u32 TCK_MASK; /* TCK bitmask */ + uint32_t TCK_MASK; /* TCK bitmask */ int TDI_PIO; /* PIO holding TDI */ - u32 TDI_MASK; /* TDI bitmask */ + uint32_t TDI_MASK; /* TDI bitmask */ int SRST_PIO; /* PIO holding SRST */ - u32 SRST_MASK; /* SRST bitmask */ + uint32_t SRST_MASK; /* SRST bitmask */ }; -struct device_t devices[] = +static struct device_t devices[] = { { "rea_ecr", PIOD, P27, PIOA, NC, PIOD, P23, PIOD, P24, PIOD, P26, PIOC, P5 }, - { NULL, 0 } + { .name = NULL }, }; /* configuration */ -char* at91rm9200_device; +static char* at91rm9200_device; /* interface variables */ static struct device_t* device; static int dev_mem_fd; static void *sys_controller; -static u32* pio_base; +static uint32_t* pio_base; /* low level command set */ -int at91rm9200_read(void); -void at91rm9200_write(int tck, int tms, int tdi); -void at91rm9200_reset(int trst, int srst); +static int at91rm9200_read(void); +static void at91rm9200_write(int tck, int tms, int tdi); +static void at91rm9200_reset(int trst, int srst); -int at91rm9200_speed(int speed); -int at91rm9200_register_commands(struct command_context_s *cmd_ctx); -int at91rm9200_init(void); -int at91rm9200_quit(void); +static int at91rm9200_speed(int speed); +static int at91rm9200_register_commands(struct command_context_s *cmd_ctx); +static int at91rm9200_init(void); +static int at91rm9200_quit(void); -jtag_interface_t at91rm9200_interface = +struct jtag_interface at91rm9200_interface = { .name = "at91rm9200", .execute_queue = bitbang_execute_queue, - .support_pathmove = 0, - .speed = at91rm9200_speed, .register_commands = at91rm9200_register_commands, .init = at91rm9200_init, .quit = at91rm9200_quit, }; -bitbang_interface_t at91rm9200_bitbang = +static struct bitbang_interface at91rm9200_bitbang = { .read = at91rm9200_read, .write = at91rm9200_write, - .reset = at91rm9200_reset + .reset = at91rm9200_reset, + .blink = 0 }; -int at91rm9200_read(void) +static int at91rm9200_read(void) { return (pio_base[device->TDO_PIO + PIO_PDSR] & device->TDO_MASK) != 0; } -void at91rm9200_write(int tck, int tms, int tdi) +static void at91rm9200_write(int tck, int tms, int tdi) { if (tck) pio_base[device->TCK_PIO + PIO_SODR] = device->TCK_MASK; @@ -173,7 +166,7 @@ void at91rm9200_write(int tck, int tms, int tdi) } /* (1) assert or (0) deassert reset lines */ -void at91rm9200_reset(int trst, int srst) +static void at91rm9200_reset(int trst, int srst) { if (trst == 0) pio_base[device->TRST_PIO + PIO_SODR] = device->TRST_MASK; @@ -186,13 +179,13 @@ void at91rm9200_reset(int trst, int srst) pio_base[device->SRST_PIO + PIO_CODR] = device->SRST_MASK; } -int at91rm9200_speed(int speed) +static int at91rm9200_speed(int speed) { return ERROR_OK; } -int at91rm9200_handle_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) +static int at91rm9200_handle_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc) { if (argc == 0) return ERROR_OK; @@ -207,14 +200,14 @@ int at91rm9200_handle_device_command(struct command_context_s *cmd_ctx, char *cm return ERROR_OK; } -int at91rm9200_register_commands(struct command_context_s *cmd_ctx) +static int at91rm9200_register_commands(struct command_context_s *cmd_ctx) { register_command(cmd_ctx, NULL, "at91rm9200_device", at91rm9200_handle_device_command, COMMAND_CONFIG, NULL); return ERROR_OK; } -int at91rm9200_init(void) +static int at91rm9200_init(void) { struct device_t *cur_device; @@ -223,7 +216,7 @@ int at91rm9200_init(void) if (at91rm9200_device == NULL || at91rm9200_device[0] == 0) { at91rm9200_device = "rea_ecr"; - WARNING("No at91rm9200 device specified, using default 'rea_ecr'"); + LOG_WARNING("No at91rm9200 device specified, using default 'rea_ecr'"); } while (cur_device->name) @@ -238,7 +231,7 @@ int at91rm9200_init(void) if (!device) { - ERROR("No matching device found for %s", at91rm9200_device); + LOG_ERROR("No matching device found for %s", at91rm9200_device); return ERROR_JTAG_INIT_FAILED; } @@ -257,7 +250,7 @@ int at91rm9200_init(void) close(dev_mem_fd); return ERROR_JTAG_INIT_FAILED; } - pio_base = (u32*)sys_controller + 0x100; + pio_base = (uint32_t*)sys_controller + 0x100; /* * Configure TDO as an input, and TDI, TCK, TMS, TRST, SRST @@ -285,7 +278,7 @@ int at91rm9200_init(void) return ERROR_OK; } -int at91rm9200_quit(void) +static int at91rm9200_quit(void) { return ERROR_OK;