From c9089f58514b59cfc43e27796eb258cbabb2112b Mon Sep 17 00:00:00 2001 From: Richard Eoin Meadows Date: Fri, 11 Apr 2014 18:35:55 +0100 Subject: Added monitor option to toggle target power --- src/platforms/native/platform.c | 8 +++++++- src/platforms/native/platform.h | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src/platforms') diff --git a/src/platforms/native/platform.c b/src/platforms/native/platform.c index cb9e69e..224daf8 100644 --- a/src/platforms/native/platform.c +++ b/src/platforms/native/platform.c @@ -153,7 +153,13 @@ void platform_srst_set_val(bool assert) gpio_set_val(SRST_PORT, SRST_PIN, !assert); } } - +bool platform_target_get_power(void) { + return gpio_get(PWR_BR_PORT, PWR_BR_PIN); +} +void platform_target_set_power(bool power) +{ + gpio_set_val(PWR_BR_PORT, PWR_BR_PIN, !power); +} void platform_delay(uint32_t delay) { timeout_counter = delay; diff --git a/src/platforms/native/platform.h b/src/platforms/native/platform.h index 082f6ef..5ca0408 100644 --- a/src/platforms/native/platform.h +++ b/src/platforms/native/platform.h @@ -231,3 +231,5 @@ static inline uint16_t _gpio_get(uint32_t gpioport, uint16_t gpios) void assert_boot_pin(void); void setup_vbus_irq(void); void platform_srst_set_val(bool assert); +bool platform_target_get_power(void); +void platform_target_set_power(bool power); -- cgit v1.2.3 From 42e41edfa1d7e1f5aa5e4b131d3af846ad71f0ff Mon Sep 17 00:00:00 2001 From: Richard Eoin Meadows Date: Wed, 28 May 2014 12:33:43 +0100 Subject: Target power option is only for versions > 0 --- src/platforms/native/platform.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/platforms') diff --git a/src/platforms/native/platform.c b/src/platforms/native/platform.c index 224daf8..d361ca8 100644 --- a/src/platforms/native/platform.c +++ b/src/platforms/native/platform.c @@ -154,11 +154,16 @@ void platform_srst_set_val(bool assert) } } bool platform_target_get_power(void) { - return gpio_get(PWR_BR_PORT, PWR_BR_PIN); + if (platform_hwversion() > 0) { + return gpio_get(PWR_BR_PORT, PWR_BR_PIN); + } + return 1; // 1 = Unpowered } void platform_target_set_power(bool power) { - gpio_set_val(PWR_BR_PORT, PWR_BR_PIN, !power); + if (platform_hwversion() > 0) { + gpio_set_val(PWR_BR_PORT, PWR_BR_PIN, !power); + } } void platform_delay(uint32_t delay) { -- cgit v1.2.3 From c1b1d45155ba666d43d4d26b997b45eef8ff50f8 Mon Sep 17 00:00:00 2001 From: Richard Eoin Meadows Date: Wed, 28 May 2014 12:45:21 +0100 Subject: TRST only exists on hardware version 0 --- src/platforms/stm32/jtagtap.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/platforms') diff --git a/src/platforms/stm32/jtagtap.c b/src/platforms/stm32/jtagtap.c index 78dd300..2d09b84 100644 --- a/src/platforms/stm32/jtagtap.c +++ b/src/platforms/stm32/jtagtap.c @@ -42,10 +42,12 @@ int jtagtap_init(void) 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); + if (platform_hwversion() == 0) { + 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(); } -- cgit v1.2.3