diff options
author | Aaron Durbin <adurbin@chromium.org> | 2015-08-19 21:07:14 -0500 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-08-29 07:16:59 +0000 |
commit | 162aee9a5dd5c03c519b3a3542ba2eca0ee43c92 (patch) | |
tree | 246f0e70201d0eb4924f8a3f18ab60933e4a811f | |
parent | d2d4b5a4abf5e69db3dfa84cf38d16e1f0af4747 (diff) |
intel/skylake: mask off txstate before setting new gpio value
The previously driven TX state of the buffer was not
being cleared before or'ing in the new value. Fix this
oversight.
BUG=chrome-os-partner:43522
BRANCH=None
TEST=Built and booted glados. Also dumped assembly and saw the
masking happen.
Change-Id: I74ea469564d37d6b29e9481b0ea704f04f54ac30
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Original-Commit-Id: d399e8b32b30b8b2275bb6ff8dd24f7d5cfeadda
Original-Change-Id: I341b396af5de20ffeeb2e42066b224dd54251793
Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/294541
Original-Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: http://review.coreboot.org/11416
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
-rw-r--r-- | src/soc/intel/skylake/gpio.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/soc/intel/skylake/gpio.c b/src/soc/intel/skylake/gpio.c index 5493cbdc30..3610a6cf16 100644 --- a/src/soc/intel/skylake/gpio.c +++ b/src/soc/intel/skylake/gpio.c @@ -383,6 +383,7 @@ void gpio_set(gpio_t gpio_num, int value) return; reg = read32(&dw_regs[0]); + reg &= ~PAD_FIELD(GPIOTXSTATE, MASK); reg |= PAD_FIELD_VAL(GPIOTXSTATE, value); write32(&dw_regs[0], reg); /* GPIO port ids support posted write semantics. */ |