summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2019-05-06 14:59:18 -0700
committerchrome-bot <chrome-bot@chromium.org>2019-05-08 19:35:13 -0700
commit608e6a4ca4a8cb46004db986f8b71c81b99b7786 (patch)
tree1f88183f53197ac59c3ba1f464d728b772feabfe /common
parentaa0cdc32ba82a0d0a699c4f06d78a589f7c58aa1 (diff)
downloadchrome-ec-608e6a4ca4a8cb46004db986f8b71c81b99b7786.tar.gz
USB-PD: Add hook for PD connect event
This patch adds a hook for USB PD connect event. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/127228934 BRANCH=none TEST=buildall. Verify a hook is called on BC12 charger connection. Change-Id: I88fcd65d1afce07b6275398c5d0b902ecd7a44a3 Reviewed-on: https://chromium-review.googlesource.com/1597794 Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'common')
-rw-r--r--common/hooks.c1
-rw-r--r--common/usb_pd_protocol.c5
2 files changed, 6 insertions, 0 deletions
diff --git a/common/hooks.c b/common/hooks.c
index ff85e2cfd2..fbdf8e414b 100644
--- a/common/hooks.c
+++ b/common/hooks.c
@@ -57,6 +57,7 @@ static const struct hook_ptrs hook_list[] = {
{__hooks_tick, __hooks_tick_end},
{__hooks_second, __hooks_second_end},
{__hooks_usb_pd_disconnect, __hooks_usb_pd_disconnect_end},
+ {__hooks_usb_pd_connect, __hooks_usb_pd_connect_end},
};
/* Times for deferrable functions */
diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c
index 4582d5ffd2..f3f990bb25 100644
--- a/common/usb_pd_protocol.c
+++ b/common/usb_pd_protocol.c
@@ -3141,6 +3141,9 @@ void pd_task(void *u)
break;
/* Debounce complete */
+ if (IS_ENABLED(CONFIG_COMMON_RUNTIME))
+ hook_notify(HOOK_USB_PD_CONNECT);
+
#ifdef CONFIG_USBC_PPC
/*
* If the port is latched off, just continue to
@@ -3700,6 +3703,8 @@ void pd_task(void *u)
}
/* We are attached */
+ if (IS_ENABLED(CONFIG_COMMON_RUNTIME))
+ hook_notify(HOOK_USB_PD_CONNECT);
pd[port].polarity = get_snk_polarity(cc1, cc2);
set_polarity(port, pd[port].polarity);
/* reset message ID on connection */