cpu/stm32/gpio: do not clear pin on init

This commit is contained in:
Hauke Petersen 2017-06-12 17:16:21 +02:00
parent f0d0009820
commit b08188efd2
2 changed files with 1 additions and 5 deletions

View File

@ -94,9 +94,8 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
/* set output mode */ /* set output mode */
port->OTYPER &= ~(1 << pin_num); port->OTYPER &= ~(1 << pin_num);
port->OTYPER |= (((mode >> 4) & 0x1) << pin_num); port->OTYPER |= (((mode >> 4) & 0x1) << pin_num);
/* finally set pin speed to maximum and reset output */ /* set pin speed to maximum */
port->OSPEEDR |= (3 << (2 * pin_num)); port->OSPEEDR |= (3 << (2 * pin_num));
port->BSRR = (1 << (pin_num + 16));
return 0; return 0;
} }

View File

@ -89,9 +89,6 @@ int gpio_init(gpio_t pin, gpio_mode_t mode)
/* set pin mode */ /* set pin mode */
port->CR[pin_num >> 3] &= ~(0xf << ((pin_num & 0x7) * 4)); port->CR[pin_num >> 3] &= ~(0xf << ((pin_num & 0x7) * 4));
port->CR[pin_num >> 3] |= ((mode & MODE_MASK) << ((pin_num & 0x7) * 4)); port->CR[pin_num >> 3] |= ((mode & MODE_MASK) << ((pin_num & 0x7) * 4));
/* set initial state of output register */
port->BRR = (1 << pin_num);
port->BSRR = ((mode >> ODR_POS) << pin_num);
return 0; /* all OK */ return 0; /* all OK */
} }