Added support for the blinking leds on Floss-JTAG v0.3 and newer.
This commit is contained in:
parent
a9d0b3de44
commit
94e1445a86
|
@ -189,6 +189,7 @@ static int signalyzer_h_init(void);
|
||||||
static int ktlink_init(void);
|
static int ktlink_init(void);
|
||||||
static int redbee_init(void);
|
static int redbee_init(void);
|
||||||
static int lisa_l_init(void);
|
static int lisa_l_init(void);
|
||||||
|
static int flossjtag_init(void);
|
||||||
|
|
||||||
/* reset procedures for supported layouts */
|
/* reset procedures for supported layouts */
|
||||||
static void ftx23_reset(int trst, int srst);
|
static void ftx23_reset(int trst, int srst);
|
||||||
|
@ -212,6 +213,7 @@ static void turtle_jtag_blink(void);
|
||||||
static void signalyzer_h_blink(void);
|
static void signalyzer_h_blink(void);
|
||||||
static void ktlink_blink(void);
|
static void ktlink_blink(void);
|
||||||
static void lisa_l_blink(void);
|
static void lisa_l_blink(void);
|
||||||
|
static void flossjtag_blink(void);
|
||||||
|
|
||||||
/* common transport support options */
|
/* common transport support options */
|
||||||
|
|
||||||
|
@ -311,6 +313,11 @@ static const struct ft2232_layout ft2232_layouts[] =
|
||||||
.blink = lisa_l_blink,
|
.blink = lisa_l_blink,
|
||||||
.channel = INTERFACE_B,
|
.channel = INTERFACE_B,
|
||||||
},
|
},
|
||||||
|
{ .name = "flossjtag",
|
||||||
|
.init = flossjtag_init,
|
||||||
|
.reset = ftx23_reset,
|
||||||
|
.blink = flossjtag_blink,
|
||||||
|
},
|
||||||
{ .name = NULL, /* END OF TABLE */ },
|
{ .name = NULL, /* END OF TABLE */ },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3134,6 +3141,37 @@ static int lisa_l_init(void)
|
||||||
|
|
||||||
return ftx232_dbus_write();
|
return ftx232_dbus_write();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int flossjtag_init(void)
|
||||||
|
{
|
||||||
|
uint8_t buf[3];
|
||||||
|
uint32_t bytes_written;
|
||||||
|
|
||||||
|
ftx232_dbus_init();
|
||||||
|
|
||||||
|
nTRST = 0x10;
|
||||||
|
nTRSTnOE = 0x10;
|
||||||
|
nSRST = 0x40;
|
||||||
|
nSRSTnOE = 0x40;
|
||||||
|
|
||||||
|
high_output = 0x00;
|
||||||
|
high_direction = 0x18;
|
||||||
|
|
||||||
|
/* initialize high port */
|
||||||
|
buf[0] = 0x82; /* command "set data bits high byte" */
|
||||||
|
buf[1] = high_output;
|
||||||
|
buf[2] = high_direction;
|
||||||
|
LOG_DEBUG("%2.2x %2.2x %2.2x", buf[0], buf[1], buf[2]);
|
||||||
|
|
||||||
|
if (ft2232_write(buf, sizeof(buf), &bytes_written) != ERROR_OK)
|
||||||
|
{
|
||||||
|
LOG_ERROR("couldn't initialize FT2232 with 'Floss-JTAG' layout");
|
||||||
|
return ERROR_JTAG_INIT_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ftx232_dbus_write();
|
||||||
|
}
|
||||||
|
|
||||||
static void olimex_jtag_blink(void)
|
static void olimex_jtag_blink(void)
|
||||||
{
|
{
|
||||||
/* Olimex ARM-USB-OCD has a LED connected to ACBUS3
|
/* Olimex ARM-USB-OCD has a LED connected to ACBUS3
|
||||||
|
@ -3205,6 +3243,25 @@ static void lisa_l_blink(void)
|
||||||
buffer_write(high_direction);
|
buffer_write(high_direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void flossjtag_blink(void)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Floss-JTAG has two LEDs connected to ACBUS3 and ACBUS4
|
||||||
|
*/
|
||||||
|
if (high_output & 0x10)
|
||||||
|
{
|
||||||
|
high_output = 0x08;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
high_output = 0x10;
|
||||||
|
}
|
||||||
|
|
||||||
|
buffer_write(0x82);
|
||||||
|
buffer_write(high_output);
|
||||||
|
buffer_write(high_direction);
|
||||||
|
}
|
||||||
|
|
||||||
static int ft2232_quit(void)
|
static int ft2232_quit(void)
|
||||||
{
|
{
|
||||||
#if BUILD_FT2232_FTD2XX == 1
|
#if BUILD_FT2232_FTD2XX == 1
|
||||||
|
|
|
@ -16,5 +16,5 @@ interface ft2232
|
||||||
ft2232_vid_pid 0x0403 0x6010
|
ft2232_vid_pid 0x0403 0x6010
|
||||||
ft2232_device_desc "FLOSS-JTAG"
|
ft2232_device_desc "FLOSS-JTAG"
|
||||||
#ft2232_serial "FJ000001"
|
#ft2232_serial "FJ000001"
|
||||||
ft2232_layout "usbjtag"
|
ft2232_layout "flossjtag"
|
||||||
ft2232_latency 2
|
ft2232_latency 2
|
||||||
|
|
Loading…
Reference in New Issue