summaryrefslogtreecommitdiff
path: root/include/usb_common.h
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 /include/usb_common.h
parent08f5a1e6fc2c9467230444ac9b582dcf4d9f0068 (diff)
downloadchrome-ec-stabilize-14469.9.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 'include/usb_common.h')
-rw-r--r--include/usb_common.h285
1 files changed, 0 insertions, 285 deletions
diff --git a/include/usb_common.h b/include/usb_common.h
deleted file mode 100644
index 5fc215798f..0000000000
--- a/include/usb_common.h
+++ /dev/null
@@ -1,285 +0,0 @@
-/* Copyright 2019 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.
- */
-#ifndef __CROS_EC_USB_COMMON_H
-#define __CROS_EC_USB_COMMON_H
-
-/* Functions that are shared between old and new PD stacks */
-#include "usb_pd.h"
-#include "usb_pd_tcpm.h"
-
-enum pd_drp_next_states {
- DRP_TC_DEFAULT,
- DRP_TC_UNATTACHED_SNK,
- DRP_TC_ATTACHED_WAIT_SNK,
- DRP_TC_UNATTACHED_SRC,
- DRP_TC_ATTACHED_WAIT_SRC,
- DRP_TC_DRP_AUTO_TOGGLE
-};
-
-/**
- * Returns the next state to transition to while in the drp auto toggle state.
- *
- * @param drp_sink_time timer for handling TOGGLE_OFF/FORCE_SINK mode when
- * auto-toggle enabled. This is an in/out variable.
- * @param power_role current power role
- * @param drp_state dual role states
- * @param cc1 value of CC1 set by tcpm_get_cc
- * @param cc2 value of CC2 set by tcpm_get_cc
- * @param auto_toggle_supported indicates hardware auto toggle support.
- * Hardware auto toggle support will perform the
- * unattached to attached debouncing before notifying
- * us of a connection.
- *
- */
-enum pd_drp_next_states drp_auto_toggle_next_state(uint64_t *drp_sink_time,
- enum pd_power_role power_role, enum pd_dual_role_states drp_state,
- enum tcpc_cc_voltage_status cc1, enum tcpc_cc_voltage_status cc2,
- bool auto_toggle_supported);
-
-enum pd_pref_type {
- /* prefer voltage larger than or equal to pd_pref_config.mv */
- PD_PREFER_BUCK,
- /* prefer voltage less than or equal to pd_pref_config.mv */
- PD_PREFER_BOOST,
-};
-
-struct pd_pref_config_t {
- /* Preferred PD voltage in mV */
- int mv;
- /* above which percent the battery is in constant voltage stage */
- int cv;
- /* System PLT (minimum consuming) power in mW. */
- int plt_mw;
- /* Preferred PD voltage pick strategy */
- enum pd_pref_type type;
-};
-
-/*
- * This function converts an 8 character ascii string with hex digits, without
- * the 0x prefix, into a signed 32-bit number.
- *
- * @param str pointer to hex string to convert
- * @param val pointer to where the integer version is stored
- * @return EC_SUCCSSS on success else EC_ERROR_INVAL on failure
- */
-int hex8tou32(char *str, uint32_t *val);
-
-/*
- * Flash a USB PD device using the ChromeOS Vendor Defined Command.
- *
- * @param argc number arguments in argv. Must be greater than 3.
- * @param argv [1] is the usb port
- * [2] unused
- * [3] is the command {"erase", "rebooot", "signature",
- * "info", "version", "write"}
- * [4] if command was "write", then this will be the
- * start of the data that will be written.
- * @return EC_SUCCESS on success, else EC_ERROR_PARAM_COUNT or EC_ERROR_PARAM2
- * on failure.
- */
-int remote_flashing(int argc, char **argv);
-
-/*
- * When AP requests to suspend PD traffic on the EC so it can do
- * firmware upgrade (retimer firmware, or TCPC chips firmware),
- * it calls this function to check if power is ready for performing
- * the upgrade.
- * @param port USB-C port number
- * @dreturn true - power is ready
- * false - power is not ready
- */
-bool pd_firmware_upgrade_check_power_readiness(int port);
-
-/* Returns the battery percentage [0-100] of the system. */
-int usb_get_battery_soc(void);
-
-/*
- * Returns type C current limit (mA), potentially with the DTS flag, based upon
- * states of the CC lines on the partner side.
- *
- * @param polarity port polarity
- * @param cc1 value of CC1 set by tcpm_get_cc
- * @param cc2 value of CC2 set by tcpm_get_cc
- * @return current limit (mA) with DTS flag set if appropriate
- */
-typec_current_t usb_get_typec_current_limit(enum tcpc_cc_polarity polarity,
- enum tcpc_cc_voltage_status cc1, enum tcpc_cc_voltage_status cc2);
-
-/**
- * Returns the polarity of a Sink.
- *
- * @param cc1 value of CC1 set by tcpm_get_cc
- * @param cc2 value of CC2 set by tcpm_get_cc
- * @return polarity
- */
-enum tcpc_cc_polarity get_snk_polarity(enum tcpc_cc_voltage_status cc1,
- enum tcpc_cc_voltage_status cc2);
-
-/**
- * Returns the polarity of a Source.
- *
- * @param cc1 value of CC1 set by tcpm_get_cc
- * @param cc2 value of CC2 set by tcpm_get_cc
- * @return polarity
- */
-enum tcpc_cc_polarity get_src_polarity(enum tcpc_cc_voltage_status cc1,
- enum tcpc_cc_voltage_status cc2);
-
-/**
- * Find PDO index that offers the most amount of power and stays within
- * max_mv voltage.
- *
- * @param src_cap_cnt
- * @param src_caps
- * @param max_mv maximum voltage (or -1 if no limit)
- * @param pdo raw pdo corresponding to index, or index 0 on error (output)
- * @return index of PDO within source cap packet
- */
-int pd_find_pdo_index(uint32_t src_cap_cnt, const uint32_t * const src_caps,
- int max_mv, uint32_t *selected_pdo);
-
-/**
- * Extract power information out of a Power Data Object (PDO)
- *
- * @param pdo raw pdo to extract
- * @param ma current of the PDO (output)
- * @param max_mv maximum voltage of the PDO (output)
- * @param min_mv minimum voltage of the PDO (output)
- */
-void pd_extract_pdo_power(uint32_t pdo, uint32_t *ma, uint32_t *max_mv,
- uint32_t *min_mv);
-
-/**
- * Decide which PDO to choose from the source capabilities.
- *
- * @param vpd_vdo VPD VDO
- * @param rdo requested Request Data Object.
- * @param ma selected current limit (stored on success)
- * @param mv selected supply voltage (stored on success)
- * @param port USB-C port number
- */
-void pd_build_request(int32_t vpd_vdo, uint32_t *rdo, uint32_t *ma,
- uint32_t *mv, int port);
-
-/**
- * Notifies a task that is waiting on a system jump, that it's complete.
- */
-void notify_sysjump_ready(void);
-
-/**
- * Set USB MUX with current data role
- *
- * @param port USB-C port number
- */
-void set_usb_mux_with_current_data_role(int port);
-
-/**
- * Check if the mux should be set to enable USB3.1 mode based only on being in a
- * UFP data role. This is mode is required when attached to a port partner that
- * is type-c only, but still needs to enable USB3.1 mode.
- *
- * @param port USB-C port number
- * @return true if USB3 mode should be enabled, false otherwise
- */
-__override_proto bool usb_ufp_check_usb3_enable(int port);
-
-/**
- * Configure the USB MUX in safe mode.
- * Before entering into alternate mode, state of the USB-C MUX needs to be in
- * safe mode.
- * Ref: USB Type-C Cable and Connector Specification
- * Section E.2.2 Alternate Mode Electrical Requirements
- *
- * @param port The PD port number
- */
-void usb_mux_set_safe_mode(int port);
-
-/**
- * Configure the USB MUX in safe mode while exiting an alternate mode.
- * Although the TCSS (virtual mux) has a distinct safe mode state, it
- * needs to be in a disconnected state to properly exit an alternate
- * mode. Therefore, do not treat the virtual mux as a special case, as
- * usb_mux_set_safe_mode does.
- *
- * @param port The PD port number
- */
-void usb_mux_set_safe_mode_exit(int port);
-
-/**
- * Get the PD flags stored in BB Ram
- *
- * @param port USB-C port number
- * @param flags pointer where flags are written to
- * @return EC_SUCCESS on success
- */
-int pd_get_saved_port_flags(int port, uint8_t *flags);
-
-/**
- * Update the flag in BB Ram with the give value
- *
- * @param port USB-C port number
- * @param flag BB Ram flag to update
- * @param do_set value written to the BB Ram flag
- */
-void pd_update_saved_port_flags(int port, uint8_t flag, uint8_t do_set);
-
-/**
- * Build PD alert message
- *
- * @param msg pointer where message is stored
- * @param len pointer where length of message is stored in bytes
- * @param pr current PD power role
- * @return EC_SUCCESS on success else EC_ERROR_INVAL
- */
-int pd_build_alert_msg(uint32_t *msg, uint32_t *len, enum pd_power_role pr);
-
-/**
- * During USB retimer firmware update, process operation
- * requested by AP
- *
- * @param port USB-C port number
- * @param op
- * 0 - USB_RETIMER_FW_UPDATE_QUERY_PORT
- * 1 - USB_RETIMER_FW_UPDATE_SUSPEND_PD
- * 2 - USB_RETIMER_FW_UPDATE_RESUME_PD
- * 3 - USB_RETIMER_FW_UPDATE_GET_MUX
- * 4 - USB_RETIMER_FW_UPDATE_SET_USB
- * 5 - USB_RETIMER_FW_UPDATE_SET_SAFE
- * 6 - USB_RETIMER_FW_UPDATE_SET_TBT
- * 7 - USB_RETIMER_FW_UPDATE_DISCONNECT
- */
-void usb_retimer_fw_update_process_op(int port, int op);
-
-/**
- * Get result of last USB retimer firmware update operation requested
- * by AP. Result is passed to AP via EC_CMD_ACPI_READ.
- *
- * @return Result of last operation. It's
- * which port has retimer if last operation is
- * USB_RETIMER_FW_UPDATE_QUERY_PORT;
- * PD task is enabled or not if last operations are
- * USB_RETIMER_FW_UPDATE_SUSPEND_PD or
- * USB_RETIMER_FW_UPDATE_QUERY_PORT;
- * current mux if last operations are
- * USB_RETIMER_FW_UPDATE_GET_MUX, USB_RETIMER_FW_UPDATE_SET_USB,
- * USB_RETIMER_FW_UPDATE_SET_SAFE, USB_RETIMER_FW_UPDATE_SET_TBT,
- * or USB_RETIMER_FW_UPDATE_DISCONNECT.
- */
-int usb_retimer_fw_update_get_result(void);
-
-/**
- * Process deferred retimer firmware update operations.
- *
- * @param port USB-C port number
- */
-void usb_retimer_fw_update_process_op_cb(int port);
-
-/**
- * Dump SourceCap information.
- *
- * @param port USB-C port number
- */
-void pd_srccaps_dump(int port);
-#endif /* __CROS_EC_USB_COMMON_H */