From 346258934b99c0ea50acfb5ea05fdf0537b3194a Mon Sep 17 00:00:00 2001 From: Fredrik Ahlberg Date: Sun, 23 Nov 2014 22:59:16 +0100 Subject: Added support for TI TM4C123 Launchpad --- src/platforms/tm4c/jtagtap.c | 58 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/platforms/tm4c/jtagtap.c (limited to 'src/platforms/tm4c/jtagtap.c') diff --git a/src/platforms/tm4c/jtagtap.c b/src/platforms/tm4c/jtagtap.c new file mode 100644 index 0000000..f340b1e --- /dev/null +++ b/src/platforms/tm4c/jtagtap.c @@ -0,0 +1,58 @@ +#include "jtagtap.h" + +int +jtagtap_init(void) +{ + TMS_SET_MODE(); + + for(int i = 0; i <= 50; i++) jtagtap_next(1,0); + jtagtap_tms_seq(0xE73C, 16); + jtagtap_soft_reset(); + + return 0; +} + +void +jtagtap_reset(void) +{ +#ifdef TRST_PORT + volatile int i; + gpio_clear(TRST_PORT, TRST_PIN); + for(i = 0; i < 10000; i++) asm("nop"); + gpio_set(TRST_PORT, TRST_PIN); +#endif + jtagtap_soft_reset(); +} + +void +jtagtap_srst(bool assert) +{ + volatile int i; + if (assert) { + gpio_clear(SRST_PORT, SRST_PIN); + for(i = 0; i < 10000; i++) asm("nop"); + } else { + gpio_set(SRST_PORT, SRST_PIN); + } +} + +uint8_t +jtagtap_next(const uint8_t dTMS, const uint8_t dTDO) +{ + uint16_t ret; + + gpio_set_val(TMS_PORT, TMS_PIN, dTMS); + gpio_set_val(TDI_PORT, TDI_PIN, dTDO); + gpio_set(TCK_PORT, TCK_PIN); + ret = gpio_get(TDO_PORT, TDO_PIN); + gpio_clear(TCK_PORT, TCK_PIN); + + DEBUG("jtagtap_next(TMS = %d, TDO = %d) = %d\n", dTMS, dTDO, ret); + + return ret != 0; +} + +#define PROVIDE_GENERIC_JTAGTAP_TMS_SEQ +#define PROVIDE_GENERIC_JTAGTAP_TDI_TDO_SEQ +#define PROVIDE_GENERIC_JTAGTAP_TDI_SEQ +#include "jtagtap_generic.c" -- cgit v1.2.3