From patchwork Fri Oct 5 13:22:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ludovic BARRE X-Patchwork-Id: 10628049 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9D43F13BB for ; Fri, 5 Oct 2018 13:24:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8756A285D2 for ; Fri, 5 Oct 2018 13:24:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7B0F8287B4; Fri, 5 Oct 2018 13:24:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 1FA8D285D2 for ; Fri, 5 Oct 2018 13:24:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=2ExtfQZhHPkM1UrMagum6lO4Jn/KgjFPt1lKYA1PqJY=; b=CIRtmiB9Q0kbef NX4fbvoSA+q38f18nBfsOh5b9uZmu8XEv1AJxKOfy2yGOtwtfgn2/9WGZr27FXnQoY6apKJyfhD4O 54+DhMMRfYQDWdjoL24laOcWU2g+7sQjcRtaGdBQo5TTRWYTUWwG3gi1tZYR4k0L2efdqrq5hAIbS WsW0/DC/nDXoMvs9AfpPQSuG94+rCo8mBIixFD8YtwoZo+CfQ/hV+WGuBqyOe7ZCOIzzWmqJ43iep wu4/qjGUfcde8DRykAYokv9tYb8WH5/JylwhSDiUdtLPNj/nMJlI/BpgSQdbyETIcK2hJqaqI9ZzQ KZPozWV7Ymf16n6Agddg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1g8Q54-0002Tb-C1; Fri, 05 Oct 2018 13:23:46 +0000 Received: from mx08-00178001.pphosted.com ([91.207.212.93] helo=mx07-00178001.pphosted.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1g8Q4x-0002OW-UA for linux-arm-kernel@lists.infradead.org; Fri, 05 Oct 2018 13:23:42 +0000 Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx08-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id w95DK31B002319; Fri, 5 Oct 2018 15:23:24 +0200 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx08-00178001.pphosted.com with ESMTP id 2mu1bkc6uc-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 05 Oct 2018 15:23:24 +0200 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 51FCE31; Fri, 5 Oct 2018 13:23:23 +0000 (GMT) Received: from Webmail-eu.st.com (Safex1hubcas24.st.com [10.75.90.94]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 24E7C2C92; Fri, 5 Oct 2018 13:23:23 +0000 (GMT) Received: from SAFEX1HUBCAS22.st.com (10.75.90.93) by Safex1hubcas24.st.com (10.75.90.94) with Microsoft SMTP Server (TLS) id 14.3.361.1; Fri, 5 Oct 2018 15:23:23 +0200 Received: from lmecxl0923.lme.st.com (10.48.0.237) by Webmail-ga.st.com (10.75.90.48) with Microsoft SMTP Server (TLS) id 14.3.361.1; Fri, 5 Oct 2018 15:23:22 +0200 From: Ludovic Barre To: Ulf Hansson , Rob Herring Subject: [PATCH V5 00/24] mmc: mmci: add sdmmc variant for stm32 Date: Fri, 5 Oct 2018 15:22:38 +0200 Message-ID: <1538745782-27446-1-git-send-email-ludovic.Barre@st.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 X-Originating-IP: [10.48.0.237] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-10-05_07:, , signatures=0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181005_062340_325465_3E3E2FB9 X-CRM114-Status: GOOD ( 12.54 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Alexandre Torgue , linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, srinivas.kandagatla@linaro.org, Ludovic Barre , Maxime Coquelin , linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Ludovic Barre The goal of this serie is to add support of sdmmc for stm32. Be to able to add this new variant it is needed to do some changes in mmci core: -Internalize specific needs of legacy dmaengine. -Create and setup dma_priv pointer. -Create generic callbacks which share some features (like cookie...) and call specific needs. change v5: -error management in mmci_dmae_setup and qcom_dma_setup mmci_dmae_setup: fail when tx & rx are not defined. qcom_dma_setup: faill if one of channels is not defined. -define mmci_variant_init following CONFIG_DMA_ENGINE state. -squash dma_setup/dma_release callback. change v4: -checkpatch fix bool to u8 -add use_dma variable to fallback to pio mode -move to optional reset with dt binding note for sdmmc -separate patch for DT doc change v3: -remove __dma_inprogress rename -remove bad space at end of "st,use-ckin" change v2: -rename to mmci_prep/unprep_data -rename specific dma engine structure to mmci_dmae_next/priv -follow "_" recommandation -remove dma prefixe of mmci_dmae_priv fields Ludovic Barre (24): mmc: mmci: Change struct members from bool to u8 mmc: mmci: create common mmci_dma_setup/release mmc: mmci: introduce dma_priv pointer to mmci_host mmc: mmci: merge prepare data functions mmc: mmci: add prepare/unprepare_data callbacks mmc: mmci: add get_next_data callback mmc: mmci: add dma_start callback mmc: mmci: add dma_finalize callback mmc: mmci: add dma_error callback mmc: mmci: add validate_data callback mmc: mmci: add set_clk/pwrreg callbacks mmc: mmci: add datactrl block size variant property mmc: mmci: expand startbiterr to irqmask and error check mmc: mmci: add variant properties to define cpsm & cmdresp bits mmc: mmci: add variant property to define dpsm bit mmc: mmci: add variant property to define irq pio mask mmc: mmci: add variant property to write datactrl before command mmc: mmci: add variant property to not read datacnt dt-bindings: mmci: add optional reset property mmc: mmci: add optional reset property mmc: mmci: add clock divider for stm32 sdmmc mmc: mmci: add stm32 sdmmc registers dt-bindings: mmci: add stm32 sdmmc variant mmc: mmci: add stm32 sdmmc variant Documentation/devicetree/bindings/mmc/mmci.txt | 11 + drivers/mmc/host/Kconfig | 10 + drivers/mmc/host/Makefile | 1 + drivers/mmc/host/mmci.c | 616 +++++++++++++++++-------- drivers/mmc/host/mmci.h | 186 ++++++-- drivers/mmc/host/mmci_qcom_dml.c | 16 +- drivers/mmc/host/mmci_stm32_sdmmc.c | 282 +++++++++++ 7 files changed, 904 insertions(+), 218 deletions(-) create mode 100644 drivers/mmc/host/mmci_stm32_sdmmc.c