dwc3-msm: Don't perform additional USB PHY reset and initialization
For first USB cable connect case used initialization sequence:
1. dwc3_core_pre_init()
2. dwc3_core_init()
3. dwc3_event_buffers_setup()
For next USB cable connect case used initialization sequence:
1. dwc3_core_init()
2. dwc3_event_buffers_setup()
dwc3_core_pre_init() is performing below set of operations:
a. dwc3_cache_hwparams()
b. dwc3_alloc_event_buffers()
c. dwc3_core_init()
d. dwc3_event_buffers_setup()
dwc3_core_init() performs below operations.
1. phy_reset
2. phy_initialization
3. core soft reset
4. dr_mode based device and host mode configuration
This change is trying to fix first USB cable connect case scenario by
removing dwc3_core_init() and dwc3_event_buffers_setup() API usage from
dwc3_core_pre_init() API. With this, dwc3_core_init() is used once for
first USB cable connect which removes additional USB PHY reset and
initialization. It has been observed in some case back to back USB PHY
reset and initialization results into USB high speed PHY PLL doesn't
lock as expected. This change fixes this issue.
Change-Id: I0741cb8fd8e247530a423f57e8e81d53e7438ce2
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
1 file changed