diff options
-rw-r--r-- | chip/npcx/gpio.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/chip/npcx/gpio.c b/chip/npcx/gpio.c index 690615729d..4127b79e30 100644 --- a/chip/npcx/gpio.c +++ b/chip/npcx/gpio.c @@ -354,10 +354,12 @@ int gpio_get_flags_by_mask(uint32_t port, uint32_t mask) else flags |= GPIO_INPUT; - if (NPCX_PDIN(port) & mask) - flags |= GPIO_HIGH; - else - flags |= GPIO_LOW; + if (flags & GPIO_OUTPUT) { + if (NPCX_PDOUT(port) & mask) + flags |= GPIO_HIGH; + else + flags |= GPIO_LOW; + } if (NPCX_PTYPE(port) & mask) flags |= GPIO_OPEN_DRAIN; |