- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Cypress,
We have a design that is using the CYPD5225 with TGL and a burnside bridge retimer on each port, however after the system exits S4/S5 after the first boot we cannot enumerate usb3/DP alt mode/thunderbolt unless we physically unplug/replug.
This is based on the CYPD5225-96BZXI_notebook_tbt project based on sdk 3.4.0.
After some discussion, we have a workaround of issuing a port reset command based on the system power state changes written to SYS_PWR_STATE register from the EC. (This was disabled on the project due to BC1.2 being disabled due to size requirements.
So I shortened the callback handler for this in app.c app_update_sys_pwr_state to only trigger dpm_typec_command (i, DPM_CMD_TYPEC_ERR_RECOVERY, NULL);
This fixes the issue of devices not being recognized after resume, however it will reset power to the device - which we want to avoid, as we cannot resume/hibernate etc without the device resetting.
Is there a way to trigger only re-configuring the retimer/SOC on resume?
I have noticed the following:
It seems the SDK code monitors VSYS - and will trigger retimer_set_evt(param_1,RT_EVT_VSYS_ADDED); for each retimer when VSYS is restored. However in our design the retimer is on a different supply than the CCG5225 (which is always on). So I do not think this will get triggered.
I tried to manually call this from our power state transition handler:
retimer_set_evt(TYPEC_PORT_0_IDX,RT_EVT_VSYS_ADDED); and RT_EVT_VSYS_REMOVED when we would enter/exit S0 (using the EC command handler app_update_sys_pwr_state) for each port, however this does not seem to enable the alternate modes through the retimer.
I did some additional digging and thinking, and I also wondered if the PD controller needs to notify the SOC to configure alt modes as well? perhaps through the call ridge_force_status_update or some other method?
- Labels:
-
USB EZ-PD Type-C