X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fdrivers%2Fparport.c;h=c9e331644fa8884f22aea2c3e6fc08e6e883a7c3;hp=3c07afb286e85a2df966d7dd644ccf29be7fd6f1;hb=5be455a710c57bbbbd49c2d671b42098db7be5dc;hpb=de0130a0aad83c1ef692ee4d68ab996a8668424d diff --git a/src/jtag/drivers/parport.c b/src/jtag/drivers/parport.c index 3c07afb286..c9e331644f 100644 --- a/src/jtag/drivers/parport.c +++ b/src/jtag/drivers/parport.c @@ -16,9 +16,7 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * along with this program. If not, see . * ***************************************************************************/ #ifdef HAVE_CONFIG_H @@ -60,7 +58,7 @@ /* parallel port cable description */ struct cable { - char *name; + const char *name; uint8_t TDO_MASK; /* status port bit containing current TDO value */ uint8_t TRST_MASK; /* data port bit for TRST */ uint8_t TMS_MASK; /* data port bit for TMS */ @@ -74,7 +72,7 @@ struct cable { uint8_t LED_MASK; /* data port bit for LED */ }; -static struct cable cables[] = { +static const struct cable cables[] = { /* name tdo trst tms tck tdi srst o_inv i_inv init exit led */ { "wiggler", 0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x01, 0x80, 0x80, 0x80, 0x00 }, { "wiggler2", 0x80, 0x10, 0x02, 0x04, 0x08, 0x01, 0x01, 0x80, 0x80, 0x00, 0x20 }, @@ -95,6 +93,7 @@ static struct cable cables[] = { SOFT TDI - Target SRST */ { "altium", 0x10, 0x20, 0x04, 0x02, 0x01, 0x80, 0x00, 0x00, 0x10, 0x00, 0x08 }, + { "aspo", 0x10, 0x01, 0x04, 0x08, 0x02, 0x10, 0x17, 0x00, 0x17, 0x17, 0x00 }, { NULL, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }; @@ -107,7 +106,7 @@ static int wait_states; /* interface variables */ -static struct cable *cable; +static const struct cable *cable; static uint8_t dataport_value; #if PARPORT_USE_PPDEV == 1 @@ -261,15 +260,15 @@ static struct bitbang_interface parport_bitbang = { static int parport_init(void) { - struct cable *cur_cable; + const struct cable *cur_cable; #if PARPORT_USE_PPDEV == 1 char buffer[256]; #endif cur_cable = cables; - if ((parport_cable == NULL) || (parport_cable[0] == 0)) { - parport_cable = "wiggler"; + if (parport_cable == NULL) { + parport_cable = strdup("wiggler"); LOG_WARNING("No parport cable specified, using default 'wiggler'"); } @@ -452,8 +451,13 @@ COMMAND_HANDLER(parport_handle_parport_toggling_time_command) parport_toggling_time_ns = ns; retval = jtag_get_speed(&wait_states); - if (retval != ERROR_OK) - return retval; + if (retval != ERROR_OK) { + /* if jtag_get_speed fails then the clock_mode + * has not been configured, this happens if parport_toggling_time is + * called before the adapter speed is set */ + LOG_INFO("no parport speed set - defaulting to zero wait states"); + wait_states = 0; + } } command_print(CMD_CTX, "parport toggling time = %" PRIu32 " ns",