diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2019-05-02 12:09:59 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-06-10 21:00:55 +0000 |
commit | 2e6849807f2a9c7a1a8f963a90df5fb732ac4f20 (patch) | |
tree | ac0751d458ab2728b6f986570323d2eddfe8033c /board/flapjack | |
parent | 1d5f1604963d7f4a51b2b4836db5662777a9fe13 (diff) | |
download | chrome-ec-2e6849807f2a9c7a1a8f963a90df5fb732ac4f20.tar.gz |
Flapjack: Trigger BC12 detection when AC charger is plugged
Currently, when a BC12 charger is plugged while wireless charging is
taking place, rt946x does not trigger detection because VBUS is already
supplied. This makes charge_manger see a BC12 charger as a WPC supplier.
This patch makes EC manually trigger BC12 detection when an AC charger
is plugged.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
BUG=b/127228934
BRANCH=none
TEST=Start charging on WPC. Connect a BC12 charger. Verify the supplier
switches to DCP (1.5A @5V).
Change-Id: I8e3439682515bf2241f6756a5386a7ad3ab2e14c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1593742
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Diffstat (limited to 'board/flapjack')
-rw-r--r-- | board/flapjack/board.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/board/flapjack/board.c b/board/flapjack/board.c index 4efb2f2887..d8ede41890 100644 --- a/board/flapjack/board.c +++ b/board/flapjack/board.c @@ -22,6 +22,7 @@ #include "driver/sync.h" #include "driver/tcpm/mt6370.h" #include "driver/temp_sensor/tmp432.h" +#include "driver/wpc/p9221.h" #include "ec_commands.h" #include "extpower.h" #include "gpio.h" @@ -47,7 +48,6 @@ #include "usb_mux.h" #include "usb_pd_tcpm.h" #include "util.h" -#include "driver/wpc/p9221.h" #define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args) @@ -417,6 +417,16 @@ static void board_init(void) } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); +#ifdef SECTION_IS_RW +static void usb_pd_connect(void) +{ + /* VBUS from p9221 is already zero as it's disabled by NCP3902 */ + p9221_notify_vbus_change(0); + rt946x_toggle_bc12_detection(); +} +DECLARE_HOOK(HOOK_USB_PD_CONNECT, usb_pd_connect, HOOK_PRIO_DEFAULT); +#endif + void board_config_pre_init(void) { STM32_RCC_AHBENR |= STM32_RCC_HB_DMA1; |