diff options
author | Andrew McRae <amcrae@google.com> | 2022-04-19 11:50:13 +1000 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-04-20 01:35:43 +0000 |
commit | 7dc9537d7a56dab267e4facb3c1398e1d0e44175 (patch) | |
tree | 4160f88f567d00f733b947af04725e3afa9d8c63 /common/usb_port_power_dumb.c | |
parent | 9ce84b03e16fc4f4f00170644901988d7f897f16 (diff) | |
download | chrome-ec-7dc9537d7a56dab267e4facb3c1398e1d0e44175.tar.gz |
usba: Allow modification of USB port enable
Allow dynamic modification of the USB port enable
GPIO list so that sub-boards without USB-A ports
can disable the port enable setting.
BUG=b:214858346
TEST=zmake build nivviks
BRANCH=none
Signed-off-by: Andrew McRae <amcrae@google.com>
Change-Id: I12b93a3c20852f68303b158aa20bc9a1c63f6ae5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3592312
Reviewed-by: Peter Marheine <pmarheine@chromium.org>
Diffstat (limited to 'common/usb_port_power_dumb.c')
-rw-r--r-- | common/usb_port_power_dumb.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/common/usb_port_power_dumb.c b/common/usb_port_power_dumb.c index d298444fb7..ea2d4eb668 100644 --- a/common/usb_port_power_dumb.c +++ b/common/usb_port_power_dumb.c @@ -22,8 +22,13 @@ static uint8_t charge_mode[USB_PORT_COUNT]; static void usb_port_set_enabled(int port_id, int en) { - gpio_or_ioex_set_level(usb_port_enable[port_id], en); - charge_mode[port_id] = en; + /* + * Only enable valid ports. + */ + if (usb_port_enable[port_id] >= 0) { + gpio_or_ioex_set_level(usb_port_enable[port_id], en); + charge_mode[port_id] = en; + } } __maybe_unused static void usb_port_all_ports_on(void) |