From patchwork Thu Aug 16 07:54:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chunyan Zhang X-Patchwork-Id: 144325 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp1759782ljj; Thu, 16 Aug 2018 00:54:45 -0700 (PDT) X-Google-Smtp-Source: AA+uWPyF4E0aYc3WkWcE2JJeMXAr3yvjlTn7DhqFwOcn7Zf5VwbnnDPfl+oEec1M+Vzlk71k30WS X-Received: by 2002:a62:63c2:: with SMTP id x185-v6mr30552290pfb.13.1534406085592; Thu, 16 Aug 2018 00:54:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534406085; cv=none; d=google.com; s=arc-20160816; b=WRGq5dgYyf2NK/j5HuD3Gx9qOvEZp+e8ZD+jdcq7cmrJPz47E+7EoY8R3fgokwn1xq 7AaUktZrh+ZHDIO2hHAg7UCQQRIZq/xEiYkjzzTktTpLUvaeTzZ7eKFvZwuVA5YMfnPA n/VGD5ajinUxbpk8C0GSTaL4qEtkQvV3FDmRpnzMAUjcN922wX0xOVf/TqD0SWQorXA0 ShROQh2cxGLJ/IovUtAFj8JO/hVk5YTodpFPglp6keBZIo3xDLRsm4/ruvMF4KL4q4Jw dcmL1jGBvHC39KG2TNAkLjXJHS4mn792I2lzGyx1tonFn05r/278HGjOfB65KAnN5KDv QEXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=FIdLgY0zruSsyBRB+jlR99n4k0RGFju7v2eM0n3VOrY=; b=T5KAnZ/uCDYZtWu2ijVTvauN6m7AbY+kZikF06gdKALBk5vD7xt17wrSO0HjhGUg6b o/hL/KNN3lIZcZCawDj02PWnLqR+nMcnSpXUy7wqzfAqyLwaFHvU+Svh6n0/TB3mrNeW CTG7HIhCuNtE+5r/UdZX3fPZo9IbN2MyoOvhAj3qGEAT+5hjgrENw4FKwadwlVtH4Y6E nXuZLw4nIhnKzyVnAmY+fUa4Y+D3SkpltLFFrkxZXgKEN5DWsKX9TB8BwdS8ZclL4Hqd /I9okaYLq0E4IYthkldPE70MFWW+3rkqTp1cqaPiwM6WMN3Szv2VRzzsKHGDdCG8BAXC hREQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=YqU269qC; spf=pass (google.com: best guess record for domain of linux-mmc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-mmc-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k7-v6si26979279pfb.309.2018.08.16.00.54.45; Thu, 16 Aug 2018 00:54:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-mmc-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=@linaro.org header.s=google header.b=YqU269qC; spf=pass (google.com: best guess record for domain of linux-mmc-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-mmc-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389524AbeHPKvZ (ORCPT + 5 others); Thu, 16 Aug 2018 06:51:25 -0400 Received: from mail-pl0-f68.google.com ([209.85.160.68]:36980 "EHLO mail-pl0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389522AbeHPKvZ (ORCPT ); Thu, 16 Aug 2018 06:51:25 -0400 Received: by mail-pl0-f68.google.com with SMTP id d5-v6so1703533pll.4 for ; Thu, 16 Aug 2018 00:54:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=FIdLgY0zruSsyBRB+jlR99n4k0RGFju7v2eM0n3VOrY=; b=YqU269qCRl9VeyBS1YUIbrUIyUH0gdWoImVQo8c+DJWVeu9ibifMaJJIoDXOKS6LfU 0hUHIoYOvILymPYlgk3EpL/sdhNThpzZgo63q5TgVIDV3d99WyLwcR+YxFc8jfNTSaP2 w4qHNJi3ugQqOntKYInBibW3w9m0HOtkDVRoo= 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; bh=FIdLgY0zruSsyBRB+jlR99n4k0RGFju7v2eM0n3VOrY=; b=hbuEVKOii/dmG7J+P8lbWoThf9QEmfcmEbqxusVsJbX+xVT/4MO5lfCZ7SO0FZIZnU 3o7eesKjD5LYBFLVDc0Ol92qcif6m2aWj7mLNFBHOgiKeudJ7xAVwBhOZoO0tqqJtiSn pOQGtZ9+FcIck5v7mhVblS8E5QTw9v3h+66DHnl21jvXi85453Fhvvr8aOBOF2g1ThK0 VlUpjr2+4u01rpilcSESWMqRCPBUHvbBa0nUIRIwpPKceJB8fhwregwl5k4NSYMvgtlG uK5ChMnh5kPDcxNwbdPA/PYuXeQUNig7gdu0yAPwWt0qbXSJYWDTkSDIPW7kRGqiJ4km IFhQ== X-Gm-Message-State: AOUpUlGeo2WUExVDWdWX3jbyNEtONasLJTuyr5kxGJeWvINKUkLDzUMs 9FyB6Xe2cwWGBOQik+lPpphcPg== X-Received: by 2002:a17:902:7446:: with SMTP id e6-v6mr28122209plt.161.1534406084089; Thu, 16 Aug 2018 00:54:44 -0700 (PDT) Received: from ubt.spreadtrum.com ([117.18.48.102]) by smtp.gmail.com with ESMTPSA id i25-v6sm50838137pfi.150.2018.08.16.00.54.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 16 Aug 2018 00:54:43 -0700 (PDT) From: Chunyan Zhang To: Ulf Hansson , Adrian Hunter Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Orson Zhai , Baolin Wang , Billows Wu , Jason Wu , Chunyan Zhang Subject: [PATCH V5 00/10] mmc: add support for sdhci 4.0 Date: Thu, 16 Aug 2018 15:54:14 +0800 Message-Id: <1534406064-10065-1-git-send-email-zhang.chunyan@linaro.org> X-Mailer: git-send-email 2.7.4 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org >From the SD host controller version 4.0 on, SDHCI implementation either is version 3 compatible or version 4 mode. This patch-set covers those changes which are common for SDHCI 4.0 version, regardless of whether they are used with SD or eMMC storage devices. This patchset also added a new sdhci driver for Spreadtrum's controller which supports v4.0 mode. This patchset has been tested on Spreadtrum's mobile phone, emmc can be initialized, mounted, read and written, with these changes for common sdhci framework and sdhci-sprd driver. Changes from V4: * Addressed Adrian's comments: - Enable v4 mode in __sdhci_read_caps() and sdhci_init() instead of sdhci_do_reset(); - Move the added member 'v4_mode' to following with other bools; - Add more comments in the added function sdhci_config_dma(); - Instead of enabling auto-CMD23 in init, enabled it only if receiving sbc from cards and the argument is suitable for host to deal with; - Make the addition of the SDHCI_SPEC_4xx defines a separate patch; - Disable auto-CMD23 if stuff bits is set in the argument of CMD23 in sdhci_request(). * For V4 mode, SDMA also can use auto-CMD23, adjusted host->flags in sdhci_setup_host(). Previous patch series: v4: https://lkml.org/lkml/2018/7/23/269 v3: https://lkml.org/lkml/2018/7/8/239 v2: https://lkml.org/lkml/2018/6/14/936 v1: https://lkml.org/lkml/2018/6/8/108 Chunyan Zhang (10): mmc: sdhci: Add version V4 definition mmc: sdhci: Add sd host v4 mode mmc: sdhci: Change SDMA address register for v4 mode mmc: sdhci: Add ADMA2 64-bit addressing support for V4 mode mmc: sdhci: Add 32-bit block count support for v4 mode mmc: sdhci: Disable auto-CMD23 if stuff bits is set in CMD23 argument mmc: sdhci: Add Auto CMD Auto Select support mmc: sdhci: SDMA may use Auto-CMD23 in v4 mode mmc: sdhci-sprd: Add Spreadtrum's initial host controller dt-bindings: sdhci-sprd: Add bindings for the sdhci-sprd controller .../devicetree/bindings/mmc/sdhci-sprd.txt | 41 ++ drivers/mmc/host/Kconfig | 13 + drivers/mmc/host/Makefile | 1 + drivers/mmc/host/sdhci-sprd.c | 464 +++++++++++++++++++++ drivers/mmc/host/sdhci.c | 251 ++++++++--- drivers/mmc/host/sdhci.h | 22 +- 6 files changed, 741 insertions(+), 51 deletions(-) create mode 100644 Documentation/devicetree/bindings/mmc/sdhci-sprd.txt create mode 100644 drivers/mmc/host/sdhci-sprd.c -- 2.7.4