diff options
author | Vijay Hiremath <vijay.p.hiremath@intel.com> | 2020-10-29 11:18:38 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-10-31 19:16:25 +0000 |
commit | d636d80192d87c5088ad579c57fee93c76fbf0d7 (patch) | |
tree | 0b8248101f7ed3860086bad11c61d40b81df1592 | |
parent | 13f0925ce8c686333a2aaca4db8903c32edf847f (diff) | |
download | chrome-ec-d636d80192d87c5088ad579c57fee93c76fbf0d7.tar.gz |
intelrvp: Keep PPC specific code generic in baseboard
BUG=none
BRANCH=none
TEST=PPC interrupt is invoked on ADL-RVP
Change-Id: Ib41be079d0d5731627193d15b66bb9949bd2722f
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2508156
Reviewed-by: Sooraj Govindan <sooraj.govindan@intel.corp-partner.google.com>
Reviewed-by: Keith Short <keithshort@chromium.org>
-rw-r--r-- | baseboard/intelrvp/baseboard.h | 2 | ||||
-rw-r--r-- | baseboard/intelrvp/chg_usb_pd_mecc_1_0.c | 2 | ||||
-rw-r--r-- | board/adlrvpp_ite/board.c | 4 |
3 files changed, 7 insertions, 1 deletions
diff --git a/baseboard/intelrvp/baseboard.h b/baseboard/intelrvp/baseboard.h index 63eb9f919f..280fb8c1ea 100644 --- a/baseboard/intelrvp/baseboard.h +++ b/baseboard/intelrvp/baseboard.h @@ -253,6 +253,8 @@ struct tcpc_aic_gpio_config_t { enum gpio_signal tcpc_alert; /* PPC interrupt */ enum gpio_signal ppc_alert; + /* PPC interrupt handler */ + void (*ppc_intr_handler)(int port); }; extern const struct tcpc_aic_gpio_config_t tcpc_aic_gpios[]; diff --git a/baseboard/intelrvp/chg_usb_pd_mecc_1_0.c b/baseboard/intelrvp/chg_usb_pd_mecc_1_0.c index 639e7863a9..36aaa5612f 100644 --- a/baseboard/intelrvp/chg_usb_pd_mecc_1_0.c +++ b/baseboard/intelrvp/chg_usb_pd_mecc_1_0.c @@ -82,7 +82,7 @@ void ppc_interrupt(enum gpio_signal signal) for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++) { if (signal == tcpc_aic_gpios[i].ppc_alert) { - sn5s330_interrupt(i); + tcpc_aic_gpios[i].ppc_intr_handler(i); break; } } diff --git a/board/adlrvpp_ite/board.c b/board/adlrvpp_ite/board.c index 875550a51e..d5aba06089 100644 --- a/board/adlrvpp_ite/board.c +++ b/board/adlrvpp_ite/board.c @@ -112,18 +112,22 @@ const struct tcpc_aic_gpio_config_t tcpc_aic_gpios[] = { [TYPE_C_PORT_0] = { .tcpc_alert = GPIO_USBC_TCPC_ALRT_P0, .ppc_alert = GPIO_USBC_TCPC_PPC_ALRT_P0, + .ppc_intr_handler = sn5s330_interrupt, }, [TYPE_C_PORT_1] = { .tcpc_alert = GPIO_USBC_TCPC_ALRT_P1, .ppc_alert = GPIO_USBC_TCPC_PPC_ALRT_P1, + .ppc_intr_handler = sn5s330_interrupt, }, [TYPE_C_PORT_2] = { .tcpc_alert = GPIO_USBC_TCPC_ALRT_P2, .ppc_alert = GPIO_USBC_TCPC_PPC_ALRT_P2, + .ppc_intr_handler = sn5s330_interrupt, }, [TYPE_C_PORT_3] = { .tcpc_alert = GPIO_USBC_TCPC_ALRT_P3, .ppc_alert = GPIO_USBC_TCPC_PPC_ALRT_P3, + .ppc_intr_handler = sn5s330_interrupt, }, }; BUILD_ASSERT(ARRAY_SIZE(tcpc_aic_gpios) == CONFIG_USB_PD_PORT_MAX_COUNT); |