Fix nasty bug with GPIO alternate function setup on F2/F4 (sorry guys).

This commit is contained in:
Fergus Noble 2012-01-25 22:13:56 -08:00 committed by Uwe Hermann
parent 5dce4172a8
commit ac29b654a9
2 changed files with 4 additions and 4 deletions

View File

@ -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);
}

View File

@ -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);
}