Set svn:eol-style properties on new minidummy driver files.
git-svn-id: svn://svn.berlios.de/openocd/trunk@2094 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
3363851781
commit
b90d7d12f1
|
@ -1,190 +1,190 @@
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Copyright (C) 2007-2008 by Øyvind Harboe *
|
* Copyright (C) 2007-2008 by Øyvind Harboe *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or modify *
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
* it under the terms of the GNU General Public License as published by *
|
* it under the terms of the GNU General Public License as published by *
|
||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (at your option) any later version. *
|
||||||
* *
|
* *
|
||||||
* This program is distributed in the hope that it will be useful, *
|
* This program is distributed in the hope that it will be useful, *
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
* GNU General Public License for more details. *
|
* GNU General Public License for more details. *
|
||||||
* *
|
* *
|
||||||
* You should have received a copy of the GNU General Public License *
|
* You should have received a copy of the GNU General Public License *
|
||||||
* along with this program; if not, write to the *
|
* along with this program; if not, write to the *
|
||||||
* Free Software Foundation, Inc., *
|
* Free Software Foundation, Inc., *
|
||||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "embeddedice.h"
|
#include "embeddedice.h"
|
||||||
#include "minidriver.h"
|
#include "minidriver.h"
|
||||||
#include "interface.h"
|
#include "interface.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
jtag_interface_t minidummy_interface =
|
jtag_interface_t minidummy_interface =
|
||||||
{
|
{
|
||||||
.name = "minidummy",
|
.name = "minidummy",
|
||||||
.execute_queue = NULL,
|
.execute_queue = NULL,
|
||||||
.speed = NULL,
|
.speed = NULL,
|
||||||
.register_commands = NULL,
|
.register_commands = NULL,
|
||||||
.init = NULL,
|
.init = NULL,
|
||||||
.quit = NULL,
|
.quit = NULL,
|
||||||
.khz = NULL,
|
.khz = NULL,
|
||||||
.speed_div = NULL,
|
.speed_div = NULL,
|
||||||
.power_dropout = NULL,
|
.power_dropout = NULL,
|
||||||
.srst_asserted = NULL,
|
.srst_asserted = NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int interface_jtag_execute_queue(void)
|
int interface_jtag_execute_queue(void)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern int jtag_check_value(u8 *captured, void *priv);
|
extern int jtag_check_value(u8 *captured, void *priv);
|
||||||
|
|
||||||
int interface_jtag_set_end_state(tap_state_t state)
|
int interface_jtag_set_end_state(tap_state_t state)
|
||||||
{
|
{
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
|
int interface_jtag_add_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int interface_jtag_add_plain_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
|
int interface_jtag_add_plain_ir_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*extern jtag_command_t **jtag_get_last_command_p(void);*/
|
/*extern jtag_command_t **jtag_get_last_command_p(void);*/
|
||||||
|
|
||||||
int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
|
int interface_jtag_add_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int interface_jtag_add_plain_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
|
int interface_jtag_add_plain_dr_scan(int num_fields, const scan_field_t *fields, tap_state_t state)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int interface_jtag_add_tlr()
|
int interface_jtag_add_tlr()
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int interface_jtag_add_reset(int req_trst, int req_srst)
|
int interface_jtag_add_reset(int req_trst, int req_srst)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int interface_jtag_add_runtest(int num_cycles, tap_state_t state)
|
int interface_jtag_add_runtest(int num_cycles, tap_state_t state)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int interface_jtag_add_clocks(int num_cycles)
|
int interface_jtag_add_clocks(int num_cycles)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int interface_jtag_add_sleep(u32 us)
|
int interface_jtag_add_sleep(u32 us)
|
||||||
{
|
{
|
||||||
jtag_sleep(us);
|
jtag_sleep(us);
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
|
int interface_jtag_add_pathmove(int num_states, const tap_state_t *path)
|
||||||
{
|
{
|
||||||
int state_count;
|
int state_count;
|
||||||
int tms = 0;
|
int tms = 0;
|
||||||
|
|
||||||
state_count = 0;
|
state_count = 0;
|
||||||
|
|
||||||
tap_state_t cur_state=cmd_queue_cur_state;
|
tap_state_t cur_state=cmd_queue_cur_state;
|
||||||
|
|
||||||
while (num_states)
|
while (num_states)
|
||||||
{
|
{
|
||||||
if (tap_state_transition(cur_state, false) == path[state_count])
|
if (tap_state_transition(cur_state, false) == path[state_count])
|
||||||
{
|
{
|
||||||
tms = 0;
|
tms = 0;
|
||||||
}
|
}
|
||||||
else if (tap_state_transition(cur_state, true) == path[state_count])
|
else if (tap_state_transition(cur_state, true) == path[state_count])
|
||||||
{
|
{
|
||||||
tms = 1;
|
tms = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_name(cur_state), tap_state_name(path[state_count]));
|
LOG_ERROR("BUG: %s -> %s isn't a valid TAP transition", tap_state_name(cur_state), tap_state_name(path[state_count]));
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
cur_state = path[state_count];
|
cur_state = path[state_count];
|
||||||
state_count++;
|
state_count++;
|
||||||
num_states--;
|
num_states--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void embeddedice_write_dcc(jtag_tap_t *tap, int reg_addr, u8 *buffer, int little, int count)
|
void embeddedice_write_dcc(jtag_tap_t *tap, int reg_addr, u8 *buffer, int little, int count)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
embeddedice_write_reg_inner(tap, reg_addr, fast_target_buffer_get_u32(buffer, little));
|
embeddedice_write_reg_inner(tap, reg_addr, fast_target_buffer_get_u32(buffer, little));
|
||||||
buffer += 4;
|
buffer += 4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,43 +1,43 @@
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Copyright (C) 2007-2008 by Øyvind Harboe *
|
* Copyright (C) 2007-2008 by Øyvind Harboe *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or modify *
|
* This program is free software; you can redistribute it and/or modify *
|
||||||
* it under the terms of the GNU General Public License as published by *
|
* it under the terms of the GNU General Public License as published by *
|
||||||
* the Free Software Foundation; either version 2 of the License, or *
|
* the Free Software Foundation; either version 2 of the License, or *
|
||||||
* (at your option) any later version. *
|
* (at your option) any later version. *
|
||||||
* *
|
* *
|
||||||
* This program is distributed in the hope that it will be useful, *
|
* This program is distributed in the hope that it will be useful, *
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
* GNU General Public License for more details. *
|
* GNU General Public License for more details. *
|
||||||
* *
|
* *
|
||||||
* You should have received a copy of the GNU General Public License *
|
* You should have received a copy of the GNU General Public License *
|
||||||
* along with this program; if not, write to the *
|
* along with this program; if not, write to the *
|
||||||
* Free Software Foundation, Inc., *
|
* Free Software Foundation, Inc., *
|
||||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static __inline__ void interface_jtag_add_dr_out_core(jtag_tap_t *target_tap,
|
static __inline__ void interface_jtag_add_dr_out_core(jtag_tap_t *target_tap,
|
||||||
int num_fields,
|
int num_fields,
|
||||||
const int *num_bits,
|
const int *num_bits,
|
||||||
const u32 *value,
|
const u32 *value,
|
||||||
enum tap_state end_state)
|
enum tap_state end_state)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline__ void interface_jtag_add_dr_out(jtag_tap_t *target_tap,
|
static __inline__ void interface_jtag_add_dr_out(jtag_tap_t *target_tap,
|
||||||
int num_fields,
|
int num_fields,
|
||||||
const int *num_bits,
|
const int *num_bits,
|
||||||
const u32 *value,
|
const u32 *value,
|
||||||
enum tap_state end_state)
|
enum tap_state end_state)
|
||||||
{
|
{
|
||||||
/* synchronously do the operation here */
|
/* synchronously do the operation here */
|
||||||
}
|
}
|
||||||
|
|
||||||
#define interface_jtag_add_callback(callback, in) callback(in)
|
#define interface_jtag_add_callback(callback, in) callback(in)
|
||||||
|
|
||||||
#define interface_jtag_add_callback4(callback, in, data1, data2, data3) jtag_set_error(callback(in, data1, data2, data3))
|
#define interface_jtag_add_callback4(callback, in, data1, data2, data3) jtag_set_error(callback(in, data1, data2, data3))
|
||||||
|
|
Loading…
Reference in New Issue