summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Short <keithshort@chromium.org>2020-05-29 10:33:26 -0600
committerCommit Bot <commit-bot@chromium.org>2020-06-05 20:34:37 +0000
commit541b3b1c99479e74de72885d16d2bbb4650539d5 (patch)
treeaaa1d4b7e4f48642754441dee90868f03283bc12
parent48f085562764cb00781a479322cf9f4328578a73 (diff)
downloadchrome-ec-541b3b1c99479e74de72885d16d2bbb4650539d5.tar.gz
volteer: add USB overcurrent notification to AP
Enable the USB C0 and USB C1 overcurrent signals to the AP. BUG=b:140561826 BRANCH=none TEST=make buildall TEST=Force overcurrent event by manually setting PPC current limit below PD contract. Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I5eea4812c212496f1c483c4149697b2d53a16a37 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2222960 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
-rw-r--r--baseboard/volteer/baseboard.c10
-rw-r--r--board/malefor/gpio.inc2
-rw-r--r--board/terrador/gpio.inc2
-rw-r--r--board/trondo/gpio.inc2
-rw-r--r--board/volteer/gpio.inc2
-rw-r--r--board/voxel/gpio.inc2
6 files changed, 19 insertions, 1 deletions
diff --git a/baseboard/volteer/baseboard.c b/baseboard/volteer/baseboard.c
index 2f2f3837fd..fd68b2049c 100644
--- a/baseboard/volteer/baseboard.c
+++ b/baseboard/volteer/baseboard.c
@@ -558,7 +558,15 @@ void board_set_charge_limit(int port, int supplier, int charge_ma,
void board_overcurrent_event(int port, int is_overcurrented)
{
- /* TODO: b/140561826 - check correct operation for Volteer */
+ /* Note that the level is inverted because the pin is active low. */
+ switch (port) {
+ case USBC_PORT_C0:
+ gpio_set_level(GPIO_USB_C0_OC_ODL, !is_overcurrented);
+ break;
+ case USBC_PORT_C1:
+ gpio_set_level(GPIO_USB_C1_OC_ODL, !is_overcurrented);
+ break;
+ }
}
static void baseboard_init(void)
diff --git a/board/malefor/gpio.inc b/board/malefor/gpio.inc
index 21a059bf0a..5bc55f95c3 100644
--- a/board/malefor/gpio.inc
+++ b/board/malefor/gpio.inc
@@ -95,6 +95,8 @@ GPIO(EC_PCH_INT_ODL, PIN(B, 0), GPIO_ODR_HIGH)
/* USB and USBC Signals */
GPIO(USB_C1_RT_RST_ODL, PIN(8, 3), GPIO_ODR_LOW) /* USB_C1 Reset on boards board ID >=1 */
+GPIO(USB_C0_OC_ODL, PIN(B, 1), GPIO_ODR_HIGH)
+GPIO(USB_C1_OC_ODL, PIN(5, 0), GPIO_ODR_HIGH)
/* Don't have a load switch for retimer */
UNIMPLEMENTED(USB_C1_LS_EN)
diff --git a/board/terrador/gpio.inc b/board/terrador/gpio.inc
index 7ade9ef20c..a6ef65357c 100644
--- a/board/terrador/gpio.inc
+++ b/board/terrador/gpio.inc
@@ -104,6 +104,8 @@ GPIO(EC_PCH_INT_ODL, PIN(B, 0), GPIO_ODR_HIGH)
*/
GPIO(USB_C1_RT_RST_ODL_BOARDID_0, PIN(3, 2), GPIO_ODR_LOW) /* USB_C1 Reset on boards without board ID */
GPIO(USB_C1_RT_RST_ODL, PIN(8, 3), GPIO_ODR_LOW) /* USB_C1 Reset on boards board ID >=1 */
+GPIO(USB_C0_OC_ODL, PIN(B, 1), GPIO_ODR_HIGH)
+GPIO(USB_C1_OC_ODL, PIN(5, 0), GPIO_ODR_HIGH)
/* Don't have a load switch for retimer */
UNIMPLEMENTED(USB_C1_LS_EN)
diff --git a/board/trondo/gpio.inc b/board/trondo/gpio.inc
index 5caf417dd9..2bbc1255a6 100644
--- a/board/trondo/gpio.inc
+++ b/board/trondo/gpio.inc
@@ -111,6 +111,8 @@ GPIO(EC_PCH_INT_ODL, PIN(B, 0), GPIO_ODR_HIGH)
*/
GPIO(USB_C1_RT_RST_ODL_BOARDID_0, PIN(3, 2), GPIO_ODR_LOW) /* USB_C1 Reset on boards without board ID */
GPIO(USB_C1_RT_RST_ODL, PIN(8, 3), GPIO_ODR_LOW) /* USB_C1 Reset on boards board ID >=1 */
+GPIO(USB_C0_OC_ODL, PIN(B, 1), GPIO_ODR_HIGH)
+GPIO(USB_C1_OC_ODL, PIN(5, 0), GPIO_ODR_HIGH)
/* Don't have a load switch for retimer */
UNIMPLEMENTED(USB_C1_LS_EN)
diff --git a/board/volteer/gpio.inc b/board/volteer/gpio.inc
index 56c3caadfb..5bd026f168 100644
--- a/board/volteer/gpio.inc
+++ b/board/volteer/gpio.inc
@@ -104,6 +104,8 @@ GPIO(EC_PCH_INT_ODL, PIN(B, 0), GPIO_ODR_HIGH)
*/
GPIO(USB_C1_RT_RST_ODL_BOARDID_0, PIN(3, 2), GPIO_ODR_LOW) /* USB_C1 Reset on boards without board ID */
GPIO(USB_C1_RT_RST_ODL, PIN(8, 3), GPIO_ODR_LOW) /* USB_C1 Reset on boards board ID >=1 */
+GPIO(USB_C0_OC_ODL, PIN(B, 1), GPIO_ODR_HIGH)
+GPIO(USB_C1_OC_ODL, PIN(5, 0), GPIO_ODR_HIGH)
/* Don't have a load switch for retimer */
UNIMPLEMENTED(USB_C1_LS_EN)
diff --git a/board/voxel/gpio.inc b/board/voxel/gpio.inc
index 7ade9ef20c..a6ef65357c 100644
--- a/board/voxel/gpio.inc
+++ b/board/voxel/gpio.inc
@@ -104,6 +104,8 @@ GPIO(EC_PCH_INT_ODL, PIN(B, 0), GPIO_ODR_HIGH)
*/
GPIO(USB_C1_RT_RST_ODL_BOARDID_0, PIN(3, 2), GPIO_ODR_LOW) /* USB_C1 Reset on boards without board ID */
GPIO(USB_C1_RT_RST_ODL, PIN(8, 3), GPIO_ODR_LOW) /* USB_C1 Reset on boards board ID >=1 */
+GPIO(USB_C0_OC_ODL, PIN(B, 1), GPIO_ODR_HIGH)
+GPIO(USB_C1_OC_ODL, PIN(5, 0), GPIO_ODR_HIGH)
/* Don't have a load switch for retimer */
UNIMPLEMENTED(USB_C1_LS_EN)