diff options
author | Devin Lu <devin.lu@quantatw.com> | 2020-09-07 17:10:17 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-09-11 06:36:36 +0000 |
commit | 8bfad2c51f2c5a7af004603dc364ca8825a11104 (patch) | |
tree | d11cf789326a707d9bc33aaa5885de774353b854 | |
parent | 4cb500f66fbe65f75c2a486af16f37b092a750ff (diff) | |
download | chrome-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.c | 32 | ||||
-rw-r--r-- | board/meep/board.h | 1 |
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 |