summaryrefslogtreecommitdiff
path: root/common/gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/gpio.c')
-rw-r--r--common/gpio.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/common/gpio.c b/common/gpio.c
index 43abdad0d4..13775ea449 100644
--- a/common/gpio.c
+++ b/common/gpio.c
@@ -73,11 +73,15 @@ void gpio_config_module(enum module_id id, int enable)
continue; /* Pins for some other module */
if (enable) {
- gpio_set_flags_by_mask(af->port, af->mask, af->flags);
+ if (!(af->flags & GPIO_DEFAULT))
+ gpio_set_flags_by_mask(af->port,
+ af->mask, af->flags);
gpio_set_alternate_function(af->port, af->mask,
af->func);
} else {
- gpio_set_flags_by_mask(af->port, af->mask, GPIO_INPUT);
+ if (!(af->flags & GPIO_DEFAULT))
+ gpio_set_flags_by_mask(af->port,
+ af->mask, GPIO_INPUT);
gpio_set_alternate_function(af->port, af->mask, -1);
}
}