summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Lu <devin.lu@quantatw.com>2020-09-07 17:10:17 +0800
committerCommit Bot <commit-bot@chromium.org>2020-09-11 06:36:36 +0000
commit8bfad2c51f2c5a7af004603dc364ca8825a11104 (patch)
treed11cf789326a707d9bc33aaa5885de774353b854
parent4cb500f66fbe65f75c2a486af16f37b092a750ff (diff)
downloadchrome-ec-8bfad2c51f2c5a7af004603dc364ca8825a11104.tar.gz
Meep: Fix triggering condition for PPC interrupt of SYV682A
Apply CL:2309522 to meep. BUG=none BRANCH=firmware-octopus-11297.B TEST=1. make BOARD=meep. 2. Verify USBC charger is able to charging. Signed-off-by: Devin Lu <Devin.Lu@quantatw.com> Change-Id: I7407e360bb1521e4a9c5be38111508545a970733 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2396095 Reviewed-by: Marco Chen <marcochen@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2402845 Commit-Queue: Henry Sun <henrysun@google.com>
-rw-r--r--board/meep/board.c32
-rw-r--r--board/meep/board.h1
2 files changed, 23 insertions, 10 deletions
diff --git a/board/meep/board.c b/board/meep/board.c
index 46d0234b37..5b260a6e6a 100644
--- a/board/meep/board.c
+++ b/board/meep/board.c
@@ -369,13 +369,13 @@ __override uint16_t board_get_ps8xxx_product_id(int port)
}
}
-const struct ppc_config_t ppc_syv682x_port0 = {
+static const struct ppc_config_t ppc_syv682x_port0 = {
.i2c_port = I2C_PORT_TCPC0,
.i2c_addr = SYV682X_ADDR0,
.drv = &syv682x_drv,
};
-const struct ppc_config_t ppc_syv682x_port1 = {
+static const struct ppc_config_t ppc_syv682x_port1 = {
.i2c_port = I2C_PORT_TCPC1,
.i2c_addr = SYV682X_ADDR0,
.drv = &syv682x_drv,
@@ -383,13 +383,25 @@ const struct ppc_config_t ppc_syv682x_port1 = {
static void board_setup_ppc(void)
{
- if (support_syv_ppc) {
- memcpy(&ppc_chips[USB_PD_PORT_TCPC_0],
- &ppc_syv682x_port0,
- sizeof(struct ppc_config_t));
- memcpy(&ppc_chips[USB_PD_PORT_TCPC_1],
- &ppc_syv682x_port1,
- sizeof(struct ppc_config_t));
- }
+ if (!support_syv_ppc)
+ return;
+
+ memcpy(&ppc_chips[USB_PD_PORT_TCPC_0],
+ &ppc_syv682x_port0,
+ sizeof(struct ppc_config_t));
+ memcpy(&ppc_chips[USB_PD_PORT_TCPC_1],
+ &ppc_syv682x_port1,
+ sizeof(struct ppc_config_t));
+
+ gpio_set_flags(GPIO_USB_PD_C0_INT_ODL, GPIO_INT_BOTH);
+ gpio_set_flags(GPIO_USB_PD_C1_INT_ODL, GPIO_INT_BOTH);
}
DECLARE_HOOK(HOOK_INIT, board_setup_ppc, HOOK_PRIO_INIT_I2C + 2);
+
+int ppc_get_alert_status(int port)
+{
+ if (port == 0)
+ return gpio_get_level(GPIO_USB_PD_C0_INT_ODL) == 0;
+
+ return gpio_get_level(GPIO_USB_PD_C1_INT_ODL) == 0;
+}
diff --git a/board/meep/board.h b/board/meep/board.h
index 95fd082eb2..1a2e11c9c1 100644
--- a/board/meep/board.h
+++ b/board/meep/board.h
@@ -55,6 +55,7 @@
/* Additional PPC second source */
#define CONFIG_USBC_PPC_SYV682X
+#define CONFIG_USBC_PPC_DEDICATED_INT
/* Additional TCPC second source in Port 1 */
#define CONFIG_USB_PD_TCPM_MULTI_PS8XXX