Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c1b88a5 authored by Vijayavardhan Vennapusa's avatar Vijayavardhan Vennapusa Committed by Gerrit - the friendly Code Review server
Browse files

USB: phy: msm: Perform block reset to exit Femto PHY from SIDDQ



Currently driver is doing just Femto PHY POR reset to exit from SIDDQ.
But recommendation is to do PHY reset which resets all three blocks
(PHY CSR, ULPI bridge and Femto PHY) in addition to USB core reset.
Hence make required changes to perform USB block reset while exiting
from SIDDQ.

For error recovery case perform usb block reset in suspend call back.

Change-Id: Iea45057ef7e8fd0431cbef5b2bc3ff748f99cc80
Signed-off-by: default avatarVijayavardhan Vennapusa <vvreddy@codeaurora.org>
parent 0597b5d5
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1113,10 +1113,10 @@ static void msm_otg_exit_phy_retention(struct msm_otg *motg)
		break;
	case SNPS_FEMTO_PHY:
		/*
		 * Femto PHY must be POR reset to bring out
		 * It is required to do USB block reset to bring Femto PHY out
		 * of retention.
		 */
		msm_usb_phy_reset(motg);
		msm_otg_reset(&motg->phy);
		break;
	default:
		break;
@@ -1194,7 +1194,7 @@ lpm_start:
			phy->state == OTG_STATE_B_PERIPHERAL;

	/* Perform block reset to recover from UDC error events on disconnect */
	if (!host_bus_suspend && !device_bus_suspend)
	if (motg->err_event_seen)
		msm_otg_reset(phy);

	/* Enable line state difference wakeup fix for only device and host