X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fadapter.c;fp=src%2Fjtag%2Fadapter.c;h=519505dc32466fd68b538fc79b4e9dea79fddaab;hp=14452d42f271979e7e5113f76c1652bb82c0f351;hb=9903203d73c9243c327db9dc0d726491bb625d41;hpb=6d6207a8d3970beac73840a184af79d8dbeb1fbf;ds=sidebyside diff --git a/src/jtag/adapter.c b/src/jtag/adapter.c index 14452d42f2..519505dc32 100644 --- a/src/jtag/adapter.c +++ b/src/jtag/adapter.c @@ -36,6 +36,8 @@ enum adapter_clk_mode { CLOCK_MODE_RCLK }; +#define DEFAULT_CLOCK_SPEED_KHZ 100U + /** * Adapter configuration */ @@ -70,6 +72,18 @@ int adapter_init(struct command_context *cmd_ctx) } int retval; + + if (adapter_config.clock_mode == CLOCK_MODE_UNSELECTED) { + LOG_WARNING("An adapter speed is not selected in the init scripts." + " OpenOCD will try to run the adapter at the low speed (%d kHz)", + DEFAULT_CLOCK_SPEED_KHZ); + LOG_WARNING("To remove this warnings and achieve reasonable communication speed with the target," + " set \"adapter speed\" or \"jtag_rclk\" in the init scripts."); + retval = adapter_config_khz(DEFAULT_CLOCK_SPEED_KHZ); + if (retval != ERROR_OK) + return ERROR_JTAG_INIT_FAILED; + } + retval = adapter_driver->init(); if (retval != ERROR_OK) return retval; @@ -80,12 +94,6 @@ int adapter_init(struct command_context *cmd_ctx) return ERROR_OK; } - if (adapter_config.clock_mode == CLOCK_MODE_UNSELECTED) { - LOG_ERROR("An adapter speed is not selected in the init script." - " Insert a call to \"adapter speed\" or \"jtag_rclk\" to proceed."); - return ERROR_JTAG_INIT_FAILED; - } - int requested_khz = adapter_get_speed_khz(); int actual_khz = requested_khz; int speed_var = 0;