diff options
Diffstat (limited to 'board/driblee')
-rw-r--r-- | board/driblee/board.c | 8 | ||||
-rw-r--r-- | board/driblee/usb_pd_policy.c | 5 |
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); |