Received: by 10.213.65.68 with SMTP id h4csp291679imn; Fri, 23 Mar 2018 04:53:56 -0700 (PDT) X-Google-Smtp-Source: AG47ELsUNm6dxAQlr4FzZc/AwAbEX46rOe4UhpV31IIKvvnVtkvo0XOn+VgFR9JRVaPvVaIoxbOk X-Received: by 10.99.149.86 with SMTP id t22mr7145851pgn.144.1521806035966; Fri, 23 Mar 2018 04:53:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521806035; cv=none; d=google.com; s=arc-20160816; b=Uw4dp0iFowJyAWiQMLwx/vihMMAt6nJ0+xS/FX7gOlDjQCp9asY7gYmPLbMxH/Jr0T zUwUL2oB2AY+O1517/vgYudXThSxgExnMAcjUmnUiYAQg47qSqK1Vg/weypFtPlJH8La /jJ8s6scSUVih0aHjZkloZevg/R0ocUkZhGQ4KcDT84VXuKc95WXSz/DbzbQCMOpvGzf Mf1XnBLFBpXVykVz07eDkAgYm4SeSUXujpRSEl3yUnTJ+32gPyecYumHxZuVG873USZE +mf1oUIXcawtEk5kooQpWDM5ndmQR2m+mLNlfcfyPflFGrVnwI8CQAkKSXiqe3MZNrKU Yg9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=s3ea8UzYKymDDgUwnZqa8A/MB5hdA8nR6FiSZAYSvV0=; b=MTf0wmqqswLzKnJza8GV+ZOywOVxwKKeKkKv2BUoUwh87rJzPa/Ibpj4E5Rqv7SE/c lFSLYI4Wur20CEKIyDTADNs/zZZtwoiBWckwRebpfSq2xq5zWRiOqXOcqn71OuF0jzmv USdYSrLUT37RLcnO7FzHQbfUd0UTT5pJfiGFu9lTbSUTTpyiQI8FEFvk0wcPqj7JgAh9 rqP/BPcoAUrQtkeJnYOz0GuselcHAQJjVaj3Q0zX7/DlsH78DC1xlTWA3cbq3je+PxwY 0Yxo5VQDYin7IpwJWaKvWIoVsAlbydUi37gU5KDqNNP31j8B/+dPGY4Fgg2FSDS3XcbY nnQQ== 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 g11si5957390pgu.216.2018.03.23.04.53.41; Fri, 23 Mar 2018 04:53:55 -0700 (PDT) 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 S1754047AbeCWKB5 (ORCPT + 99 others); Fri, 23 Mar 2018 06:01:57 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:38104 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754029AbeCWKBy (ORCPT ); Fri, 23 Mar 2018 06:01:54 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 2086012A1; Fri, 23 Mar 2018 10:01:53 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Zhoujie Wu , Adrian Hunter , Ulf Hansson , Sasha Levin Subject: [PATCH 4.14 41/77] mmc: sdhci-xenon: wait 5ms after set 1.8V signal enable Date: Fri, 23 Mar 2018 10:54:15 +0100 Message-Id: <20180323094145.036289033@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180323094142.260022880@linuxfoundation.org> References: <20180323094142.260022880@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.14-stable review patch. If anyone has any objections, please let me know. ------------------ From: Zhoujie Wu [ Upstream commit 8d876bf472dba73c015cea9feea80dcb80626a7c ] According to SD spec 3.00 3.6.1 signal voltage switch procedure step 6~8, (6) Set 1.8V Signal Enable in the Host Control 2 register. (7) Wait 5ms. 1.8V voltage regulator shall be stable within this period. (8) If 1.8V Signal Enable is cleared by Host Controller, go to step (12). Host should wait 5ms after set 1.8V signal enable bit in Host Control 2 register and check if 1.8V is stable or not. But current code checks this bit right after set it. On some platforms with xenon controller found the bit is cleared right away and host reports "1.8V regulator output did not became stable" and 5ms delay can help. Implement voltage_switch callback for xenon controller to add 5ms delay to make sure the 1.8V signal enable bit is set by controller. Signed-off-by: Zhoujie Wu Acked-by: Adrian Hunter Signed-off-by: Ulf Hansson Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/mmc/host/sdhci-xenon.c | 7 +++++++ 1 file changed, 7 insertions(+) --- a/drivers/mmc/host/sdhci-xenon.c +++ b/drivers/mmc/host/sdhci-xenon.c @@ -230,7 +230,14 @@ static void xenon_set_power(struct sdhci mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd); } +static void xenon_voltage_switch(struct sdhci_host *host) +{ + /* Wait for 5ms after set 1.8V signal enable bit */ + usleep_range(5000, 5500); +} + static const struct sdhci_ops sdhci_xenon_ops = { + .voltage_switch = xenon_voltage_switch, .set_clock = sdhci_set_clock, .set_power = xenon_set_power, .set_bus_width = sdhci_set_bus_width,