diff options
author | Shawn Nematbakhsh <shawnn@chromium.org> | 2015-04-21 18:22:46 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-04-22 05:53:37 +0000 |
commit | 54e523a3ffcae0fab7a7401f91ad55de490431e2 (patch) | |
tree | 2c8522943d4f525331fb5610cc0f09c7102f048b | |
parent | 5dd8aa92f274180fbbdd4dc7122eaa7bd1f9d8f9 (diff) | |
download | chrome-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.c | 4 |
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); } |