summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/blipper/board.c5
-rw-r--r--board/boten/board.c5
-rw-r--r--board/galtic/board.c19
-rw-r--r--board/madoo/board.c8
-rw-r--r--board/magolor/board.c8
-rw-r--r--board/metaknight/board.c8
-rw-r--r--board/sasuke/board.c8
-rw-r--r--board/sasukette/board.c9
-rw-r--r--board/storo/board.c9
-rw-r--r--board/waddledoo/board.c8
10 files changed, 62 insertions, 25 deletions
diff --git a/board/blipper/board.c b/board/blipper/board.c
index fc9e2306f1..5e6cb866ff 100644
--- a/board/blipper/board.c
+++ b/board/blipper/board.c
@@ -316,7 +316,7 @@ int board_set_active_charge_port(int port)
if (port == CHARGE_PORT_NONE) {
tcpc_write(0, TCPC_REG_COMMAND,
TCPC_REG_COMMAND_SNK_CTRL_LOW);
-
+ raa489000_enable_asgate(0, false);
return EC_SUCCESS;
}
@@ -327,7 +327,8 @@ int board_set_active_charge_port(int port)
}
/* Enable requested charge port. */
- if (tcpc_write(0, TCPC_REG_COMMAND,
+ if (raa489000_enable_asgate(port, true) ||
+ tcpc_write(0, TCPC_REG_COMMAND,
TCPC_REG_COMMAND_SNK_CTRL_HIGH)) {
CPRINTUSB("p%d: sink path enable failed.", port);
return EC_ERROR_UNKNOWN;
diff --git a/board/boten/board.c b/board/boten/board.c
index a544377aa7..c69c014b8b 100644
--- a/board/boten/board.c
+++ b/board/boten/board.c
@@ -308,7 +308,7 @@ int board_set_active_charge_port(int port)
if (port == CHARGE_PORT_NONE) {
tcpc_write(0, TCPC_REG_COMMAND,
TCPC_REG_COMMAND_SNK_CTRL_LOW);
-
+ raa489000_enable_asgate(0, false);
return EC_SUCCESS;
}
@@ -319,7 +319,8 @@ int board_set_active_charge_port(int port)
}
/* Enable requested charge port. */
- if (tcpc_write(0, TCPC_REG_COMMAND,
+ if (raa489000_enable_asgate(port, true) ||
+ tcpc_write(0, TCPC_REG_COMMAND,
TCPC_REG_COMMAND_SNK_CTRL_HIGH)) {
CPRINTUSB("p%d: sink path enable failed.", port);
return EC_ERROR_UNKNOWN;
diff --git a/board/galtic/board.c b/board/galtic/board.c
index 5e8f5f5714..85195851fb 100644
--- a/board/galtic/board.c
+++ b/board/galtic/board.c
@@ -516,13 +516,16 @@ 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;
}
- /* Check is port is sourcing VBUS. */
+ /* Check if port is sourcing VBUS. */
if (board_is_sourcing_vbus(port)) {
CPRINTS("Skip enable p%d", port);
return EC_ERROR_INVAL;
@@ -539,18 +542,20 @@ 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);
}
/*
- * Stop the charger IC from switching while charging ports. Otherwise,
- * we can overcurrent the adapter we's switching to. (crbug.com/926056)
+ * Stop the charger IC from switching while changing ports. Otherwise,
+ * we can overcurrent the adapter we're switching to. (crbug.com/926056)
*/
if (old_port != CHARGE_PORT_NONE)
charger_discharge_on_ac(1);
- /* Enable requested charge port. */
- if (tcpc_write(port, TCPC_REG_COMMAND,
- TCPC_REG_COMMAND_SNK_CTRL_HIGH)) {
+ /* Enable requested charge port. */
+ 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);
return EC_ERROR_UNKNOWN;
diff --git a/board/madoo/board.c b/board/madoo/board.c
index 62724bde05..1e1ee9b348 100644
--- a/board/madoo/board.c
+++ b/board/madoo/board.c
@@ -266,9 +266,11 @@ int board_set_active_charge_port(int port)
/* Disable all ports. */
if (port == CHARGE_PORT_NONE) {
- for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++)
+ for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++) {
tcpc_write(i, TCPC_REG_COMMAND,
TCPC_REG_COMMAND_SNK_CTRL_LOW);
+ raa489000_enable_asgate(i, false);
+ }
return EC_SUCCESS;
}
@@ -290,6 +292,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);
}
/*
@@ -300,7 +303,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/magolor/board.c b/board/magolor/board.c
index f1fca86f90..a64b7781be 100644
--- a/board/magolor/board.c
+++ b/board/magolor/board.c
@@ -420,9 +420,11 @@ int board_set_active_charge_port(int port)
/* Disable all ports. */
if (port == CHARGE_PORT_NONE) {
- for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++)
+ for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++) {
tcpc_write(i, TCPC_REG_COMMAND,
TCPC_REG_COMMAND_SNK_CTRL_LOW);
+ raa489000_enable_asgate(i, false);
+ }
return EC_SUCCESS;
}
@@ -444,6 +446,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);
}
/*
@@ -454,7 +457,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/metaknight/board.c b/board/metaknight/board.c
index 9f307af8b2..e4fee336f0 100644
--- a/board/metaknight/board.c
+++ b/board/metaknight/board.c
@@ -339,9 +339,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;
}
@@ -363,6 +365,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);
}
/*
@@ -373,7 +376,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/sasuke/board.c b/board/sasuke/board.c
index ef6d0effae..7e96204f11 100644
--- a/board/sasuke/board.c
+++ b/board/sasuke/board.c
@@ -337,9 +337,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;
}
@@ -361,6 +363,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);
}
/*
@@ -371,7 +374,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/sasukette/board.c b/board/sasukette/board.c
index c529e10bd1..3ce70ac9d3 100644
--- a/board/sasukette/board.c
+++ b/board/sasukette/board.c
@@ -283,9 +283,12 @@ 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;
}
@@ -306,6 +309,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);
}
/*
@@ -316,7 +320,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/storo/board.c b/board/storo/board.c
index 1478095a53..32826d2a3f 100644
--- a/board/storo/board.c
+++ b/board/storo/board.c
@@ -388,9 +388,12 @@ 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;
}
@@ -411,6 +414,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);
}
/*
@@ -421,7 +425,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/waddledoo/board.c b/board/waddledoo/board.c
index bea0774a3d..a7e76e6525 100644
--- a/board/waddledoo/board.c
+++ b/board/waddledoo/board.c
@@ -344,9 +344,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;
}
@@ -368,6 +370,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);
}
/*
@@ -378,7 +381,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);