Received: by 10.213.65.68 with SMTP id h4csp306714imn; Fri, 23 Mar 2018 05:12:14 -0700 (PDT) X-Google-Smtp-Source: AG47ELvvFv1GgeeFSGZszbo2jlT2xmmiUJCR2Kh3eEte4fENKKecalNjqyUyHGKRqY5DTF6+BshU X-Received: by 10.99.123.78 with SMTP id k14mr18524468pgn.67.1521807134677; Fri, 23 Mar 2018 05:12:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521807134; cv=none; d=google.com; s=arc-20160816; b=E8jvyBZ5bh3Chb1rZSAjdiU8PzF8qTmrbpGARliWxKvsmTgPmZN2yoMQKMmVQW8E+r DLxLvWPdXIiBoKmxhhZXFrpymeKQf4lwaHjvm8CC53CmfrtJeihN1i1311KIheSW2CPI 3kVWtCU0cy7GR3h7mN0Lm/eDNtvxzpB+kPp7tUPpCwrWThHXSrrUIIlLC36i817wu63q b42jPAFYo9UpmB+mLSXz+eHECXZj6xgRQU2lZjosv/v2Pn5x9aOZdH016neBaCOssu76 ezvG0o2C8soECxc+uQ6DsOZVYaQ4ZGxzao8t5HnJ1ea9I1yLR7IlPEM3yNP/wMLxbDMV 04Tg== 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=Azx9Cl//QC3QjNHyoe7jLA6CCM1AoHS4Chr/rqC6l/g=; b=lNyXMJcgZgTSZ57drsVOKxd4ncOvdLEJ0Jm/rwlUO70h6/KxCXkyWeJ97nA4Mrn2+r dWtcmMmlw/u++wy8ImUyklN3QA25CHEBzYOs7/8PcjfzLgy8ZOVXmlumUGsMX8IB9VbN rpq7w2QRHxH0K2j6iyc0k7v6iqUirgceyPJaF8ndrFJXsDybCjGihZCFYKMxvBZidLid pTH8H/4gGY4APRCHLBVONGOrsixBDFXY3mNFJ2Cw2IkhbGGypRRWar9P5lVsE4bquXDy h/xReuhUEm4PMKYpiZoD0xF/Mh5jv30asTge4Naey+W640Z5805Wm66f3OiMu+3xAoqK Awjw== 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 h8si5942830pgq.665.2018.03.23.05.12.00; Fri, 23 Mar 2018 05:12:14 -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 S1753291AbeCWMLI (ORCPT + 99 others); Fri, 23 Mar 2018 08:11:08 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:35474 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752947AbeCWJ5u (ORCPT ); Fri, 23 Mar 2018 05:57:50 -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 251FC1056; Fri, 23 Mar 2018 09:57:49 +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.15 47/84] mmc: sdhci-xenon: wait 5ms after set 1.8V signal enable Date: Fri, 23 Mar 2018 10:54:01 +0100 Message-Id: <20180323095419.109959552@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180323095411.913234798@linuxfoundation.org> References: <20180323095411.913234798@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.15-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,