summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2015-04-21 18:22:46 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-04-22 05:53:37 +0000
commit54e523a3ffcae0fab7a7401f91ad55de490431e2 (patch)
tree2c8522943d4f525331fb5610cc0f09c7102f048b
parent5dd8aa92f274180fbbdd4dc7122eaa7bd1f9d8f9 (diff)
downloadchrome-ec-54e523a3ffcae0fab7a7401f91ad55de490431e2.tar.gz
mec1322: gpio: Properly set alternate GPIO function
func < 0 should assign the pin as a GPIO. BUG=chrome-os-partner:39400 TEST=None BRANCH=None Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: I231c65a9d660127caf06ff8b235f26563926804d Reviewed-on: https://chromium-review.googlesource.com/266779 Reviewed-by: Alec Berg <alecaberg@chromium.org>
-rw-r--r--chip/mec1322/gpio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/chip/mec1322/gpio.c b/chip/mec1322/gpio.c
index 06fca36f7e..5c894a2daa 100644
--- a/chip/mec1322/gpio.c
+++ b/chip/mec1322/gpio.c
@@ -37,7 +37,9 @@ void gpio_set_alternate_function(uint32_t port, uint32_t mask, int func)
i = __builtin_ffs(mask) - 1;
val = MEC1322_GPIO_CTL(port, i);
val &= ~((1 << 12) | (1 << 13));
- val |= (func & 0x3) << 12;
+ /* mux_control = 0 indicates GPIO */
+ if (func > 0)
+ val |= (func & 0x3) << 12;
MEC1322_GPIO_CTL(port, i) = val;
mask &= ~(1 << i);
}