summaryrefslogtreecommitdiff
path: root/board/kukui/board.c
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2019-05-10 19:22:51 +0800
committerCommit Bot <commit-bot@chromium.org>2019-06-20 09:38:53 +0000
commit3e31f7f3e8708dd9ab21ce215a0eaee4657ed85e (patch)
tree29bf06b16a4b15f10196d925c6da7e74ca373700 /board/kukui/board.c
parent472a26a4bbb7fa67b782e9663a06b01a29468a79 (diff)
downloadchrome-ec-3e31f7f3e8708dd9ab21ce215a0eaee4657ed85e.tar.gz
krane: detect pogo charger in adc interrupt
1. Move the charging dock detection logic from POGO_VBUS_PRESENT interrupt to POGO_ADC_INT_L interrupt. (see issue below for more context). 2. Since the analog pin in STM32F0 can not trigger interrupt, the pin is now an input pin, and programmed as an analog pin only when need to read its value. BUG=b:132419493 TEST=Manually, verify that the value of EN_POGO_CHARGE_L, EN_USBC_CHARGE_L and EN_PP3300_POGO are correct when fake device attached. BRANCH=None Change-Id: Idd468f06516a614e07aa357ffe215846314a435b Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1604548 Reviewed-by: Yilun Lin <yllin@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org> Tested-by: Ting Shen <phoenixshen@chromium.org> Auto-Submit: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'board/kukui/board.c')
-rw-r--r--board/kukui/board.c31
1 files changed, 0 insertions, 31 deletions
diff --git a/board/kukui/board.c b/board/kukui/board.c
index 40a18c9729..53bd3f6222 100644
--- a/board/kukui/board.c
+++ b/board/kukui/board.c
@@ -50,8 +50,6 @@
#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
-#define POGO_VBUS_DETECT_DEBOUNCE_US (20 * MSEC)
-
static void tcpc_alert_event(enum gpio_signal signal)
{
schedule_deferred_pd_interrupt(0 /* port */);
@@ -62,33 +60,6 @@ static void gauge_interrupt(enum gpio_signal signal)
task_wake(TASK_ID_CHARGER);
}
-static void pogo_vbus_detect_deferred(void);
-DECLARE_DEFERRED(pogo_vbus_detect_deferred);
-
-static void pogo_vbus_detect_deferred(void)
-{
- if (gpio_get_level(GPIO_POGO_VBUS_PRESENT)) {
- struct charge_port_info info = {
- .voltage = 5000, .current = 1500};
- /*
- * Set supplier type to PD to have same priority as type c
- * port.
- */
- charge_manager_update_charge(
- CHARGE_SUPPLIER_DEDICATED, CHARGE_PORT_POGO, &info);
- } else {
- charge_manager_update_charge(
- CHARGE_SUPPLIER_DEDICATED, CHARGE_PORT_POGO, NULL);
- }
- pd_send_host_event(PD_EVENT_POWER_CHANGE);
-}
-
-static void pogo_vbus_present(enum gpio_signal signal)
-{
- hook_call_deferred(&pogo_vbus_detect_deferred_data,
- POGO_VBUS_DETECT_DEBOUNCE_US);
-}
-
#include "gpio_list.h"
/******************************************************************************/
@@ -191,8 +162,6 @@ static void board_pogo_charge_init(void)
/* Initialize all charge suppliers to 0 */
for (i = 0; i < CHARGE_SUPPLIER_COUNT; i++)
charge_manager_update_charge(i, CHARGE_PORT_POGO, NULL);
-
- hook_call_deferred(&pogo_vbus_detect_deferred_data, 0);
}
DECLARE_HOOK(HOOK_INIT, board_pogo_charge_init,
HOOK_PRIO_CHARGE_MANAGER_INIT + 1);