diff options
author | Sam Hurst <shurst@google.com> | 2021-03-08 13:54:51 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-03-17 00:13:04 +0000 |
commit | c080bfcd9a47e9ed49b77fa87ad4f0ae73df2d72 (patch) | |
tree | 71b2b6034c09ce525c2daaf001687a5671230876 /include/usb_pd.h | |
parent | 75b35c97c65788a21c7429f9f555b9ca301ae4eb (diff) | |
download | chrome-ec-c080bfcd9a47e9ed49b77fa87ad4f0ae73df2d72.tar.gz |
TCPMV2: Add support for (CT) Vconn Powered Devices
Add support for Charge Through Vconn Powered Devices
BUG=b:165934405
BRANCH=none
TEST=make runtests
1) Verified that Apple VPD audio device worked.
2) With charger plugged into Chocodile_Vpdmcu,
verified that a Voxel could be charged.
3) FAILED: Plugging Chocodile_Vpdmcu into Voxel
first and then plugging in charger to
Chocodile_Vpdmcu, Chocodile is detected
as a Debug Accessory (CC1 = Rd and CC2 = Rd)
and VCONN is never applied.
Signed-off-by: Sam Hurst <shurst@google.com>
Change-Id: I977b316dc531aa33bb6a236523c8ddbbb23014d0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2748429
Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'include/usb_pd.h')
-rw-r--r-- | include/usb_pd.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/include/usb_pd.h b/include/usb_pd.h index ed15149441..f1171d6583 100644 --- a/include/usb_pd.h +++ b/include/usb_pd.h @@ -1808,6 +1808,76 @@ void dfp_consume_modes(int port, enum tcpm_transmit_type type, int cnt, uint32_t *payload); /** + * Returns true if connected VPD supports Charge Through + * + * @param port USB-C port number + * @return TRUE if Charge Through is supported, else FALSE + */ +bool is_vpd_ct_supported(int port); + +/** + * Returns CTVPD ground impedance + * + * @param port USB-C port number + * @return Ground impedance through the VPD in 1 mOhm increments, else + * 0 if Charge Through isn't supported + */ +uint8_t get_vpd_ct_gnd_impedance(int port); + +/** + * Returns CTVPD VBUS impedance + * + * @param port USB-C port number + * @return VBUS impedance through the VPD in 2 mOhm increments, else + * 0 if Charge Through isn't supported + */ +uint8_t get_vpd_ct_vbus_impedance(int port); + +/** + * Returns CTVPD Current support + * + * @param port USB-C port number + * @return 0 - 3A capable or + * 1 - 5A capable + */ +uint8_t get_vpd_ct_current_support(int port); + +/** + * Returns CTVPD Maximum VBUS Voltage + * + * @param port USB-C port number + * @return 0 - 20V + * 1 - 30V + * 2 - 40V + * 3 - 50V + */ +uint8_t get_vpd_ct_max_vbus_voltage(int port); + +/** + * Returns VPD VDO Version + * + * @param port USB-C port number + * @return 0 for Version 1.0 + */ +uint8_t get_vpd_ct_vdo_version(int port); + +/** + * Returns VPD Firmware Version + * + * @param port USB-C port number + * @return Firmware version assigned by the VID owner + */ +uint8_t get_vpd_ct_firmware_verion(int port); + +/** + * Returns HW Firmware Version + * + * @param port USB-C port number + * @return HW version assigned by the VID owner + */ +uint8_t get_vpd_ct_hw_version(int port); + +/** * Initialize alternate mode discovery info for DFP * * @param port USB-C port number |