From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752889AbbBMMfW (ORCPT ); Fri, 13 Feb 2015 07:35:22 -0500 Received: from mga01.intel.com ([192.55.52.88]:12761 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752569AbbBMMfU (ORCPT ); Fri, 13 Feb 2015 07:35:20 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,570,1418112000"; d="scan'208";a="677485191" Date: Fri, 13 Feb 2015 14:35:16 +0200 From: Heikki Krogerus To: David Cohen Cc: Felipe Balbi , Greg Kroah-Hartman , Baolu Lu , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Kishon Vijay Abraham I Subject: Re: [PATCH 8/8] phy: add driver for TI TUSB1210 ULPI PHY Message-ID: <20150213123516.GB27695@kuha.fi.intel.com> References: <1422025978-178336-1-git-send-email-heikki.krogerus@linux.intel.com> <1422025978-178336-9-git-send-email-heikki.krogerus@linux.intel.com> <20150213015242.GD21337@psi-dev26.jf.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150213015242.GD21337@psi-dev26.jf.intel.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On Thu, Feb 12, 2015 at 05:52:42PM -0800, David Cohen wrote: > Hi Heikki, > > Sorry I am starting a new branch on this thread. > I need to go back to another topic on this same patch. > > On Fri, Jan 23, 2015 at 05:12:58PM +0200, Heikki Krogerus wrote: > > TUSB1210 ULPI PHY has vendor specific register for eye > > diagram tuning. On some platforms the system firmware has > > set optimized value to it. In order to not loose the > > optimized value, the driver stores it during probe and > > restores it every time the PHY is powered back on. > > > > Signed-off-by: Heikki Krogerus > > Cc: Kishon Vijay Abraham I > > --- > > [snip] > > > + /* Store initial eye diagram optimisation value */ > > + ret = ulpi_read(ulpi, TUSB1210_VENDOR_SPECIFIC2); > > We can't rely on eye diagram optimization value here. It's possible the > phy went through reset (e.g. module unloading/loading). > We need a more consistent method. Could we use _DSD instead? That would > be more compatible with DT too. I'm don't have any problem with getting the value from a property. Sounds like the correct thing to do. Are you thinking about putting that _DSD method to the ACPI device object for the dwc3? The correct place would probable be separate device object for the PHY, but if we do that we need to consider how that object is bound to the ulpi device. There are few ways we can do that, so it requires some thinking. In any case this driver we can already implement so that it expects to get the value from property. We just need the name for it. The register has actually separate fields for High speed output impedance configuration and High speed output driver strength configuration for eye diagram tuning, plus control bit for DP/DM swap. Maybe we should actually get them from three separate properties: device_property_read_u8(dev, "datapolarity", &val); ... device_property_read_u8(dev, "zhsdrv", &val); ... device_property_read_u8(dev, "ihstx", &val); ... What do you think? Cheers, -- heikki