summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorVijay Hiremath <vijay.p.hiremath@intel.com>2019-11-22 11:42:29 -0800
committerCommit Bot <commit-bot@chromium.org>2019-11-26 20:01:22 +0000
commit3cb2b8e2be4c3526510f46ad69225b57e2b34cd0 (patch)
treecedfefa7e1feb2fbfde897258aaa550c453bf6e7 /driver
parent3e2f184b5bb43461adc3c4ec791ef1ae34441946 (diff)
downloadchrome-ec-3cb2b8e2be4c3526510f46ad69225b57e2b34cd0.tar.gz
usb_mux: cleanup the usb_mux_get() function
Simplified the usb_mux_get() function and made the MUX info prints same as in ectool. BUG=none BRANCH=none TEST=make buildall -j Change-Id: Iefb16e1dbd323afbe248b06fe9c53abc63be9a67 Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1931284 Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'driver')
-rw-r--r--driver/usb_mux/usb_mux.c33
1 files changed, 14 insertions, 19 deletions
diff --git a/driver/usb_mux/usb_mux.c b/driver/usb_mux/usb_mux.c
index 0a33aef948..93c741c1e9 100644
--- a/driver/usb_mux/usb_mux.c
+++ b/driver/usb_mux/usb_mux.c
@@ -171,12 +171,11 @@ void usb_mux_set(int port, enum typec_mux mux_mode,
enter_low_power_mode(port);
}
-int usb_mux_get(int port, const char **dp_str, const char **usb_str)
+mux_state_t usb_mux_get(int port)
{
const struct usb_mux *mux = &usb_muxes[port];
int res;
mux_state_t mux_state;
- const char *dp, *usb;
exit_low_power_mode(port);
@@ -186,13 +185,7 @@ int usb_mux_get(int port, const char **dp_str, const char **usb_str)
return 0;
}
- dp = mux_state & MUX_POLARITY_INVERTED ? "DP2" : "DP1";
- usb = mux_state & MUX_POLARITY_INVERTED ? "USB2" : "USB1";
-
- *dp_str = mux_state & MUX_DP_ENABLED ? dp : NULL;
- *usb_str = mux_state & MUX_USB_ENABLED ? usb : NULL;
-
- return *dp_str || *usb_str;
+ return mux_state;
}
void usb_mux_flip(int port)
@@ -241,16 +234,18 @@ static int command_typec(int argc, char **argv)
return EC_ERROR_PARAM1;
if (argc < 3) {
- const char *dp_str, *usb_str;
- ccprintf("Port C%d: polarity:CC%d\n",
- port, pd_get_polarity(port) + 1);
- if (usb_mux_get(port, &dp_str, &usb_str))
- ccprintf("Superspeed %s%s%s\n",
- dp_str ? dp_str : "",
- dp_str && usb_str ? "+" : "",
- usb_str ? usb_str : "");
- else
- ccprintf("No Superspeed connection\n");
+ mux_state_t mux_state;
+
+ mux_state = usb_mux_get(port);
+ ccprintf("Port %d: USB=%d DP=%d POLARITY=%s HPD_IRQ=%d "
+ "HPD_LVL=%d SAFE=%d\n", port,
+ !!(mux_state & USB_PD_MUX_USB_ENABLED),
+ !!(mux_state & USB_PD_MUX_DP_ENABLED),
+ mux_state & USB_PD_MUX_POLARITY_INVERTED ?
+ "INVERTED" : "NORMAL",
+ !!(mux_state & USB_PD_MUX_HPD_IRQ),
+ !!(mux_state & USB_PD_MUX_HPD_LVL),
+ !!(mux_state & USB_PD_MUX_SAFE_MODE));
return EC_SUCCESS;
}