summaryrefslogtreecommitdiff
path: root/baseboard/octopus
diff options
context:
space:
mode:
authorJett Rink <jettrink@chromium.org>2018-08-17 13:34:43 -0600
committerchrome-bot <chrome-bot@chromium.org>2018-09-07 18:36:37 -0700
commit7fafaf999ff6d3b3565278a77fdba0a9ee1e26fe (patch)
tree0cedfd885b89c043e01fdc2bf129c5dd7f80e34d /baseboard/octopus
parent7fdbe282d79bcb23f9507b3a128998e44285b451 (diff)
downloadchrome-ec-7fafaf999ff6d3b3565278a77fdba0a9ee1e26fe.tar.gz
octopus: use higher priority TCPC interrupt tasks
See go/usb-pd-slow-response-time for more information BRANCH=none BUG=b:112088135 TEST=CL stack on fleex and bobba consistently meet PD timing spec Change-Id: I9eabf8de8d866f5a0af7d1daba5ab585b418d26c Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1185729 Reviewed-by: Jonathan Brandmeyer <jbrandmeyer@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org>
Diffstat (limited to 'baseboard/octopus')
-rw-r--r--baseboard/octopus/baseboard.h6
-rw-r--r--baseboard/octopus/variant_usbc_standalone_tcpcs.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/baseboard/octopus/baseboard.h b/baseboard/octopus/baseboard.h
index 96b5a519e2..e8160889eb 100644
--- a/baseboard/octopus/baseboard.h
+++ b/baseboard/octopus/baseboard.h
@@ -252,6 +252,8 @@
#ifndef __ASSEMBLER__
+#include "gpio_signal.h"
+
enum power_signal {
#ifdef CONFIG_POWER_S0IX
X86_SLP_S0_N, /* PCH -> SLP_S0_L */
@@ -276,6 +278,10 @@ void board_reset_pd_mcu(void);
void board_pd_vconn_ctrl(int port, int cc_pin, int enabled);
#endif
+#ifdef VARIANT_OCTOPUS_USBC_STANDALONE_TCPCS
+void tcpc_alert_event(enum gpio_signal signal);
+#endif
+
#endif /* !__ASSEMBLER__ */
#endif /* __CROS_EC_BASEBOARD_H */
diff --git a/baseboard/octopus/variant_usbc_standalone_tcpcs.c b/baseboard/octopus/variant_usbc_standalone_tcpcs.c
index 1d53725151..3546b3c4cf 100644
--- a/baseboard/octopus/variant_usbc_standalone_tcpcs.c
+++ b/baseboard/octopus/variant_usbc_standalone_tcpcs.c
@@ -79,6 +79,17 @@ unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips);
/******************************************************************************/
/* Power Delivery and charing functions */
+void tcpc_alert_event(enum gpio_signal signal)
+{
+ const int port = (signal == GPIO_USB_C1_MUX_INT_ODL);
+
+ if ((signal == GPIO_USB_C1_MUX_INT_ODL) &&
+ !gpio_get_level(GPIO_USB_C1_PD_RST_ODL))
+ return;
+
+ schedule_deferred_pd_interrupt(port);
+}
+
void variant_tcpc_init(void)
{
/* Enable PPC interrupts. */