Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp4763335imm; Tue, 7 Aug 2018 07:01:55 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeqj8hui8ASLZ8ujt9oSATc4F4YeIvpYn3Qs7HXgrXp6+FUR8EDF7RXOoTN4GPSm2gzWeMn X-Received: by 2002:a63:e0b:: with SMTP id d11-v6mr18969623pgl.134.1533650515748; Tue, 07 Aug 2018 07:01:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533650515; cv=none; d=google.com; s=arc-20160816; b=S+xQMTRtYwfOsbboV+pLmrdUGch0DBVRFfGFgu244RdMmZrAVB2s/OD0jsxEXrt1G+ DVeIHo4Cl4wziypzBYeXQiEu9Bv56rf8vD20TNRJlx0bJ9B8XzuCYVnF37D+6UNNNUn2 LD+YwDu5bNSTXs7VhbU8a/9YN1dhxiu4fLiWLHPnV2gESXFaHPwPU25BINE66wphl0JX v5/j74QDXr9omZ8m8C+VWfJ9tD4cXXysrvZ49Mv+AXVMfYkEMV4XbW7mMEBqahoKoaEl CIjrfBRjLGjeKDvDdalSJhwRNND6Na9VUe4SZo3H0YHMb7qLl38hjNMdnoHmnl73RuoD h+Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:arc-authentication-results; bh=YFBoDI7J+LGm0DhlsXphqG5k95vJoDhROVJ8Xq83qiw=; b=dJVzGJ1DslqlIQNYR40YRYg9QiMDIPr3iPfwWNH7rArv80ZO25dEVjYy6X2SdYGLVc fJxglUt9uUrL7Uu6vl6AUbygbjd3sCBKi0WqXQYrqO+7+sQ25ssA11pgnvIExj+q/40r 1wxN8KiimCaSQdSXUdgsnBV5rRUGINb7EDrjwFMDqwgyzG+fcVZdUViLTjUQ6MoJEjWD bvb5Coqw3hKOVIz+1fSwt6F4ch4iS4pwlqN3plI/L/oeInM6hYGGxwl8CMiUnvxZWnzH zsMmQ0h6gU0Otz7jif/YUObq19st40s45IlzzpmrN9cdTotrMVsh3TxIZn3jig6tIvJf b1sA== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q145-v6si1496365pfq.315.2018.08.07.07.01.40; Tue, 07 Aug 2018 07:01: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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389458AbeHGQOy (ORCPT + 99 others); Tue, 7 Aug 2018 12:14:54 -0400 Received: from hqemgate14.nvidia.com ([216.228.121.143]:8892 "EHLO hqemgate14.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389244AbeHGQOx (ORCPT ); Tue, 7 Aug 2018 12:14:53 -0400 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate14.nvidia.com (using TLS: TLSv1, AES128-SHA) id ; Tue, 07 Aug 2018 07:00:12 -0700 Received: from HQMAIL101.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Tue, 07 Aug 2018 07:00:26 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Tue, 07 Aug 2018 07:00:26 -0700 Received: from HQMAIL106.nvidia.com (172.18.146.12) by HQMAIL101.nvidia.com (172.20.187.10) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 7 Aug 2018 14:00:25 +0000 Received: from hqnvemgw02.nvidia.com (172.16.227.111) by HQMAIL106.nvidia.com (172.18.146.12) with Microsoft SMTP Server (TLS) id 15.0.1347.2 via Frontend Transport; Tue, 7 Aug 2018 14:00:25 +0000 Received: from dhcp-10-21-25-168.Nvidia.com (Not Verified[10.21.25.201]) by hqnvemgw02.nvidia.com with Trustwave SEG (v7,5,8,10121) id ; Tue, 07 Aug 2018 07:00:25 -0700 From: Aapo Vienamo To: Ulf Hansson , Rob Herring , Mark Rutland , Thierry Reding , Jonathan Hunter , Adrian Hunter , Mikko Perttunen CC: , , , , Aapo Vienamo Subject: [PATCH 3/8] mmc: tegra: Implement HS400 enhanced strobe Date: Tue, 7 Aug 2018 16:59:59 +0300 Message-ID: <1533650404-18125-4-git-send-email-avienamo@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1533650404-18125-1-git-send-email-avienamo@nvidia.com> References: <1533650404-18125-1-git-send-email-avienamo@nvidia.com> X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Implement HS400 enhanced strobe. Signed-off-by: Aapo Vienamo --- drivers/mmc/host/sdhci-tegra.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c index 426f7ea..d81143b 100644 --- a/drivers/mmc/host/sdhci-tegra.c +++ b/drivers/mmc/host/sdhci-tegra.c @@ -43,6 +43,9 @@ #define SDHCI_CLOCK_CTRL_PADPIPE_CLKEN_OVERRIDE BIT(3) #define SDHCI_CLOCK_CTRL_SPI_MODE_CLKEN_OVERRIDE BIT(2) +#define SDHCI_TEGRA_VENDOR_SYS_SW_CTRL 0x104 +#define SDHCI_TEGRA_SYS_SW_CTRL_ENHANCED_STROBE BIT(31) + #define SDHCI_TEGRA_VENDOR_CAP_OVERRIDES 0x10c #define SDHCI_TEGRA_CAP_OVERRIDES_DQS_TRIM_MASK 0x00003f00 #define SDHCI_TEGRA_CAP_OVERRIDES_DQS_TRIM_SHIFT 8 @@ -271,6 +274,22 @@ static void tegra_sdhci_set_tap(struct sdhci_host *host, unsigned int tap) } } +static void tegra_sdhci_hs400_enhanced_strobe(struct mmc_host *mmc, + struct mmc_ios *ios) +{ + struct sdhci_host *host = mmc_priv(mmc); + u32 reg; + + reg = sdhci_readl(host, SDHCI_TEGRA_VENDOR_SYS_SW_CTRL); + pr_err("enhanced strobe: %d\n", ios->enhanced_strobe); + if (ios->enhanced_strobe) + reg |= SDHCI_TEGRA_SYS_SW_CTRL_ENHANCED_STROBE; + else + reg &= ~SDHCI_TEGRA_SYS_SW_CTRL_ENHANCED_STROBE; + sdhci_writel(host, reg, SDHCI_TEGRA_VENDOR_SYS_SW_CTRL); + +} + static void tegra_sdhci_reset(struct sdhci_host *host, u8 mask) { struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); @@ -947,6 +966,9 @@ static int sdhci_tegra_probe(struct platform_device *pdev) sdhci_tegra_start_signal_voltage_switch; } + host->mmc_host_ops.hs400_enhanced_strobe = + tegra_sdhci_hs400_enhanced_strobe; + rc = mmc_of_parse(host->mmc); if (rc) goto err_parse_dt; -- 2.7.4