From 491eb1e5f28e3804f034dce7b331f82b7f709cc5 Mon Sep 17 00:00:00 2001 From: Alec Berg Date: Wed, 10 Sep 2014 02:15:19 -0700 Subject: plankton: fix charging voltage selection Fix for plankton v2 so that the VBUS voltage selection buttons work properly (5V, 12V, and 20V). BUG=none BRANCH=none TEST=load onto plankton v2, connect type-C to samus, and press 5V, 12V, and 20V buttons. read adc on samus side to verify it is getting the proper voltage. Change-Id: I5004675bf658834219c295292c669182af7d8393 Signed-off-by: Alec Berg Reviewed-on: https://chromium-review.googlesource.com/217258 Reviewed-by: Vic Yang --- board/plankton/board.c | 3 +++ board/plankton/usb_pd_policy.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/board/plankton/board.c b/board/plankton/board.c index db3d51c473..05fde4bbd9 100644 --- a/board/plankton/board.c +++ b/board/plankton/board.c @@ -42,14 +42,17 @@ static void set_usbc_action(enum usbc_action act) case USBC_ACT_5V_TO_DUT: board_set_source_cap(SRC_CAP_5V); pd_set_dual_role(PD_DRP_FORCE_SOURCE); + pd_soft_reset(); break; case USBC_ACT_12V_TO_DUT: board_set_source_cap(SRC_CAP_12V); pd_set_dual_role(PD_DRP_FORCE_SOURCE); + pd_soft_reset(); break; case USBC_ACT_20V_TO_DUT: board_set_source_cap(SRC_CAP_20V); pd_set_dual_role(PD_DRP_FORCE_SOURCE); + pd_soft_reset(); break; case USBC_ACT_DEVICE: pd_set_dual_role(PD_DRP_FORCE_SINK); diff --git a/board/plankton/usb_pd_policy.c b/board/plankton/usb_pd_policy.c index a49e81e07b..e611c8d827 100644 --- a/board/plankton/usb_pd_policy.c +++ b/board/plankton/usb_pd_policy.c @@ -127,8 +127,8 @@ int pd_set_power_supply_ready(int port) { /* Output the correct voltage */ gpio_set_level(GPIO_VBUS_CHARGER_EN, 1); - gpio_set_level(GPIO_USBC_VSEL_0, requested_voltage_idx >= 1); - gpio_set_level(GPIO_USBC_VSEL_1, requested_voltage_idx >= 2); + gpio_set_level(GPIO_USBC_VSEL_0, requested_voltage_idx >= 2); + gpio_set_level(GPIO_USBC_VSEL_1, requested_voltage_idx >= 3); return EC_SUCCESS; } -- cgit v1.2.1