summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/cret/board.c9
-rw-r--r--board/cret/usb_pd_policy.c5
2 files changed, 11 insertions, 3 deletions
diff --git a/board/cret/board.c b/board/cret/board.c
index f8d0d566fa..56e80bc388 100644
--- a/board/cret/board.c
+++ b/board/cret/board.c
@@ -258,10 +258,11 @@ int board_set_active_charge_port(int port)
/* Disable all ports. */
if (port == CHARGE_PORT_NONE) {
- for (i = 0; i < board_get_usb_pd_port_count(); i++)
+ for (i = 0; i < board_get_usb_pd_port_count(); i++) {
tcpc_write(i, TCPC_REG_COMMAND,
TCPC_REG_COMMAND_SNK_CTRL_LOW);
-
+ raa489000_enable_asgate(i, false);
+ }
return EC_SUCCESS;
}
@@ -282,6 +283,7 @@ int board_set_active_charge_port(int port)
if (tcpc_write(i, TCPC_REG_COMMAND,
TCPC_REG_COMMAND_SNK_CTRL_LOW))
CPRINTS("p%d: sink path disable failed.", i);
+ raa489000_enable_asgate(i, false);
}
/*
@@ -292,7 +294,8 @@ int board_set_active_charge_port(int port)
charger_discharge_on_ac(1);
/* Enable requested charge port. */
- if (tcpc_write(port, TCPC_REG_COMMAND,
+ if (raa489000_enable_asgate(port, true) ||
+ tcpc_write(port, TCPC_REG_COMMAND,
TCPC_REG_COMMAND_SNK_CTRL_HIGH)) {
CPRINTS("p%d: sink path enable failed.", port);
charger_discharge_on_ac(0);
diff --git a/board/cret/usb_pd_policy.c b/board/cret/usb_pd_policy.c
index f00fb3aa95..15faf41ffc 100644
--- a/board/cret/usb_pd_policy.c
+++ b/board/cret/usb_pd_policy.c
@@ -7,6 +7,7 @@
#include "chipset.h"
#include "common.h"
#include "console.h"
+#include "driver/charger/isl923x_public.h"
#include "driver/tcpm/tcpci.h"
#include "usb_pd.h"
@@ -49,6 +50,10 @@ int pd_set_power_supply_ready(int port)
if (rv)
return rv;
+ rv = raa489000_enable_asgate(port, true);
+ if (rv)
+ return rv;
+
/* Notify host of power info change. */
pd_send_host_event(PD_EVENT_POWER_CHANGE);