Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752599AbbGNNHX (ORCPT ); Tue, 14 Jul 2015 09:07:23 -0400 Received: from mail-bn1on0139.outbound.protection.outlook.com ([157.56.110.139]:56784 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752093AbbGNNHV (ORCPT ); Tue, 14 Jul 2015 09:07:21 -0400 X-Greylist: delayed 4779 seconds by postgrey-1.27 at vger.kernel.org; Tue, 14 Jul 2015 09:07:21 EDT Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; From: Nikhil Badola To: , CC: , , Nikhil Badola Subject: [PATCH 1/2] drivers: usb: fsl: Modify phy clk valid bit checking Date: Tue, 14 Jul 2015 17:28:10 +0530 Message-ID: <1436875090-24073-1-git-send-email-nikhil.badola@freescale.com> X-Mailer: git-send-email 2.1.0 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD041;1:YiD5JExZY8JuGIF/VV1QhP1FQn9WG2ART5DASHZhP01d9zz4qANtp8cZU4ZdtbKwdFOKDt1Gr5UmPPafj3lUSgfhVAOym+W5kinURvWmwhF+dbZrs83K09+L3VT+f1XronWbU98BWy+Bwem7eYgRVn4w8VSGokKcHo8t5YP/iNOxrA7uGiuWKLzncT3VzroMYX8eMERnSvDmAT1+fsDUywQgddRQmaCxYV5old7zVaBg1cT3Vc9c6PU7es9776aAmF+kEWJ1ir99b9M8RX6bCc/a7lIdljKX0QFk1t1tqUHVErwBDmLGY+4xbOPSIgoTFvdnJ83xOeFaGfrm/L9fxaXzHKKSvbxC6BIIuk9dB/D/FrzR40/8SeuT1CBa/TMiu8KDjzr2b7+0/4/r3uJLFBeJ5rHsal/rtT7TgsIsZsXo6MJP1e9bbztw+QMvBgF4 X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(339900001)(199003)(189002)(85426001)(15975445007)(107886002)(5001960100002)(5003940100001)(77096005)(36756003)(189998001)(5001770100001)(87936001)(106466001)(19580395003)(105606002)(229853001)(19580405001)(92566002)(48376002)(6806004)(47776003)(46102003)(33646002)(104016003)(62966003)(50466002)(50986999)(77156002)(86362001)(50226001)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:SN1PR0301MB1630;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:sfv;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1630;2:O1NmLUWtpzpnIjVCka/VJySBYhT5gA8dUm8gyLiLagTTlcePHmS5HqP80ZCy0v6o;3:ta/HY6Husz1BmRQxbj5mO8/0mp0MVCHFpQm8c+/DqpdAe9YDqFkdKSkGT1HnW38Fghuedxr7oXYCOI7v3WPe1jRylqY58vrIMy24vUrUEFtbaXOFBsHNcxhVLrQbXbpi+vn9QVvz4rGTEuQ1VyAdTrlbORVHuv/HLr6qUDndocI1d3IpBS1K0DKmngCjVBx8A/25rs9JdYtB3j/UKO08wKhgj2HPliSz43Wa0NEXyRk=;25:WPHGGIwCaxsvtTYMBGOc4aRx3EU/ZcjHYGvvGOFulVtFGw1UV9gHKDqRPK3iR+bS8WHpptsNanV7UHHeHC4OHTQi7MpNonSzRodf9pUoFAwbzNnUqd9ppk0B6Dzha05pG7IvwLduZtTI7MMTis5BoIsWbd/GDtxzMNp3mw+AX4kkYF/ugx45BmEbw0l7PEpUCaADxi0w0C0fWFpyj9BEMkldI69vHY9KZTu2yuSK7BYgafIRx38r+jUF71CWC01V;20:ZwVPSlrHvftKYgIFc6Qc2a7Puv2kM+YBh7x2dTCMTShfn7Aqt6jZcw4mGZU4cLr46yR34abG/NxXWG0y3+G4NsFJC9PsG7rC9D4Mmaewz4Il2zpfHTMHRlYZJPIVe/9I2Ga6tOQ+34fExiY4DmwbZ30ccU7WGLY0QeffH6zCls4Ffp2o1t7LyxK2ucmfcECYqAPr+OM07Qx3bnfcAsYJNXri069d3UUK1eusDbeZFiE+aEyMm0pIQB6aztlAkCmFfYblB/8dR/o3VDd+wdhyyxiVqtBmpfgLgrzqqt3THAF7wRxdzPJoCQMquLpSLmaU6Ubj0411f2nyJ7fIc3mytXPvEWSvSBq/EP9rmHLweAk= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB1630; SN1PR0301MB1630: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:SN1PR0301MB1630;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB1630; X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1630;4:IjTmrt+PbZKx4SWtl9grIIaK4PSsgLbzD8i0JyiYP/l29xURwZnBUGIxxZ+MjDESWgAlL30GFwex13cpDQ/tbaEx5k5EpiA9S6XN+yOGFccqLvJirh2z4zFygw+B50BVsN/yscUemTMkkHEaubDz9D9smyS6tjrtOo1sIFPXNKbU6UXMecNr2sAvWHnsRr0ps+91LTIA0V7Vs2HR8f/5ebh4YwykA7jn1NmB5mfpESfRNT60BE/ANicfhOvQvRX2WJuf2UpS1OKzEdKDo24JtAwKMLe+uzTBLKTll8vz840= X-Forefront-PRVS: 0637FCE711 X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1630;23:JM/wtX8b9jCL3BFSl1JIAkiMJlC3TaI3l2jaDYEgWNXNByMw45ZdFFYBr7gCoQtd7Y8F8VU0stJGs76lyvt8dI7cWT6aot7+fsN7YG8EXGgmqYeGoH1FH680FyEMZfxIBLzKyGxT5727jSV/ZzIMfp4OFAsoMM3XwvK50B4iTMsV/ZHsyELvwnOeSjbeKydriNlNP6e4JNuCKF1SzdJskkmQD57ly8FNKJ1xlu2njR0h8bCJ/5tgyyWBitu3fJwEYJBi1l8uV7Chb8aHaCFw8baXoqkgIsovCdReQ3UjBYebbAmMmWdvNJFaPEZqqk9a35cycEq713hA9+ZMStyhfpZ3XuqDp1CSCVH22c8h0vm+841Bc1y2ul97gVPTxHlT5oCsEFtVv8lba/SRDRXdViCGaBssxvgmOq6Y0dpl6oTrO+A7KeiB4VswZHN9Gpb3zeI77fa95VLnFjBfP8slF2zywuWlndux+jNnPZPJevDGJC0axUw1zsznM2Cyxz0qh+0TqLTUFfXb1gjJvdxi49eifYDoOdwW9gOR5Y6vvBVNUKfhcKAc/3pVG8+j4eOILOKa1T04NTDCcr9A/YlyXGoM3H92Tnw6qt13Csae+boqOx9ofTGADKiycBQp619FUm5yQi3HlaK/Ls5t+lZ5Toa+ToR/t160jAE1ff4L/fjigQ5CU9ZNnnKq8NJGZp7eGgM9AkMaZ77UHizhGwb31RuUbebJ7OHSFEm794gJayAShol+iKiQnXBjZec/FwDS5TJfpKAm4vy6u7n25ZpJb4vmu43tHWR8lV9gXA3R20pPOx7s5cZTI70rfcdX0MuIvQGIFZFwuCkOaly+xywYg8jQacY6eOhXcUA38/BD7C3ovgzBJPAzDDpTQ9Fwlx5U+NHaZSOtSyyJ9AtrsbCSZ9qu8a1c4FoV0CQfWDtH+fUGUyLErZDyF/N52EJJU/3f X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1630;5:88b/BDCV/ss7//8ghQlllyeKQKdL307wxgtM8LlTOuv3+uLMyt+DtfpiNDBgibsX9U+JY4Xv0SuS1w2EJq/+hJNmU+UsGFFT3jVfMXu03CRq2Op2IX6LXhuvbdqM4cOmHYgHJXhDXLvX2aBOtukmgA==;24:I0zq+fJOqFKQPXL6xbb45AEwWENFAOlqHcslcLo1WijuCiptz0pG+zmxAp2qujj94Mb9CGJagV6qsazckKVxg7gnDj++tfUC30q3S/qnj5s=;20:/r1HQZbdmu5CqOWJ18X3gND3jqbT43xoqLEIkpGb7O9bXQUECxZjPMcH6ydZPFUHHsb7L1VHQwMKK8PdX+daRA== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2015 11:32:57.0685 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0301MB1630 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2871 Lines: 81 Phy_clk_valid bit is checked only when the boolean property phy-clk-valid in present in usb node device tree. This property is added to the usb node via device tree fixup. Signed-off-by: Nikhil Badola --- Dependent on patchset : https://lkml.org/lkml/2015/6/15/177 and subsequent patches drivers/usb/host/ehci-fsl.c | 16 ++++++++-------- drivers/usb/host/fsl-mph-dr-of.c | 9 +++++++++ include/linux/fsl_devices.h | 1 + 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c index b04c9db..05ebe3d 100644 --- a/drivers/usb/host/ehci-fsl.c +++ b/drivers/usb/host/ehci-fsl.c @@ -230,14 +230,14 @@ static int ehci_fsl_setup_phy(struct usb_hcd *hcd, break; } - if (pdata->have_sysif_regs && - pdata->controller_ver > FSL_USB_VER_1_6 && - (phy_mode == FSL_USB2_PHY_ULPI)) { - /* check PHY_CLK_VALID to get phy clk valid */ - if (!(spin_event_timeout(in_be32(non_ehci + FSL_SOC_USB_CTRL) & - PHY_CLK_VALID, FSL_USB_PHY_CLK_TIMEOUT, 0) || - in_be32(non_ehci + FSL_SOC_USB_PRICTRL))) { - dev_warn(hcd->self.controller, "USB PHY clock invalid\n"); + /* + * check PHY_CLK_VALID to determine phy clock presence before writing + * to portsc + */ + if (pdata->check_phy_clk_valid) { + if (!(in_be32(non_ehci + FSL_SOC_USB_CTRL) & PHY_CLK_VALID)) { + dev_warn(hcd->self.controller, + "USB PHY clock invalid\n"); return -EINVAL; } } diff --git a/drivers/usb/host/fsl-mph-dr-of.c b/drivers/usb/host/fsl-mph-dr-of.c index 631fc50..9f73141 100644 --- a/drivers/usb/host/fsl-mph-dr-of.c +++ b/drivers/usb/host/fsl-mph-dr-of.c @@ -222,6 +222,15 @@ static int fsl_usb2_mph_dr_of_probe(struct platform_device *ofdev) else pdata->has_fsl_erratum_a007792 = 0; + /* + * Determine whether phy_clk_valid needs to be checked + * by reading property in device tree + */ + if (of_get_property(np, "phy-clk-valid", NULL)) + pdata->check_phy_clk_valid = 1; + else + pdata->check_phy_clk_valid = 0; + if (pdata->have_sysif_regs) { if (pdata->controller_ver == FSL_USB_VER_NONE) { dev_warn(&ofdev->dev, "Could not get controller version\n"); diff --git a/include/linux/fsl_devices.h b/include/linux/fsl_devices.h index 070d9ae..cebdbbb 100644 --- a/include/linux/fsl_devices.h +++ b/include/linux/fsl_devices.h @@ -99,6 +99,7 @@ struct fsl_usb2_platform_data { unsigned suspended:1; unsigned already_suspended:1; unsigned has_fsl_erratum_a007792:1; + unsigned check_phy_clk_valid:1; /* register save area for suspend/resume */ u32 pm_command; -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/