Skip to content

Commit e6e3614

Browse files
committed
TT: Cope correctly with NC GPIO
1 parent 0fb64ee commit e6e3614

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

targets/TARGET_TT/TARGET_TT_M3HQ/gpio_api.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,11 @@ void gpio_init(gpio_t *obj, PinName pin)
3636
{
3737
// Store above pin mask, pin name into GPIO object
3838
obj->pin = pin;
39-
obj->mask = gpio_set(pin);
40-
obj->port = (PortName) (pin >> 3);
41-
TSB_CG->FSYSENA |= (1<<(obj->port));
39+
if (pin != NC) {
40+
obj->mask = gpio_set(pin);
41+
obj->port = (PortName) (pin >> 3);
42+
TSB_CG->FSYSENA |= (1<<(obj->port));
43+
}
4244
}
4345

4446
void gpio_mode(gpio_t *obj, PinMode mode)

targets/TARGET_TT/TARGET_TT_M4G9/gpio_api.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,13 @@ void gpio_init(gpio_t *obj, PinName pin)
6161
{
6262
// Store above pin mask, pin name into GPIO object
6363
obj->pin = pin;
64-
obj->pin_num = PIN_POS(pin);
65-
obj->mask = gpio_set(pin);
66-
obj->port = (PortName) PIN_PORT(pin);
67-
//Enable clock for particular port
68-
TSB_CG->FSYSMENB |= (1 << ((obj->port) + 2));
64+
if (pin != NC) {
65+
obj->pin_num = PIN_POS(pin);
66+
obj->mask = gpio_set(pin);
67+
obj->port = (PortName) PIN_PORT(pin);
68+
//Enable clock for particular port
69+
TSB_CG->FSYSMENB |= (1 << ((obj->port) + 2));
70+
}
6971
}
7072

7173
void gpio_mode(gpio_t *obj, PinMode mode)

0 commit comments

Comments
 (0)