summaryrefslogtreecommitdiff
path: root/common/usb_pd_console_cmd.c
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-11-04 12:11:58 -0600
committerCommit Bot <commit-bot@chromium.org>2021-11-05 04:22:34 +0000
commit252457d4b21f46889eebad61d4c0a65331919cec (patch)
tree01856c4d31d710b20e85a74c8d7b5836e35c3b98 /common/usb_pd_console_cmd.c
parent08f5a1e6fc2c9467230444ac9b582dcf4d9f0068 (diff)
downloadchrome-ec-stabilize-14588.123.B-ish.tar.gz
In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'common/usb_pd_console_cmd.c')
-rw-r--r--common/usb_pd_console_cmd.c224
1 files changed, 0 insertions, 224 deletions
diff --git a/common/usb_pd_console_cmd.c b/common/usb_pd_console_cmd.c
deleted file mode 100644
index 3ad1944494..0000000000
--- a/common/usb_pd_console_cmd.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/* Copyright 2020 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- *
- * Console commands for USB-PD module.
- */
-
-#include "console.h"
-#include "usb_pd.h"
-#include "util.h"
-#include "usb_pd_tcpm.h"
-
-#ifdef CONFIG_USB_PD_ALT_MODE_DFP
-#ifdef CONFIG_CMD_USB_PD_PE
-static void dump_pe(int port)
-{
- int i, j, idh_ptype;
- struct svdm_amode_data *modep;
- uint32_t mode_caps;
- const union disc_ident_ack *resp;
- enum tcpci_msg_type type;
- /* TODO(b/152417597): Output SOP' discovery results */
- const struct pd_discovery *disc =
- pd_get_am_discovery(port, TCPCI_MSG_SOP);
-
- static const char * const idh_ptype_names[] = {
- "UNDEF", "Hub", "Periph", "PCable", "ACable", "AMA",
- "RSV6", "RSV7"};
- static const char * const tx_names[] = {"SOP", "SOP'", "SOP''"};
-
- for (type = TCPCI_MSG_SOP; type < DISCOVERY_TYPE_COUNT; type++) {
- resp = pd_get_identity_response(port, type);
- if (pd_get_identity_discovery(port, type) != PD_DISC_COMPLETE) {
- ccprintf("No %s identity discovered yet.\n",
- tx_names[type]);
- continue;
- }
-
- idh_ptype = resp->idh.product_type;
- ccprintf("IDENT %s:\n", tx_names[type]);
- ccprintf("\t[ID Header] %08x :: %s, VID:%04x\n",
- resp->raw_value[0],
- idh_ptype_names[idh_ptype],
- resp->idh.usb_vendor_id);
-
- ccprintf("\t[Cert Stat] %08x\n", resp->cert.xid);
- for (i = 2; i < ARRAY_SIZE(resp->raw_value); i++) {
- ccprintf("\t");
- if (resp->raw_value[i])
- ccprintf("[%d] %08x ", i, resp->raw_value[i]);
- }
- ccprintf("\n");
- }
-
- if (pd_get_svid_count(port, TCPCI_MSG_SOP) < 1) {
- ccprintf("No SVIDS discovered yet.\n");
- return;
- }
-
- /* TODO(b/152418267): Display discovered SVIDs and modes for SOP' */
- for (i = 0; i < pd_get_svid_count(port, TCPCI_MSG_SOP); i++) {
- ccprintf("SVID[%d]: %04x MODES:", i, disc->svids[i].svid);
- for (j = 0; j < disc->svids[j].mode_cnt; j++)
- ccprintf(" [%d] %08x", j + 1,
- disc->svids[i].mode_vdo[j]);
- ccprintf("\n");
-
- modep = pd_get_amode_data(port, TCPCI_MSG_SOP,
- disc->svids[i].svid);
- if (modep) {
- mode_caps = modep->data->mode_vdo[modep->opos - 1];
- ccprintf("MODE[%d]: svid:%04x caps:%08x\n", modep->opos,
- modep->fx->svid, mode_caps);
- }
- }
-}
-
-static int command_pe(int argc, char **argv)
-{
- int port;
- char *e;
-
- if (argc < 3)
- return EC_ERROR_PARAM_COUNT;
-
- /* command: pe <port> <subcmd> <args> */
- port = strtoi(argv[1], &e, 10);
- if (*e || port >= board_get_usb_pd_port_count())
- return EC_ERROR_PARAM2;
- if (!strncasecmp(argv[2], "dump", 4))
- dump_pe(port);
-
- return EC_SUCCESS;
-}
-DECLARE_CONSOLE_COMMAND(pe, command_pe,
- "<port> dump",
- "USB PE");
-#endif /* CONFIG_CMD_USB_PD_PE */
-
-#ifdef CONFIG_CMD_USB_PD_CABLE
-static const char * const cable_type[] = {
- [IDH_PTYPE_PCABLE] = "Passive",
- [IDH_PTYPE_ACABLE] = "Active",
-};
-
-static const char * const cable_curr[] = {
- [USB_VBUS_CUR_3A] = "3A",
- [USB_VBUS_CUR_5A] = "5A",
-};
-
-static int command_cable(int argc, char **argv)
-{
- int port;
- char *e;
- const struct pd_discovery *disc;
- enum idh_ptype ptype;
- int cable_rev;
- union tbt_mode_resp_cable cable_mode_resp;
-
- if (argc < 2)
- return EC_ERROR_PARAM_COUNT;
-
- port = strtoi(argv[1], &e, 0);
- if (*e || port >= board_get_usb_pd_port_count())
- return EC_ERROR_PARAM2;
-
- ptype = get_usb_pd_cable_type(port);
-
- ccprintf("Cable Type: ");
- if (ptype != IDH_PTYPE_PCABLE &&
- ptype != IDH_PTYPE_ACABLE) {
- ccprintf("Not Emark Cable\n");
- return EC_SUCCESS;
- }
- ccprintf("%s\n", cable_type[ptype]);
-
- cable_rev = pd_get_rev(port, TCPCI_MSG_SOP_PRIME);
- disc = pd_get_am_discovery(port, TCPCI_MSG_SOP_PRIME);
- cable_mode_resp.raw_value =
- pd_get_tbt_mode_vdo(port, TCPCI_MSG_SOP_PRIME);
-
-
- /* Cable revision */
- ccprintf("Cable Rev: %d.0\n", cable_rev + 1);
-
- /*
- * For rev 2.0, rev 3.0 active and passive cables have same bits for
- * connector type (Bit 19:18) and current handling capability bit 6:5
- */
- ccprintf("Connector Type: %d\n",
- disc->identity.product_t1.p_rev20.connector);
-
- if (disc->identity.product_t1.p_rev20.vbus_cur) {
- ccprintf("Cable Current: %s\n",
- disc->identity.product_t1.p_rev20.vbus_cur >
- ARRAY_SIZE(cable_curr) ? "Invalid" :
- cable_curr[disc->identity.product_t1.p_rev20.vbus_cur]);
- } else
- ccprintf("Cable Current: Invalid\n");
-
- /*
- * For Rev 3.0 passive cables and Rev 2.0 active and passive cables,
- * USB Superspeed Signaling support have same bits 2:0
- */
- if (ptype == IDH_PTYPE_PCABLE)
- ccprintf("USB Superspeed Signaling support: %d\n",
- disc->identity.product_t1.p_rev20.ss);
-
- /*
- * For Rev 3.0 active cables and Rev 2.0 active and passive cables,
- * SOP" controller preset have same bit 3
- */
- if (ptype == IDH_PTYPE_ACABLE)
- ccprintf("SOP'' Controller: %s present\n",
- disc->identity.product_t1.a_rev20.sop_p_p ? "" : "Not");
-
- if (cable_rev == PD_REV30) {
- /*
- * For Rev 3.0 active and passive cables, Max Vbus vtg have
- * same bits 10:9.
- */
- ccprintf("Max vbus voltage: %d\n",
- 20 + 10 * disc->identity.product_t1.p_rev30.vbus_max);
-
- /* For Rev 3.0 Active cables */
- if (ptype == IDH_PTYPE_ACABLE) {
- ccprintf("SS signaling: USB_SS_GEN%u\n",
- disc->identity.product_t2.a2_rev30.usb_gen ?
- 2 : 1);
- ccprintf("Number of SS lanes supported: %u\n",
- disc->identity.product_t2.a2_rev30.usb_lanes);
- }
- }
-
- if (!cable_mode_resp.raw_value)
- return EC_SUCCESS;
-
- ccprintf("Rounded support: %s\n",
- cable_mode_resp.tbt_rounded ==
- TBT_GEN3_GEN4_ROUNDED_NON_ROUNDED ? "Yes" : "No");
-
- ccprintf("Optical cable: %s\n",
- cable_mode_resp.tbt_cable == TBT_CABLE_OPTICAL ? "Yes" : "No");
-
- ccprintf("Retimer support: %s\n",
- cable_mode_resp.retimer_type == USB_RETIMER ?
- "Yes" : "No");
-
- ccprintf("Link training: %s-directional\n",
- cable_mode_resp.lsrx_comm == BIDIR_LSRX_COMM ? "Bi" : "Uni");
-
- ccprintf("Thunderbolt cable type: %s\n",
- cable_mode_resp.tbt_active_passive == TBT_CABLE_ACTIVE ?
- "Active" : "Passive");
-
- return EC_SUCCESS;
-}
-
-DECLARE_CONSOLE_COMMAND(pdcable, command_cable,
- "<port>",
- "Cable Characteristics");
-#endif /* CONFIG_CMD_USB_PD_CABLE */
-
-#endif /* CONFIG_USB_PD_ALT_MODE_DFP */