Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753530AbcJEVWf (ORCPT ); Wed, 5 Oct 2016 17:22:35 -0400 Received: from skprod2.natinst.com ([130.164.80.23]:46015 "EHLO ni.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751687AbcJEVWe (ORCPT ); Wed, 5 Oct 2016 17:22:34 -0400 Date: Wed, 5 Oct 2016 16:22:23 -0500 From: Julia Cartwright To: Rob Herring Cc: Ulf Hansson , Zach Brown , Adrian Hunter , Mark Rutland , linux-mmc , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [RFC 1/2] sdhci: Add device tree property sd-broken-highspeed Message-ID: <20161005212223.GK10625@jcartwri.amer.corp.natinst.com> References: <1474660869-15532-1-git-send-email-zach.brown@ni.com> <1474660869-15532-2-git-send-email-zach.brown@ni.com> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.7.0 (2016-08-17) X-MIMETrack: Itemize by SMTP Server on US-AUS-MGWOut2/AUS/H/NIC(Release 8.5.3FP6 HF1218|December 12, 2014) at 10/05/2016 04:22:23 PM, Serialize by Router on US-AUS-MGWOut2/AUS/H/NIC(Release 8.5.3FP6 HF1218|December 12, 2014) at 10/05/2016 04:22:24 PM, Serialize complete at 10/05/2016 04:22:24 PM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-10-05_06:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2252 Lines: 48 On Wed, Oct 05, 2016 at 03:03:44PM -0500, Rob Herring wrote: > On Wed, Oct 5, 2016 at 1:33 PM, Ulf Hansson wrote: > > On 23 September 2016 at 22:01, Zach Brown wrote: > >> Certain board configurations can make highspeed malfunction due to > >> timing issues. In these cases a way is needed to force the controller > >> and card into standard speed even if they otherwise appear to be capable > >> of highspeed. > >> > >> The sd-broken-highspeed property will let the sdhci driver know that > >> highspeed will not work. > >> > >> Signed-off-by: Zach Brown > >> --- > >> Documentation/devicetree/bindings/mmc/mmc.txt | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >> diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt > >> index 8a37782..59332ea 100644 > >> --- a/Documentation/devicetree/bindings/mmc/mmc.txt > >> +++ b/Documentation/devicetree/bindings/mmc/mmc.txt > >> @@ -52,6 +52,8 @@ Optional properties: > >> - no-sdio: controller is limited to send sdio cmd during initialization > >> - no-sd: controller is limited to send sd cmd during initialization > >> - no-mmc: controller is limited to send mmc cmd during initialization > >> +- sd-broken-highspeed: Highspeed is broken, even if the controller and card > >> + themselves claim they support highspeed. > > > > Regarding a broken card, that is managed via the card quirks and not in DT. > > > > If this is about a controller limitation, we already have the option > > to describe what it supports, so we don't need an option to tell what > > it *not* supports. > > > > For example "cap-sd-highspeed" tells whether the controller supports > > SD high-speed, please use that instead. > > If a controller has a capability register and it lies (perhaps the > board has limitations that the SoC does not), then you may need to > disable a feature. That's precisely the case here. This is a board-level problem, not a card or controller problem. As Zach mentioned in the cover letter, the trace length between controller and card on some of our boards is too long to meet high-speed timings, even though both card and controller advertise it. Thanks, Julia