summaryrefslogtreecommitdiff
path: root/common/usbc_ppc.c
diff options
context:
space:
mode:
authorEric Herrmann <eherrmann@chromium.org>2020-02-14 11:04:48 -0800
committerCommit Bot <commit-bot@chromium.org>2020-06-18 23:46:19 +0000
commite0c415b8f76a5179474b89418094f986fd1cd772 (patch)
tree4e614720ed0998711964071feca11def6b85fa10 /common/usbc_ppc.c
parentfe6ca90ed3188c5a0d890c1076ad1b0b1b9db29c (diff)
downloadchrome-ec-e0c415b8f76a5179474b89418094f986fd1cd772.tar.gz
TCPMv2: Add pathway to enable FRS from PPC driver
Some PPCs have integrated CC line detection to trigger FRS faster, but this needs to be enabled from the USBC policy engine only after the sink capabilities have been exchanged. BUG=b:148144711 TEST=make buildall BRANCH=none Change-Id: Iaa64f64845c5ffdd32fa66a3eb6f6251abb7c157 Signed-off-by: Eric Herrmann <eherrmann@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2056493 Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'common/usbc_ppc.c')
-rw-r--r--common/usbc_ppc.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/common/usbc_ppc.c b/common/usbc_ppc.c
index 816c53d06e..17dacf7c09 100644
--- a/common/usbc_ppc.c
+++ b/common/usbc_ppc.c
@@ -311,6 +311,26 @@ int ppc_vbus_source_enable(int port, int enable)
return rv;
}
+#ifdef CONFIG_USB_PD_FRS
+int ppc_set_frs_enable(int port, int enable)
+{
+ int rv = EC_ERROR_UNIMPLEMENTED;
+ const struct ppc_config_t *ppc;
+
+ if ((port < 0) || (port >= ppc_cnt)) {
+ CPRINTS("%s(%d) Invalid port!", __func__, port);
+ return EC_ERROR_INVAL;
+ }
+
+ ppc = &ppc_chips[port];
+
+ if (ppc->drv->set_frs_enable)
+ rv = ppc->drv->set_frs_enable(port,enable);
+
+ return rv;
+}
+#endif /* defined(CONFIG_USB_PD_FRS) */
+
#ifdef CONFIG_USB_PD_VBUS_DETECT_PPC
int ppc_is_vbus_present(int port)
{