Merge pull request #10317 from ganesh-ramachandran/master

Fix for DigitalOut(NC) instantiation for all Toshiba targets
pull/10320/head
Martin Kojtal 2019-04-04 14:59:14 +02:00 committed by GitHub
commit 2aa559c7a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 0 deletions

View File

@ -40,6 +40,9 @@ void gpio_init(gpio_t *obj, PinName pin)
{ {
// Store above pin mask, pin name into GPIO object // Store above pin mask, pin name into GPIO object
obj->pin = pin; obj->pin = pin;
if (pin == (PinName)NC) {
return;
}
obj->mask = gpio_set(pin); obj->mask = gpio_set(pin);
obj->port = (GPIO_Port) (pin >> 3); obj->port = (GPIO_Port) (pin >> 3);
if ((PortName)obj->port == PortH) { if ((PortName)obj->port == PortH) {

View File

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

View File

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

View File

@ -37,6 +37,9 @@ void gpio_init(gpio_t *obj, PinName pin)
{ {
// Store above pin mask, pin name into GPIO object // Store above pin mask, pin name into GPIO object
obj->pin = pin; obj->pin = pin;
if (pin == (PinName)NC) {
return;
}
obj->mask = gpio_set(pin); obj->mask = gpio_set(pin);
obj->port = (GPIO_Port) (pin >> 3); obj->port = (GPIO_Port) (pin >> 3);
CG_SetFcPeriphA((1 << obj->port), ENABLE); CG_SetFcPeriphA((1 << obj->port), ENABLE);

View File

@ -61,6 +61,9 @@ void gpio_init(gpio_t *obj, PinName pin)
{ {
// Store above pin mask, pin name into GPIO object // Store above pin mask, pin name into GPIO object
obj->pin = pin; obj->pin = pin;
if (pin == (PinName)NC) {
return;
}
obj->pin_num = PIN_POS(pin); obj->pin_num = PIN_POS(pin);
obj->mask = gpio_set(pin); obj->mask = gpio_set(pin);
obj->port = (PortName) PIN_PORT(pin); obj->port = (PortName) PIN_PORT(pin);