summaryrefslogtreecommitdiff
path: root/board/driblee
diff options
context:
space:
mode:
Diffstat (limited to 'board/driblee')
-rw-r--r--board/driblee/board.c8
-rw-r--r--board/driblee/usb_pd_policy.c5
2 files changed, 11 insertions, 2 deletions
diff --git a/board/driblee/board.c b/board/driblee/board.c
index 777259d2e3..7817ab7f51 100644
--- a/board/driblee/board.c
+++ b/board/driblee/board.c
@@ -297,9 +297,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;
}
@@ -321,6 +323,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);
}
/*
@@ -331,7 +334,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/driblee/usb_pd_policy.c b/board/driblee/usb_pd_policy.c
index fd9018a3f0..19dd01d37b 100644
--- a/board/driblee/usb_pd_policy.c
+++ b/board/driblee/usb_pd_policy.c
@@ -8,6 +8,7 @@
#include "common.h"
#include "console.h"
#include "driver/tcpm/tcpci.h"
+#include "driver/charger/isl923x_public.h"
#include "usb_pd.h"
#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args)
@@ -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);