This is an automated email from Gerrit. Tomasz CEDRO ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/1033
-- gerrit commit b172d47877790d793eff12605d493a3efa02ee2b Author: Tomek CEDRO <[email protected]> Date: Sun Nov 11 23:33:18 2012 +0100 Introducing ktlink_swd layout for ft2232 driver. Updated configuration files to use ktlink_jtag. IMPORTANT: old layout was renamed to ktlink_jtag, please update your configurations if necessary! Change-Id: I7e5ab0ecf2ed48dc4f31bb5d47ed5c356d04adfe Signed-off-by: Tomek CEDRO <[email protected]> diff --git a/src/jtag/drivers/ft2232.c b/src/jtag/drivers/ft2232.c index 086c42c..8a0c84b 100644 --- a/src/jtag/drivers/ft2232.c +++ b/src/jtag/drivers/ft2232.c @@ -200,7 +200,8 @@ static int icebear_jtag_init(void); static int cortino_jtag_init(void); static int signalyzer_init(void); static int signalyzer_h_init(void); -static int ktlink_init(void); +static int ktlink_init_jtag(void); +static int ktlink_init_swd(void); static int redbee_init(void); static int lisa_l_init(void); static int flossjtag_init(void); @@ -322,11 +323,16 @@ static const struct ft2232_layout ft2232_layouts[] = { .reset = signalyzer_h_reset, .blink = signalyzer_h_blink }, - { .name = "ktlink", - .init = ktlink_init, + { .name = "ktlink_jtag", + .init = ktlink_init_jtag, .reset = ktlink_reset, .blink = ktlink_blink }, + { .name = "ktlink_swd", + .init = ktlink_init_swd, + .reset = ktlink_reset, + .blink = ktlink_blink + }, { .name = "redbee-econotag", .init = redbee_init, .reset = redbee_reset, @@ -4290,7 +4296,7 @@ static void signalyzer_h_blink(void) * JTAG adapter from KRISTECH * http://www.kristech.eu *******************************************************************/ -static int ktlink_init(void) +static int ktlink_init_jtag(void) { uint8_t swd_en = 0x20; /* 0x20 SWD disable, 0x00 SWD enable (ADBUS5) */ @@ -4338,6 +4344,52 @@ static int ktlink_init(void) return ERROR_OK; } +/* KT-LINK SWD Support added by Tomasz Boleslaw CEDRO (http://www.tomek.cedro.info). */ +static int ktlink_init_swd(void) +{ + /* High Byte (ACBUS) members. */ + static uint8_t nSWCLKen=0x40, nTDIen=0x20, TRST=0x01, nTRSTen=0x04, SRST=0x02, nSRSTen=0x08, LED=0x80, RnW=0x10; + /* Low Byte (ADBUS) members. */ + static uint8_t SWCLK=0x01, TDI=0x02, TDO=0x04, nSWDIOsel=0x20; + + nTRST = TRST; + nSRST = SRST; + nTRSTnOE = nTRSTen; + nSRSTnOE = nSRSTen; + + /* Set ADBUS Port Data: SWCLK=0, TDI=0,TDO=1, nSWDIOsel=0 */ + low_output = 0 | TDO; + /* Set ADBUS Port Direction (1=Output) */ + low_direction = 0 | SWCLK | TDI | nSWDIOsel; + + /* initialize low byte port (ADBUS) */ + if (ft2232_set_data_bits_low_byte(low_output,low_direction) != ERROR_OK) + { + LOG_ERROR("couldn't initialize FT2232 ADBUS with 'ktlink_swd' layout"); + return ERROR_JTAG_INIT_FAILED; + } + + /* Set Data Bits High Byte (ACBUS) */ + /* Enable SWD pins : nTCKen=0, RnW=1, nSRSTen=0, nLED=0, SRST=1 */ + /* Disable JTAG pins: nTDIen=1, nSWDIOen=1, nTRSTen=1 */ + high_output = 0 | RnW | SRST | nTDIen | nTRSTen; + /* Set ACBUS Port Direction (1=Output) */ + high_direction = 0 | RnW | nSWCLKen | nTDIen | nTRSTen | nSRSTen | SRST | LED; + + /* initialize high byte port (ACBUS) */ + if (ft2232_set_data_bits_high_byte(high_output,high_direction) != ERROR_OK) + { + LOG_ERROR("couldn't initialize FT2232 ACBUS with 'ktlink_swd' layout"); + return ERROR_JTAG_INIT_FAILED; + } + + /* Additional bit-bang signals should be placed in a configuration file. */ + + LOG_INFO("KT-LINK SWD-Mode initialization complete..."); + return ERROR_OK; +} + + static void ktlink_reset(int trst, int srst) { enum reset_types jtag_reset_config = jtag_get_reset_config(); diff --git a/tcl/interface/jtag-lock-pick_tiny_2.cfg b/tcl/interface/jtag-lock-pick_tiny_2.cfg index 539f0f9..a12a467 100644 --- a/tcl/interface/jtag-lock-pick_tiny_2.cfg +++ b/tcl/interface/jtag-lock-pick_tiny_2.cfg @@ -6,5 +6,5 @@ interface ft2232 ft2232_device_desc "JTAG-lock-pick Tiny 2" -ft2232_layout ktlink +ft2232_layout ktlink_jtag ft2232_vid_pid 0x0403 0x8220 diff --git a/tcl/interface/kt-link.cfg b/tcl/interface/kt-link.cfg index d3d0f4d..3dfc2e8 100644 --- a/tcl/interface/kt-link.cfg +++ b/tcl/interface/kt-link.cfg @@ -6,7 +6,7 @@ interface ft2232 ft2232_device_desc "KT-LINK" -ft2232_layout ktlink +ft2232_layout ktlink_jtag ft2232_vid_pid 0x0403 0xBBE2 interface_signal add LED 0x8000 -- ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
