TT: Cope correctly with NC GPIO

pull/10489/head
Kevin Bracey 2019-04-29 18:10:39 +03:00
parent 0fb64eee4e
commit e6e3614bd8
2 changed files with 12 additions and 8 deletions

View File

@ -36,9 +36,11 @@ void gpio_init(gpio_t *obj, PinName pin)
{
// Store above pin mask, pin name into GPIO object
obj->pin = pin;
obj->mask = gpio_set(pin);
obj->port = (PortName) (pin >> 3);
TSB_CG->FSYSENA |= (1<<(obj->port));
if (pin != NC) {
obj->mask = gpio_set(pin);
obj->port = (PortName) (pin >> 3);
TSB_CG->FSYSENA |= (1<<(obj->port));
}
}
void gpio_mode(gpio_t *obj, PinMode mode)

View File

@ -61,11 +61,13 @@ void gpio_init(gpio_t *obj, PinName pin)
{
// Store above pin mask, pin name into GPIO object
obj->pin = pin;
obj->pin_num = PIN_POS(pin);
obj->mask = gpio_set(pin);
obj->port = (PortName) PIN_PORT(pin);
//Enable clock for particular port
TSB_CG->FSYSMENB |= (1 << ((obj->port) + 2));
if (pin != NC) {
obj->pin_num = PIN_POS(pin);
obj->mask = gpio_set(pin);
obj->port = (PortName) PIN_PORT(pin);
//Enable clock for particular port
TSB_CG->FSYSMENB |= (1 << ((obj->port) + 2));
}
}
void gpio_mode(gpio_t *obj, PinMode mode)