Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp3613358ybl; Sun, 25 Aug 2019 20:20:34 -0700 (PDT) X-Google-Smtp-Source: APXvYqzpWkodZ/Vkz3yTiaGpk+5YJoDivtR+eiJDYwEQN+t3cjuYp3UffyJAuXv4gRJO3bJ91usl X-Received: by 2002:a17:902:d690:: with SMTP id v16mr16055325ply.318.1566789634646; Sun, 25 Aug 2019 20:20:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566789634; cv=none; d=google.com; s=arc-20160816; b=yzj7yyzorF9nhNbh9QlvrnnP2KQ3oZlS6rcvEzdqROcCHnYlrF4PXxSMi4u6YOGYIO iQ8pgaH6r5nbL1eJRKaJ2vGeaEmXeb3WC2crlR9uJvQ8Ww87ZDWpSrwrRbvULkvx5T7I +7ArmGEk7R2X2OWnTumQ3/EXQRBoeUt1KIdzh9CCjptjSrVgu/y1hcrDP522DbW+hFSK 3hKNCPdCmhTdDXJHVCys9YTszHP7ptmo3ztoG98rPBjsQmy/M7qVPNtuXwFe8Wog41I9 vV9tPJJadHZ247bPv9s+/Y01ZnWbPB2XK+4UPgcOnjdmSSqWmsVhqwfEQ8m9rNwGPFC2 8D8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=vrKXb1c+fhWL6XvI6Q8/QhED1MUXcVFYoSihiJAZjTw=; b=X+P3FGTI1DFQB5W4+IiwnSL9aTlYGuudyD0l/1X/TjQA3FsQxYCjypFKz6WIlq9K9C PVnX9hChAnfs+Q7eLglJ1rmBno5Fv4OX+aACWehfLPcvRmqGWOrA0extCXEJ9qqocl9C Xo8LGwEPo5oxkGOUSES7g0GDxJ5B4hQsDw0QCRXNZkReF6Mr3ZyXDzHJLR7qdlLE9p41 7s5qtX3EvC63rqNPv3JfY2ClCe1BBAQtxHeR2aApQ+OUjVOdDedFs8eK7DImSOwHx0zA COMDFdTUI+L4PC+IrGDEmkqRCio/IySVznnOYuWqHHRZ+l6uBYn9NK03R0P3LEnXKwwP spjA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=slhUxvnh; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n14si9377274pfq.108.2019.08.25.20.20.20; Sun, 25 Aug 2019 20:20:34 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=slhUxvnh; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729689AbfHZDTH (ORCPT + 99 others); Sun, 25 Aug 2019 23:19:07 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:34608 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729681AbfHZDTG (ORCPT ); Sun, 25 Aug 2019 23:19:06 -0400 Received: by mail-pg1-f193.google.com with SMTP id n9so9682388pgc.1; Sun, 25 Aug 2019 20:19:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=vrKXb1c+fhWL6XvI6Q8/QhED1MUXcVFYoSihiJAZjTw=; b=slhUxvnhGpV6q597AQTrd/fdto0uqCVHTUkFdHIuxFjXjGw31s9GinpL1xDyvEM9KD ALUyg1Aruz9FyXfUSWbiINUptanxSXIg2ONksosjrl+TPEHh/nPOGP4QGSIYmFUKw5im e5IrhSYWlfawHlB8PvZeAlfZ9T15ue6Y1oR0TkcOKHzOcPAMK7VOYXxUqtfVMm4vtQbC BTtUQjDSn7ziAsWJISuPlckXsFOhrSkcEA4sKL24HSL4q+LHNcZamXsOttEEyAAoK9Y0 pTTqfSmD4svCfaKnT5dLKS9hoSTNoqVfvX9EKEed+Ywmpckg8p767hZHL1X5HwM8mvm0 2iAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vrKXb1c+fhWL6XvI6Q8/QhED1MUXcVFYoSihiJAZjTw=; b=JhrEH2AU3XiVakWiUzx0LaTkPMysFpLPEQiD0FglfnJP+2AkQN3lT+XFw8c0aloTIZ CW7SBFguo5scgEBqp+eLGGOI/Av6wklXyJT1KbOfFGY/D7lJBSlW/mtyZotXyA3TSoT/ x/j6YeMRuULhB/mDsxPiX056IofRtUbZBtb/OucgezNMMqoNqfcRo0yLxLz16mDu5768 rFX+ejUffy6UmmjH93L2hdnebgIn66PLKNTEjKSkMtjPgDZkR1dbSp9s0PEKJv7Ng18Q q01gg9FL52VTMV694/Slap0TvSN2hX5YTPmXjjDgn0s2Olr0j7HhpPhdXn+7eXL/+wsr NGZA== X-Gm-Message-State: APjAAAURCBdh+ij88GlJR8kpY8fThRUbD2Ef8FHwuo/rMZLtbfxEQwaf iWaD719zGY9KHvwrjs3nCRZUKU/J X-Received: by 2002:a65:4546:: with SMTP id x6mr14195563pgr.266.1566789545234; Sun, 25 Aug 2019 20:19:05 -0700 (PDT) Received: from ubt.spreadtrum.com ([117.18.48.82]) by smtp.gmail.com with ESMTPSA id y23sm12565905pfr.86.2019.08.25.20.19.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Aug 2019 20:19:04 -0700 (PDT) From: Chunyan Zhang To: Ulf Hansson , Adrian Hunter , Orson Zhai , Baolin Wang Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Chunyan Zhang Subject: [PATCH 5/5] mmc: sdhci-sprd: clear the UHS-I modes read from registers Date: Mon, 26 Aug 2019 11:18:30 +0800 Message-Id: <20190826031830.30931-6-zhang.lyra@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190826031830.30931-1-zhang.lyra@gmail.com> References: <20190826031830.30931-1-zhang.lyra@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Chunyan Zhang sprd's sd host controller supports SDR50/SDR104/DDR50 though, the UHS-I mode used by the specific card can be selected via devicetree only. Signed-off-by: Chunyan Zhang Signed-off-by: Chunyan Zhang --- drivers/mmc/host/sdhci-sprd.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/sdhci-sprd.c b/drivers/mmc/host/sdhci-sprd.c index 1fecf055682c..d3c3e95676f0 100644 --- a/drivers/mmc/host/sdhci-sprd.c +++ b/drivers/mmc/host/sdhci-sprd.c @@ -509,7 +509,8 @@ static void sdhci_sprd_phy_param_parse(struct sdhci_sprd_host *sprd_host, static const struct sdhci_pltfm_data sdhci_sprd_pdata = { .quirks = SDHCI_QUIRK_BROKEN_CARD_DETECTION | - SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK, + SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK | + SDHCI_QUIRK_MISSING_CAPS, .quirks2 = SDHCI_QUIRK2_BROKEN_HS200 | SDHCI_QUIRK2_USE_32BIT_BLK_CNT | SDHCI_QUIRK2_PRESET_VALUE_BROKEN, @@ -614,6 +615,16 @@ static int sdhci_sprd_probe(struct platform_device *pdev) sdhci_enable_v4_mode(host); + /* + * Supply the existing CAPS, but clear the UHS-I modes. This + * will allow these modes to be specified only by device + * tree properties through mmc_of_parse(). + */ + host->caps = sdhci_readl(host, SDHCI_CAPABILITIES); + host->caps1 = sdhci_readl(host, SDHCI_CAPABILITIES_1); + host->caps1 &= ~(SDHCI_SUPPORT_SDR50 | SDHCI_SUPPORT_SDR104 | + SDHCI_SUPPORT_DDR50); + ret = sdhci_setup_host(host); if (ret) goto pm_runtime_disable; -- 2.20.1