summaryrefslogtreecommitdiff
path: root/board/brya/usbc_config.c
diff options
context:
space:
mode:
authorCaveh Jalali <caveh@chromium.org>2021-05-21 19:36:55 -0700
committerCommit Bot <commit-bot@chromium.org>2021-05-27 00:49:14 +0000
commit964fa09df258c2c5e28b91db54dfb95e66fcf658 (patch)
tree4c3071237bb6c75355220748e759eee6176f9dce /board/brya/usbc_config.c
parent8f73ff30c84d243ac433b2daf2f6b558a8464bd5 (diff)
downloadchrome-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.c11
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);