diff options
author | Caveh Jalali <caveh@chromium.org> | 2021-05-21 19:36:55 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-05-27 00:49:14 +0000 |
commit | 964fa09df258c2c5e28b91db54dfb95e66fcf658 (patch) | |
tree | 4c3071237bb6c75355220748e759eee6176f9dce /board/brya/usbc_config.c | |
parent | 8f73ff30c84d243ac433b2daf2f6b558a8464bd5 (diff) | |
download | chrome-ec-964fa09df258c2c5e28b91db54dfb95e66fcf658.tar.gz |
brya: Board ID 1: Handle TCPC_RST reassignment
We are transitioning GPIO definitions to be correct for board ID 2. In
order to support board ID 1 with the same EC image, some GPIOs need to
be reconfigured to their legacy settings at runtime when board ID 1 is
detected. For board ID 2, the TCPC C0/C2 reset GPIO has moved to a
previously unused pin. The original pin is now an ADC input pin.
BRANCH=none
BUG=b:183452273
TEST=verified TCPC C0/C2 can be reset on board ID 1 using
ID_1_USB_C0_C2_TCPC_RST_ODL.
Change-Id: I52d8044ed10379346ae36d4f5d6cbe7446867182
Signed-off-by: Caveh Jalali <caveh@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2914209
Reviewed-by: Boris Mittelberg <bmbm@google.com>
Diffstat (limited to 'board/brya/usbc_config.c')
-rw-r--r-- | board/brya/usbc_config.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/board/brya/usbc_config.c b/board/brya/usbc_config.c index 177953796f..d4759b402e 100644 --- a/board/brya/usbc_config.c +++ b/board/brya/usbc_config.c @@ -228,11 +228,18 @@ __override void bb_retimer_power_handle(const struct usb_mux *me, int on_off) void board_reset_pd_mcu(void) { + enum gpio_signal tcpc_rst; + + if (get_board_id() == 1) + tcpc_rst = GPIO_ID_1_USB_C0_C2_TCPC_RST_ODL; + else + tcpc_rst = GPIO_USB_C0_C2_TCPC_RST_ODL; + /* * TODO(b/179648104): figure out correct timing */ - gpio_set_level(GPIO_USB_C0_C2_TCPC_RST_ODL, 0); + gpio_set_level(tcpc_rst, 0); if (ec_cfg_usb_db_type() != DB_USB_ABSENT) { gpio_set_level(GPIO_USB_C1_RST_ODL, 0); gpio_set_level(GPIO_USB_C1_RT_RST_R_ODL, 0); @@ -244,7 +251,7 @@ void board_reset_pd_mcu(void) msleep(20); - gpio_set_level(GPIO_USB_C0_C2_TCPC_RST_ODL, 1); + gpio_set_level(tcpc_rst, 1); if (ec_cfg_usb_db_type() != DB_USB_ABSENT) { gpio_set_level(GPIO_USB_C1_RST_ODL, 1); gpio_set_level(GPIO_USB_C1_RT_RST_R_ODL, 1); |