remote: Implemented support for target clock tristating

This commit is contained in:
dragonmux 2022-08-10 00:26:44 +01:00 committed by Piotr Esden-Tempski
parent 01110a206b
commit 84527d501b
2 changed files with 31 additions and 21 deletions

View File

@ -261,7 +261,6 @@ static void remote_packet_process_jtag(unsigned i, char *packet)
}
static void remotePacketProcessGEN(unsigned i, char *packet)
{
(void)i;
uint32_t freq;
@ -320,6 +319,11 @@ static void remotePacketProcessGEN(unsigned i, char *packet)
remote_respond_string(REMOTE_RESP_OK, PLATFORM_IDENT "" FIRMWARE_VERSION);
break;
case REMOTE_TARGET_CLK_OE:
platform_target_clk_output_enable(packet[2] != '0');
remote_respond(REMOTE_RESP_OK, 0);
break;
default:
remote_respond(REMOTE_RESP_ERR, REMOTE_ERROR_UNRECOGNISED);
break;

View File

@ -67,6 +67,7 @@
#define REMOTE_TDITDO_NOTMS 'd'
#define REMOTE_CYCLE 'c'
#define REMOTE_IN_PAR 'I'
#define REMOTE_TARGET_CLK_OE 'E'
#define REMOTE_FREQ_SET 'F'
#define REMOTE_FREQ_GET 'f'
#define REMOTE_IN 'i'
@ -143,6 +144,11 @@
{ \
REMOTE_SOM, REMOTE_GEN_PACKET, REMOTE_PWR_GET, REMOTE_EOM, 0 \
}
#define REMOTE_TARGET_CLK_OE_STR \
(char[]) \
{ \
REMOTE_SOM, REMOTE_GEN_PACKET, REMOTE_TARGET_CLK_OE, '%', 'c', REMOTE_EOM, 0 \
}
/* SWDP protocol elements */
#define REMOTE_SWDP_PACKET 'S'