From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [2/7] usb: musb: omap2430: Add support for idling phy when musb is idle From: Bin Liu Message-Id: <20190430145942.1128-3-b-liu@ti.com> Date: Tue, 30 Apr 2019 09:59:36 -0500 To: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, Bin Liu List-ID: RnJvbTogVG9ueSBMaW5kZ3JlbiA8dG9ueUBhdG9taWRlLmNvbT4KCkkgbm90aWNlZCB0aGF0IG11 c2IgaXMgYmxvY2tpbmcgY29yZSByZXRlbnRpb24gZm9yIG9tYXA0IHVubGlrZSBmb3IKb21hcDMu IFRoaXMgaXMgYmVjYXVzZSBmb3Igb21hcDMgd2UgaGF2ZSBwaHktdHdsNDAzMC11c2IgaW1wbGVt ZW50Cml0J3Mgb3duIFBNIHJ1bnRpbWUgdG8gaGFuZGxlIGVycmF0YSAiVlVTQjNWMSBWQlVTIG92 ZXJ2b2x0YWdlCmRlYm91bmNlciBub3Qgd29ya2luZyB3aGVuIHRoZSBQSFkgaXMgcG93ZXJlZCBk b3duIi4gVGhhdCBpcyBkb25lCmluIG9yZGVyIHRvIGtlZXAgdGhlIFVTQiBQSFkgcG93ZXJlZCB3 aGVuIHBoeS10d2w0MDMwLXVzYiBpcyBsb2FkZWQuCgpGb3IgdGhlIG90aGVyIFVTQiBQSFlzLCB3 ZSBuZWVkIHRvIGVuYWJsZSBhbmQgZGlzYWJsZSB0aGUgUEhZIGJhc2VkIG9uCm11c2IgUE0gcnVu dGltZS4gV2l0aCB0aGUgc2Vzc2lvbiBiaXQgYmFzZWQgUE0gcnVudGltZSBmb3IgbXVzYiBjb3Jl LAp3ZSBjYW4gbm93IGlkbGUgdGhlIFVTQiBQSFkgYWx3YXlzIHdoZW4gbXVzYiBpcyBpZGxlLgoK Tm90ZSB0aGF0IGFkZGluZyB0aGVzZSBjYWxscyB3aWxsIG5vdCBhZmZlY3QgdGhlIHR3bDQwMzAg ZHJpdmVyCmFzIGl0J3MgcGh5IGZ1bmN0aW9ucyB3aWxsIGp1c3QgcXVlcnkgdGhlIFBIWSBzdGF0 ZSB3aXRob3V0IHBvd2VyaW5nCnRoZSBQSFkgb24gb3Igb2ZmLgoKU2lnbmVkLW9mZi1ieTogVG9u eSBMaW5kZ3JlbiA8dG9ueUBhdG9taWRlLmNvbT4KU2lnbmVkLW9mZi1ieTogQmluIExpdSA8Yi1s aXVAdGkuY29tPgotLS0KIGRyaXZlcnMvdXNiL211c2Ivb21hcDI0MzAuYyB8IDYgKysrKysrCiAx IGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Iv bXVzYi9vbWFwMjQzMC5jIGIvZHJpdmVycy91c2IvbXVzYi9vbWFwMjQzMC5jCmluZGV4IGIxZGQ4 MWZiNWY1NS4uYTNkMmZlZjY3NzQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9tdXNiL29tYXAy NDMwLmMKKysrIGIvZHJpdmVycy91c2IvbXVzYi9vbWFwMjQzMC5jCkBAIC01MzEsNiArNTMxLDkg QEAgc3RhdGljIGludCBvbWFwMjQzMF9ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2 KQogCiAJb21hcDI0MzBfbG93X2xldmVsX2V4aXQobXVzYik7CiAKKwlwaHlfcG93ZXJfb2ZmKG11 c2ItPnBoeSk7CisJcGh5X2V4aXQobXVzYi0+cGh5KTsKKwogCXJldHVybiAwOwogfQogCkBAIC01 NDIsNiArNTQ1LDkgQEAgc3RhdGljIGludCBvbWFwMjQzMF9ydW50aW1lX3Jlc3VtZShzdHJ1Y3Qg ZGV2aWNlICpkZXYpCiAJaWYgKCFtdXNiKQogCQlyZXR1cm4gMDsKIAorCXBoeV9pbml0KG11c2It PnBoeSk7CisJcGh5X3Bvd2VyX29uKG11c2ItPnBoeSk7CisKIAlvbWFwMjQzMF9sb3dfbGV2ZWxf aW5pdChtdXNiKTsKIAltdXNiX3dyaXRlbChtdXNiLT5tcmVncywgT1RHX0lOVEVSRlNFTCwKIAkJ ICAgIG11c2ItPmNvbnRleHQub3RnX2ludGVyZnNlbCk7Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,T_DKIMWL_WL_HIGH,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CDA62C43219 for ; Tue, 30 Apr 2019 14:59:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9E33A20652 for ; Tue, 30 Apr 2019 14:59:47 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="oBhU+OAu" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726373AbfD3O7p (ORCPT ); Tue, 30 Apr 2019 10:59:45 -0400 Received: from lelv0143.ext.ti.com ([198.47.23.248]:36738 "EHLO lelv0143.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726017AbfD3O7o (ORCPT ); Tue, 30 Apr 2019 10:59:44 -0400 Received: from fllv0034.itg.ti.com ([10.64.40.246]) by lelv0143.ext.ti.com (8.15.2/8.15.2) with ESMTP id x3UExh7A103366; Tue, 30 Apr 2019 09:59:43 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1556636383; bh=W/nM9Sl2KNt5gekBds7/tgviM8tjcvwUIrDJkviBq0Q=; h=From:To:CC:Subject:Date:In-Reply-To:References; b=oBhU+OAuSyl35ULXVJE1mfA4rnqiE4ozAC1Dencd/OgQ2dJ/1tWTwgtMGF/WlyJg7 EmVJ1I7/y2PGVlz2zrzX7GKZl1HQqBcLjdWPjr3bZhwKwuf2xdMbVJ5rhte8T9K4wG 51Z+9W388K4hBECSLTvaR0QGPTkjGtPijvBLelCo= Received: from DLEE106.ent.ti.com (dlee106.ent.ti.com [157.170.170.36]) by fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id x3UExhKb035165 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 30 Apr 2019 09:59:43 -0500 Received: from DLEE107.ent.ti.com (157.170.170.37) by DLEE106.ent.ti.com (157.170.170.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Tue, 30 Apr 2019 09:59:42 -0500 Received: from lelv0326.itg.ti.com (10.180.67.84) by DLEE107.ent.ti.com (157.170.170.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5 via Frontend Transport; Tue, 30 Apr 2019 09:59:42 -0500 Received: from uda0271908.am.dhcp.ti.com (ileax41-snat.itg.ti.com [10.172.224.153]) by lelv0326.itg.ti.com (8.15.2/8.15.2) with ESMTP id x3UExgrC071248; Tue, 30 Apr 2019 09:59:42 -0500 From: Bin Liu To: Greg Kroah-Hartman CC: , Bin Liu Subject: [PATCH 2/7] usb: musb: omap2430: Add support for idling phy when musb is idle Date: Tue, 30 Apr 2019 09:59:36 -0500 Message-ID: <20190430145942.1128-3-b-liu@ti.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190430145942.1128-1-b-liu@ti.com> References: <20190430145942.1128-1-b-liu@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Message-ID: <20190430145936.J4FlqBdth_vU9Q8wD6RH_uiqG2GCOcphK1aIvyKxqBI@z> From: Tony Lindgren I noticed that musb is blocking core retention for omap4 unlike for omap3. This is because for omap3 we have phy-twl4030-usb implement it's own PM runtime to handle errata "VUSB3V1 VBUS overvoltage debouncer not working when the PHY is powered down". That is done in order to keep the USB PHY powered when phy-twl4030-usb is loaded. For the other USB PHYs, we need to enable and disable the PHY based on musb PM runtime. With the session bit based PM runtime for musb core, we can now idle the USB PHY always when musb is idle. Note that adding these calls will not affect the twl4030 driver as it's phy functions will just query the PHY state without powering the PHY on or off. Signed-off-by: Tony Lindgren Signed-off-by: Bin Liu --- drivers/usb/musb/omap2430.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c index b1dd81fb5f55..a3d2fef67746 100644 --- a/drivers/usb/musb/omap2430.c +++ b/drivers/usb/musb/omap2430.c @@ -531,6 +531,9 @@ static int omap2430_runtime_suspend(struct device *dev) omap2430_low_level_exit(musb); + phy_power_off(musb->phy); + phy_exit(musb->phy); + return 0; } @@ -542,6 +545,9 @@ static int omap2430_runtime_resume(struct device *dev) if (!musb) return 0; + phy_init(musb->phy); + phy_power_on(musb->phy); + omap2430_low_level_init(musb); musb_writel(musb->mregs, OTG_INTERFSEL, musb->context.otg_interfsel); -- 2.17.1