diff options
author | Vijay Hiremath <vijay.p.hiremath@intel.com> | 2020-08-20 20:28:52 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-08-25 18:54:34 +0000 |
commit | e8873c81d0ea3ee44a649ec8cbc362a44459d373 (patch) | |
tree | bb827fa67b32fa81d837f7b7c8c48ad07aefe25a /baseboard | |
parent | 81f396b4576d0ab6535dcbb0d06d76caa12d34ea (diff) | |
download | chrome-ec-e8873c81d0ea3ee44a649ec8cbc362a44459d373.tar.gz |
bb retimer: Use mutex to lock the access to shared NVM
If the BB retimer has a shared NVM we need 40ms delay after releasing
the RESET line to synchronize, load and initialize both the retimers.
On a non-shared NVM we need 20ms delay to load and initialize. In order
to synchronize, instead of 40ms delay this CL uses a MUTEX to lock
the access of another retimer by not releasing the RESET line until the
first retimer completes initialization.
BUG=b:165895649
BRANCH=none
TEST=Tested on volteer(non shared NVM), tglrvpu_ite (shared NVM)
Retimer is able to initialize (DP, USB, TBT, USB4 are detected)
Change-Id: I709377c2e6401faa26871289143d71665ee516d1
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2368223
Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'baseboard')
-rw-r--r-- | baseboard/intelrvp/retimer.c | 2 | ||||
-rw-r--r-- | baseboard/volteer/baseboard.c | 1 |
2 files changed, 0 insertions, 3 deletions
diff --git a/baseboard/intelrvp/retimer.c b/baseboard/intelrvp/retimer.c index cf09c76d3e..c64ad64bcb 100644 --- a/baseboard/intelrvp/retimer.c +++ b/baseboard/intelrvp/retimer.c @@ -13,13 +13,11 @@ #ifdef CONFIG_USBC_RETIMER_INTEL_BB const struct bb_usb_control bb_controls[] = { [TYPE_C_PORT_0] = { - .shared_nvm = USB_PORT0_BB_RETIMER_SHARED_NVM, .usb_ls_en_gpio = GPIO_USB_C0_LS_EN, .retimer_rst_gpio = GPIO_USB_C0_RETIMER_RST, }, #ifdef HAS_TASK_PD_C1 [TYPE_C_PORT_1] = { - .shared_nvm = USB_PORT1_BB_RETIMER_SHARED_NVM, .usb_ls_en_gpio = GPIO_USB_C1_LS_EN, .retimer_rst_gpio = GPIO_USB_C1_RETIMER_RST, }, diff --git a/baseboard/volteer/baseboard.c b/baseboard/volteer/baseboard.c index 94246aac05..59016b7f79 100644 --- a/baseboard/volteer/baseboard.c +++ b/baseboard/volteer/baseboard.c @@ -291,7 +291,6 @@ struct bb_usb_control bb_controls[] = { /* USB-C port 0 doesn't have a retimer */ }, [USBC_PORT_C1] = { - .shared_nvm = false, .usb_ls_en_gpio = GPIO_USB_C1_LS_EN, .retimer_rst_gpio = GPIO_USB_C1_RT_RST_ODL, }, |