summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlec Berg <alecaberg@chromium.org>2014-09-10 02:15:19 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2014-09-10 14:01:52 +0000
commit491eb1e5f28e3804f034dce7b331f82b7f709cc5 (patch)
tree5fc79e05c211ac900367d853dbcdf7fff858b3d2
parentb16cda06a81d676fb11f02e0a4770c8ac17681c6 (diff)
downloadchrome-ec-491eb1e5f28e3804f034dce7b331f82b7f709cc5.tar.gz
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 <alecaberg@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/217258 Reviewed-by: Vic Yang <victoryang@chromium.org>
-rw-r--r--board/plankton/board.c3
-rw-r--r--board/plankton/usb_pd_policy.c4
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;
}