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); } /*-----------------------------------------------------------------------------*/