From bc853e7ebddf0cbe9abce161afcb0c0ee02c2567 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Tue, 26 Feb 2013 13:49:42 +0100 Subject: [PATCH] Fixed gpio_primary_remap; swjdisable is pre-shifted and therefore needs to be u32. --- include/libopencm3/stm32/f1/gpio.h | 2 +- lib/stm32/f1/gpio.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/libopencm3/stm32/f1/gpio.h b/include/libopencm3/stm32/f1/gpio.h index 580c501c..1e97b734 100644 --- a/include/libopencm3/stm32/f1/gpio.h +++ b/include/libopencm3/stm32/f1/gpio.h @@ -929,7 +929,7 @@ BEGIN_DECLS void gpio_set_mode(u32 gpioport, u8 mode, u8 cnf, u16 gpios); void gpio_set_eventout(u8 evoutport, u8 evoutpin); -void gpio_primary_remap(u8 swjenable, u32 maps); +void gpio_primary_remap(u32 swjenable, u32 maps); void gpio_secondary_remap(u32 maps); END_DECLS diff --git a/lib/stm32/f1/gpio.c b/lib/stm32/f1/gpio.c index 2b33cad9..cbb6b9d3 100644 --- a/lib/stm32/f1/gpio.c +++ b/lib/stm32/f1/gpio.c @@ -162,9 +162,9 @@ value cannot be ascertained from the hardware. @ref afio_remap_usart3. For connectivity line devices only @ref afio_remap_cld are also available. */ -void gpio_primary_remap(u8 swjdisable, u32 maps) +void gpio_primary_remap(u32 swjdisable, u32 maps) { - AFIO_MAPR |= swjdisable | (maps & 0x1FFFFF); + AFIO_MAPR |= (swjdisable & AFIO_MAPR_SWJ_MASK) | (maps & 0x1FFFFF); } /*-----------------------------------------------------------------------------*/