diff options
author | Edward Hill <ecgh@chromium.org> | 2019-10-10 15:50:32 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-10-25 18:52:10 +0000 |
commit | ae8a4284f2cef0afb2235ddfa8e66cc5c1925609 (patch) | |
tree | d9cf217d53cd016bc7a98bf1f85425e46bcf068a /common/gpio.c | |
parent | 9f392b0d616f6fec17d213736e6bf9f4217392e4 (diff) | |
download | chrome-ec-ae8a4284f2cef0afb2235ddfa8e66cc5c1925609.tar.gz |
usb_port_power_smart: Add support for IO expander GPIOs
Allow CONFIG_USB_PORT_POWER_SMART GPIO signals to be either local GPIOs
or IO expander GPIOs.
BUG=b:138600691
BRANCH=none
TEST=CONFIG_USB_PORT_POWER_SMART with IO expander signals works on Trembyle
Change-Id: Ic5273926ec4f428586370175a136bff68900a323
Signed-off-by: Edward Hill <ecgh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1854779
Reviewed-by: Denis Brockus <dbrockus@chromium.org>
Diffstat (limited to 'common/gpio.c')
-rw-r--r-- | common/gpio.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/common/gpio.c b/common/gpio.c index a27a1c0ee0..d9900a4924 100644 --- a/common/gpio.c +++ b/common/gpio.c @@ -7,6 +7,7 @@ #include "common.h" #include "gpio.h" +#include "ioexpander.h" #include "registers.h" #include "timer.h" #include "util.h" @@ -195,4 +196,12 @@ int gpio_power_down_module(enum module_id id) } #endif /* #ifdef CONFIG_GPIO_POWER_DOWN */ +void gpio_or_ioex_set_level(int signal, int value) +{ + if (IS_ENABLED(CONFIG_IO_EXPANDER) && signal_is_ioex(signal)) + ioex_set_level(signal, value); + else + gpio_set_level(signal, value); +} + /*****************************************************************************/ |