{
uint8_t *buffer = cmsis_dap_handle->packet_buffer;
- LOG_DEBUG("Executing %d queued transactions", pending_transfer_count);
+ LOG_DEBUG_IO("Executing %d queued transactions", pending_transfer_count);
if (queued_retval != ERROR_OK) {
LOG_DEBUG("Skipping due to previous errors: %d", queued_retval);
uint8_t cmd = pending_transfers[i].cmd;
uint32_t data = pending_transfers[i].data;
- LOG_DEBUG("%s %s reg %x %"PRIx32,
+ LOG_DEBUG_IO("%s %s reg %x %"PRIx32,
cmd & SWD_CMD_APnDP ? "AP" : "DP",
cmd & SWD_CMD_RnW ? "read" : "write",
(cmd & SWD_CMD_A32) >> 1, data);
uint32_t tmp = data;
idx += 4;
- LOG_DEBUG("Read result: %"PRIx32, data);
+ LOG_DEBUG_IO("Read result: %"PRIx32, data);
/* Imitate posted AP reads */
if ((pending_transfers[i].cmd & SWD_CMD_APnDP) ||
retval = cmsis_dap_cmd_DAP_TFER_Configure(0, 64, 0);
if (retval != ERROR_OK)
return ERROR_FAIL;
- /* Data Phase (bit 2) must be set to 1 if sticky overrun
- * detection is enabled */
- retval = cmsis_dap_cmd_DAP_SWD_Configure(0); /* 1 TRN, no Data Phase */
- if (retval != ERROR_OK)
- return ERROR_FAIL;
+
+ if (swd_mode) {
+ /* Data Phase (bit 2) must be set to 1 if sticky overrun
+ * detection is enabled */
+ retval = cmsis_dap_cmd_DAP_SWD_Configure(0); /* 1 TRN, no Data Phase */
+ if (retval != ERROR_OK)
+ return ERROR_FAIL;
+ }
retval = cmsis_dap_cmd_DAP_LED(0x03); /* Both LEDs on */
if (retval != ERROR_OK)
static int cmsis_dap_speed(int speed)
{
- if (speed > DAP_MAX_CLOCK) {
- LOG_INFO("reduce speed request: %dkHz to %dkHz maximum", speed, DAP_MAX_CLOCK);
- speed = DAP_MAX_CLOCK;
- }
+ if (speed > DAP_MAX_CLOCK)
+ LOG_INFO("High speed (adapter_khz %d) may be limited by adapter firmware.", speed);
if (speed == 0) {
- LOG_INFO("RTCK not supported");
+ LOG_ERROR("RTCK not supported. Set nonzero adapter_khz.");
return ERROR_JTAG_NOT_IMPLEMENTED;
}