Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3600240imu; Mon, 28 Jan 2019 07:38:38 -0800 (PST) X-Google-Smtp-Source: ALg8bN5clc7/Au4m2PnFz+HRpBieQ8pNGIBfjo6NbonKzv4Pmd0y5AC+MWjKTPp79avLFfdEKKep X-Received: by 2002:a62:99dd:: with SMTP id t90mr22154034pfk.179.1548689918586; Mon, 28 Jan 2019 07:38:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548689918; cv=none; d=google.com; s=arc-20160816; b=YAQvPxihuq9vfdFQyKdYiRNdTg1qwX5/iy0aZ08AaFxrrZ8cLJE5Xcsg5sTu48axKT SjU9vFwCNYhuhxi6lRH36n7S36ho1xk99zPqMOVGuP5MnLV6uiToBrQstbgYRyZBYQpm 2vOffKUXkYtAHp1n8liy3bV+MDabIorzYtu2WKKCDUYn0y5Fa1u1UCkag8F4uotdlUNm NhP/mp5IGU7GRnpMPdq8z0YJp5MYHYoS+SO5bTF9J49AEfJWIdyu5IQlrK28KZzC+vfF LofUUHPKIU+PSZwwzcFa/cdqccNrur9tCMQcvzopdKaMzbXlPVD/YlgIp3xoZKgqkzAF sGFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:in-reply-to :subject:cc:to:from:date; bh=12mzixCiD3dwQJWxGxtAeHNXFqpRdlaC7onpIVWSCsQ=; b=EFGvrMufsjKZb6J+01Y0JIB8kNdk/2oCGTJx1ngCAiIJ2fCf5bJeZbchInhf0sp0Bo 7Fukd1ydE31b1zvfEigr8OJte1pcG9RpVYyRt38f2D/zAhtWAh8/AxeGYjD8EqQHjv+s CpvZHv8bLSHa+fIohrKlf5ErLSwxr7tn6IyouMypdriIXy/741EC9isOmld4xefG+/Sc hS1LqIO2VpVEDke0WSDIomrFtLWPB6dRIVJN/jZjSHg83wp1oMoK5nA3gWdtf2zLL4VG NbUClfKJ9SDYFJKN8BKn0FcAo7nVjkTYFIhfYumkC+zhD5zEOnhVlttP/qWAyb9AfFB8 lmWA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 3si11881685plo.217.2019.01.28.07.38.23; Mon, 28 Jan 2019 07:38:38 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726861AbfA1PiM (ORCPT + 99 others); Mon, 28 Jan 2019 10:38:12 -0500 Received: from iolanthe.rowland.org ([192.131.102.54]:57062 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1726775AbfA1PiL (ORCPT ); Mon, 28 Jan 2019 10:38:11 -0500 Received: (qmail 3465 invoked by uid 2102); 28 Jan 2019 10:38:11 -0500 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 28 Jan 2019 10:38:11 -0500 Date: Mon, 28 Jan 2019 10:38:11 -0500 (EST) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: Yinbo Zhu cc: Xiaobo Xie , Jerry Huang , Ran Wang , Greg Kroah-Hartman , Ramneek Mehresh , Nikhil Badola , Suresh Gupta , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v4 4/5] usb: host: Stops USB controller init if PLL fails to lock In-Reply-To: <20190125060356.14294-4-yinbo.zhu@nxp.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 25 Jan 2019, Yinbo Zhu wrote: > From: Ramneek Mehresh > > USB erratum-A006918 workaround tries to start internal PHY inside > uboot (when PLL fails to lock). However, if the workaround also > fails, then USB initialization is also stopped inside Linux. > Erratum-A006918 workaround failure creates "fsl,erratum_a006918" > node in device-tree. Presence of this node in device-tree is > used to stop USB controller initialization in Linux > > Signed-off-by: Ramneek Mehresh > Signed-off-by: Suresh Gupta > Signed-off-by: Yinbo Zhu > --- > drivers/usb/host/ehci-fsl.c | 5 +++++ > drivers/usb/host/fsl-mph-dr-of.c | 3 ++- > 2 files changed, 7 insertions(+), 1 deletions(-) > > diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c > index 373a816..8b47277 100644 > --- a/drivers/usb/host/ehci-fsl.c > +++ b/drivers/usb/host/ehci-fsl.c > @@ -236,6 +236,11 @@ static int ehci_fsl_setup_phy(struct usb_hcd *hcd, > portsc |= PORT_PTS_PTW; > /* fall through */ > case FSL_USB2_PHY_UTMI: > + if (pdata->has_fsl_erratum_a006918) { > + pr_warn("fsl-ehci: USB PHY clock invalid\n"); Again, you should use dev_warn() instead of pr_warn(). Alan Stern > + return -EINVAL; > + } > + > case FSL_USB2_PHY_UTMI_DUAL: > /* PHY_CLK_VALID bit is de-featured from all controller > * versions below 2.4 and is to be checked only for > diff --git a/drivers/usb/host/fsl-mph-dr-of.c b/drivers/usb/host/fsl-mph-dr-of.c > index 4f8b8a0..762b976 100644 > --- a/drivers/usb/host/fsl-mph-dr-of.c > +++ b/drivers/usb/host/fsl-mph-dr-of.c > @@ -224,13 +224,14 @@ static int fsl_usb2_mph_dr_of_probe(struct platform_device *ofdev) > of_property_read_bool(np, "fsl,usb-erratum-a005275"); > pdata->has_fsl_erratum_a005697 = > of_property_read_bool(np, "fsl,usb_erratum-a005697"); > + pdata->has_fsl_erratum_a006918 = > + of_property_read_bool(np, "fsl,usb_erratum-a006918"); > > if (of_get_property(np, "fsl,usb_erratum_14", NULL)) > pdata->has_fsl_erratum_14 = 1; > else > pdata->has_fsl_erratum_14 = 0; > > - > /* > * Determine whether phy_clk_valid needs to be checked > * by reading property in device tree >