From bd73291223f99d9547905a7ae4e37c7340e0ce33 Mon Sep 17 00:00:00 2001 From: Aseda Aboagye Date: Thu, 21 Sep 2017 15:45:51 -0700 Subject: [PATCH] zoombini: Initialize Vbus suppliers. In order for charge manager to be fully seeded, we need to initialize all the Vbus suppliers. Additionally, remove the hack for C0 since the TCPCs can detect Vbus now. BUG=None BRANCH=None TEST=Flash zoombini; Verify that charge manager is seeded. Change-Id: I086f70ea26a3f804815017a5f492bd624b85ffd0 Signed-off-by: Aseda Aboagye Reviewed-on: https://chromium-review.googlesource.com/677874 Commit-Ready: Aseda Aboagye Tested-by: Aseda Aboagye Reviewed-by: Shawn N --- board/zoombini/board.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/board/zoombini/board.c b/board/zoombini/board.c index 4883a64d19..86ae2d8fff 100644 --- a/board/zoombini/board.c +++ b/board/zoombini/board.c @@ -182,10 +182,25 @@ DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT); static void board_init(void) { + struct charge_port_info chg; + int i; + /* Enable TCPC interrupts. */ gpio_enable_interrupt(GPIO_USB_C0_PD_INT_L); gpio_enable_interrupt(GPIO_USB_C1_PD_INT_L); gpio_enable_interrupt(GPIO_USB_C2_PD_INT_L); + + /* Initialize VBUS suppliers. */ + for (i = 0; i < CONFIG_USB_PD_PORT_COUNT; i++) { + if (tcpm_get_vbus_level(i)) { + chg.voltage = 5000; + chg.current = USB_CHARGER_MIN_CURR_MA; + } else { + chg.voltage = 0; + chg.current = 0; + } + charge_manager_update_charge(CHARGE_SUPPLIER_VBUS, i, &chg); + } } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);