From ac29b654a992a4855626fc0b92874d3847914f85 Mon Sep 17 00:00:00 2001 From: Fergus Noble Date: Wed, 25 Jan 2012 22:13:56 -0800 Subject: Fix nasty bug with GPIO alternate function setup on F2/F4 (sorry guys). --- lib/stm32/f2/gpio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/stm32/f2') diff --git a/lib/stm32/f2/gpio.c b/lib/stm32/f2/gpio.c index 9b730e1..835eb91 100644 --- a/lib/stm32/f2/gpio.c +++ b/lib/stm32/f2/gpio.c @@ -79,14 +79,14 @@ void gpio_set_af(u32 gpioport, u8 alt_func_num, u16 gpios) for (i = 0; i < 8; i++) { if (!((1 << i) & gpios)) continue; - afrl &= GPIO_AFR_MASK(i); + afrl &= ~GPIO_AFR_MASK(i); afrl |= GPIO_AFR(i, alt_func_num); } for (i = 8; i < 16; i++) { if (!((1 << i) & gpios)) continue; - afrl &= GPIO_AFR_MASK(i - 8); + afrl &= ~GPIO_AFR_MASK(i - 8); afrh |= GPIO_AFR(i - 8, alt_func_num); } -- cgit v1.2.3