From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6B844C433DF for ; Wed, 12 Aug 2020 13:02:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 465CF207DA for ; Wed, 12 Aug 2020 13:02:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="mGTIkWRs" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728072AbgHLNCu (ORCPT ); Wed, 12 Aug 2020 09:02:50 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:4486 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727993AbgHLNCk (ORCPT ); Wed, 12 Aug 2020 09:02:40 -0400 X-UUID: 8b45364098d8405b8e7204291d8662b9-20200812 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=CBjDMfS4ZVhji0R5jmv55ojWlHfMqOgeKR+VafpiBXg=; b=mGTIkWRs28RZe81Aqxvi441JCi8aarHLLaBEiNkAVjlC/5VK6nDZhKnuK9uXQ7I/Jcf5cixUhZ04J8uvCx/rRnYKONK6PM5Uw2Ry2Ks4h8Vnt7L8PTJk/kSq9Bx9aG9sldBqsfEF4dcgYaPTi2NzwttRHxSAtSdEm3a7VeqApqk=; X-UUID: 8b45364098d8405b8e7204291d8662b9-20200812 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 303957295; Wed, 12 Aug 2020 21:02:36 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 12 Aug 2020 21:02:33 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 12 Aug 2020 21:02:32 +0800 From: Wenbin Mei To: Ulf Hansson , Rob Herring CC: Chaotian Jing , Matthias Brugger , Philipp Zabel , , , , , , , , Wenbin Mei Subject: [v2,3/3] mmc: mediatek: add optional module reset property Date: Wed, 12 Aug 2020 21:01:29 +0800 Message-ID: <20200812130129.13519-4-wenbin.mei@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200812130129.13519-1-wenbin.mei@mediatek.com> References: <20200812130129.13519-1-wenbin.mei@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VGhpcyBwYXRjaCBmaXhzIGVNTUMtQWNjZXNzIG9uIG10NzYyMi9CcGktNjQuDQpCZWZvcmUgd2Ug Z290IHRoZXNlIEVycm9ycyBvbiBtb3VudGluZyBlTU1DIGlvbiBSNjQ6DQpbICAgNDguNjY0OTI1 XSBibGtfdXBkYXRlX3JlcXVlc3Q6IEkvTyBlcnJvciwgZGV2IG1tY2JsazAsIHNlY3RvciAyMDQ4 MDAgb3AgMHgxOihXUklURSkNCmZsYWdzIDB4ODAwIHBoeXNfc2VnIDEgcHJpbyBjbGFzcyAwDQpb ICAgNDguNjc2MDE5XSBCdWZmZXIgSS9PIGVycm9yIG9uIGRldiBtbWNibGswcDEsIGxvZ2ljYWwg YmxvY2sgMCwgbG9zdCBzeW5jIHBhZ2Ugd3JpdGUNCg0KVGhpcyBwYXRjaCBhZGRzIGEgb3B0aW9u YWwgcmVzZXQgbWFuYWdlbWVudCBmb3IgbXNkYy4NClNvbWV0aW1lcyB0aGUgYm9vdGxvYWRlciBk b2VzIG5vdCBicmluZyBtc2RjIHJlZ2lzdGVyDQp0byBkZWZhdWx0IHN0YXRlLCBzbyBuZWVkIHJl c2V0IHRoZSBtc2RjIGNvbnRyb2xsZXIuDQoNCkZpeGVzOiA5NjY1ODBhZDIzNmUgKCJtbWM6IG1l ZGlhdGVrOiBhZGQgc3VwcG9ydCBmb3IgTVQ3NjIyIFNvQyIpDQpTaWduZWQtb2ZmLWJ5OiBXZW5i aW4gTWVpIDx3ZW5iaW4ubWVpQG1lZGlhdGVrLmNvbT4NClRlc3RlZC1ieTogRnJhbmsgV3VuZGVy bGljaCA8ZnJhbmstd0BwdWJsaWMtZmlsZXMuZGU+DQotLS0NCiBkcml2ZXJzL21tYy9ob3N0L210 ay1zZC5jIHwgMTMgKysrKysrKysrKysrKw0KIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25z KCspDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9ob3N0L210ay1zZC5jIGIvZHJpdmVycy9t bWMvaG9zdC9tdGstc2QuYw0KaW5kZXggMzllN2ZjNTRjNDM4Li4yYjI0M2MwM2M5YjIgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL21tYy9ob3N0L210ay1zZC5jDQorKysgYi9kcml2ZXJzL21tYy9ob3N0 L210ay1zZC5jDQpAQCAtMjIsNiArMjIsNyBAQA0KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+DQog I2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+DQogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5o Pg0KKyNpbmNsdWRlIDxsaW51eC9yZXNldC5oPg0KIA0KICNpbmNsdWRlIDxsaW51eC9tbWMvY2Fy ZC5oPg0KICNpbmNsdWRlIDxsaW51eC9tbWMvY29yZS5oPg0KQEAgLTQzNCw2ICs0MzUsNyBAQCBz dHJ1Y3QgbXNkY19ob3N0IHsNCiAJc3RydWN0IG1zZGNfc2F2ZV9wYXJhIHNhdmVfcGFyYTsgLyog dXNlZCB3aGVuIGdhdGUgSENMSyAqLw0KIAlzdHJ1Y3QgbXNkY190dW5lX3BhcmEgZGVmX3R1bmVf cGFyYTsgLyogZGVmYXVsdCB0dW5lIHNldHRpbmcgKi8NCiAJc3RydWN0IG1zZGNfdHVuZV9wYXJh IHNhdmVkX3R1bmVfcGFyYTsgLyogdHVuZSByZXN1bHQgb2YgQ01EMjEvQ01EMTkgKi8NCisJc3Ry dWN0IHJlc2V0X2NvbnRyb2wgKnJlc2V0Ow0KIH07DQogDQogc3RhdGljIGNvbnN0IHN0cnVjdCBt dGtfbW1jX2NvbXBhdGlibGUgbXQ4MTM1X2NvbXBhdCA9IHsNCkBAIC0xNTE2LDYgKzE1MTgsMTIg QEAgc3RhdGljIHZvaWQgbXNkY19pbml0X2h3KHN0cnVjdCBtc2RjX2hvc3QgKmhvc3QpDQogCXUz MiB2YWw7DQogCXUzMiB0dW5lX3JlZyA9IGhvc3QtPmRldl9jb21wLT5wYWRfdHVuZV9yZWc7DQog DQorCWlmICghSVNfRVJSKGhvc3QtPnJlc2V0KSkgew0KKwkJcmVzZXRfY29udHJvbF9hc3NlcnQo aG9zdC0+cmVzZXQpOw0KKwkJdXNsZWVwX3JhbmdlKDEwLCA1MCk7DQorCQlyZXNldF9jb250cm9s X2RlYXNzZXJ0KGhvc3QtPnJlc2V0KTsNCisJfQ0KKw0KIAkvKiBDb25maWd1cmUgdG8gTU1DL1NE IG1vZGUsIGNsb2NrIGZyZWUgcnVubmluZyAqLw0KIAlzZHJfc2V0X2JpdHMoaG9zdC0+YmFzZSAr IE1TRENfQ0ZHLCBNU0RDX0NGR19NT0RFIHwgTVNEQ19DRkdfQ0tQRE4pOw0KIA0KQEAgLTIyNzMs NiArMjI4MSwxMSBAQCBzdGF0aWMgaW50IG1zZGNfZHJ2X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpDQogCWlmIChJU19FUlIoaG9zdC0+c3JjX2Nsa19jZykpDQogCQlob3N0LT5z cmNfY2xrX2NnID0gTlVMTDsNCiANCisJaG9zdC0+cmVzZXQgPSBkZXZtX3Jlc2V0X2NvbnRyb2xf Z2V0X29wdGlvbmFsX2V4Y2x1c2l2ZSgmcGRldi0+ZGV2LA0KKwkJCQkJCQkJImhyc3QiKTsNCisJ aWYgKFBUUl9FUlIoaG9zdC0+cmVzZXQpID09IC1FUFJPQkVfREVGRVIpDQorCQlyZXR1cm4gUFRS X0VSUihob3N0LT5yZXNldCk7DQorDQogCWhvc3QtPmlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRl diwgMCk7DQogCWlmIChob3N0LT5pcnEgPCAwKSB7DQogCQlyZXQgPSAtRUlOVkFMOw0KLS0gDQoy LjE4LjANCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 746A8C433E0 for ; Wed, 12 Aug 2020 13:11:19 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3F6BB206B5 for ; Wed, 12 Aug 2020 13:11:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="qJyHV483"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="mGTIkWRs" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3F6BB206B5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: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:List-Owner; bh=aVq3l3ZewRd7qWacOAYOz//cmjFF1hRDcBFMSV8M/dg=; b=qJyHV483Kw4rqzEST09qIfLut La6HH2VPCh/z52ru2aHGzjSUleEM/8jBdAiVUgBDl31IHmvb1FaFzW+2rCGlPR167+GYFY5L3CZRb kVpvLEkpofpl1xBEayPwSI/dNIXf+XgXnxEcSAvadNw8NU7gIHKl+3r31MJwI+tZ2ss4n0RYlEH+q uL5gAwoxVsYCKx3CQrXssBbFObB7rDINkhsKx6mkM8tbpz9Pva66g1N5lOXDVJXPZLbXChVjIVDNe c/Gu1jp5y8WbABYgzM17W4+xjsr7Gj5f0JblC/jdINkEW0Cl2Xgi42lkV460kTmQHL3gLtZS0U02O th7QKmmfA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k5qX5-0000oX-OK; Wed, 12 Aug 2020 13:11:07 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k5qX0-0000n6-FN; Wed, 12 Aug 2020 13:11:04 +0000 X-UUID: bf6a42ec6dcd43faae2af7f8d64ee167-20200812 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=CBjDMfS4ZVhji0R5jmv55ojWlHfMqOgeKR+VafpiBXg=; b=mGTIkWRs28RZe81Aqxvi441JCi8aarHLLaBEiNkAVjlC/5VK6nDZhKnuK9uXQ7I/Jcf5cixUhZ04J8uvCx/rRnYKONK6PM5Uw2Ry2Ks4h8Vnt7L8PTJk/kSq9Bx9aG9sldBqsfEF4dcgYaPTi2NzwttRHxSAtSdEm3a7VeqApqk=; X-UUID: bf6a42ec6dcd43faae2af7f8d64ee167-20200812 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 616951085; Wed, 12 Aug 2020 05:10:54 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 12 Aug 2020 06:02:34 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 12 Aug 2020 21:02:33 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 12 Aug 2020 21:02:32 +0800 From: Wenbin Mei To: Ulf Hansson , Rob Herring Subject: [v2,3/3] mmc: mediatek: add optional module reset property Date: Wed, 12 Aug 2020 21:01:29 +0800 Message-ID: <20200812130129.13519-4-wenbin.mei@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200812130129.13519-1-wenbin.mei@mediatek.com> References: <20200812130129.13519-1-wenbin.mei@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200812_091102_724475_2577A546 X-CRM114-Status: GOOD ( 17.58 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Wenbin Mei , srv_heupstream@mediatek.com, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Philipp Zabel , Matthias Brugger , Chaotian Jing Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org This patch fixs eMMC-Access on mt7622/Bpi-64. Before we got these Errors on mounting eMMC ion R64: [ 48.664925] blk_update_request: I/O error, dev mmcblk0, sector 204800 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0 [ 48.676019] Buffer I/O error on dev mmcblk0p1, logical block 0, lost sync page write This patch adds a optional reset management for msdc. Sometimes the bootloader does not bring msdc register to default state, so need reset the msdc controller. Fixes: 966580ad236e ("mmc: mediatek: add support for MT7622 SoC") Signed-off-by: Wenbin Mei Tested-by: Frank Wunderlich --- drivers/mmc/host/mtk-sd.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c index 39e7fc54c438..2b243c03c9b2 100644 --- a/drivers/mmc/host/mtk-sd.c +++ b/drivers/mmc/host/mtk-sd.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -434,6 +435,7 @@ struct msdc_host { struct msdc_save_para save_para; /* used when gate HCLK */ struct msdc_tune_para def_tune_para; /* default tune setting */ struct msdc_tune_para saved_tune_para; /* tune result of CMD21/CMD19 */ + struct reset_control *reset; }; static const struct mtk_mmc_compatible mt8135_compat = { @@ -1516,6 +1518,12 @@ static void msdc_init_hw(struct msdc_host *host) u32 val; u32 tune_reg = host->dev_comp->pad_tune_reg; + if (!IS_ERR(host->reset)) { + reset_control_assert(host->reset); + usleep_range(10, 50); + reset_control_deassert(host->reset); + } + /* Configure to MMC/SD mode, clock free running */ sdr_set_bits(host->base + MSDC_CFG, MSDC_CFG_MODE | MSDC_CFG_CKPDN); @@ -2273,6 +2281,11 @@ static int msdc_drv_probe(struct platform_device *pdev) if (IS_ERR(host->src_clk_cg)) host->src_clk_cg = NULL; + host->reset = devm_reset_control_get_optional_exclusive(&pdev->dev, + "hrst"); + if (PTR_ERR(host->reset) == -EPROBE_DEFER) + return PTR_ERR(host->reset); + host->irq = platform_get_irq(pdev, 0); if (host->irq < 0) { ret = -EINVAL; -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4AD71C433DF for ; Wed, 12 Aug 2020 13:12:50 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 104FD206B5 for ; Wed, 12 Aug 2020 13:12:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="o/28gblZ"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="mGTIkWRs" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 104FD206B5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: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:List-Owner; bh=dQvnq0SgcfH57LejbvxMfobr8o5wFh9HHQsGGKV8iZA=; b=o/28gblZQ5V+iC8l9W11PwOVF CDu+JMsQfCy5ABjQa/2z8ijQsES6fBV84hmtuIAByU3lC06w+whzqjhoUoKD67CziPW00ppLDUEKA LOGMcBGwlFt2WQdwjQqbA0jjlURTxcn8DmPKSWxyt4/Zk9bFZry4k0Fzbd5nDY/Ukc/LGwGLtXw9i xBtVfwPT/rE78nZMPstmXvBeu04WE+uOMy/+zKMb4qvCw9TM/oTtDic1xZg7b9XZrH/q2HPyfyu5I Hjp5OYvSu8S6jqSoxS8r0nYAGeG6iw8XBjg9V1VPw6bRWVJ/0nL+zqdu1kBue8Gu0wSCRNHzvVKP/ UBoX/Yu6A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k5qX4-0000oE-9C; Wed, 12 Aug 2020 13:11:06 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k5qX0-0000n6-FN; Wed, 12 Aug 2020 13:11:04 +0000 X-UUID: bf6a42ec6dcd43faae2af7f8d64ee167-20200812 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=CBjDMfS4ZVhji0R5jmv55ojWlHfMqOgeKR+VafpiBXg=; b=mGTIkWRs28RZe81Aqxvi441JCi8aarHLLaBEiNkAVjlC/5VK6nDZhKnuK9uXQ7I/Jcf5cixUhZ04J8uvCx/rRnYKONK6PM5Uw2Ry2Ks4h8Vnt7L8PTJk/kSq9Bx9aG9sldBqsfEF4dcgYaPTi2NzwttRHxSAtSdEm3a7VeqApqk=; X-UUID: bf6a42ec6dcd43faae2af7f8d64ee167-20200812 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 616951085; Wed, 12 Aug 2020 05:10:54 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 12 Aug 2020 06:02:34 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 12 Aug 2020 21:02:33 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 12 Aug 2020 21:02:32 +0800 From: Wenbin Mei To: Ulf Hansson , Rob Herring Subject: [v2,3/3] mmc: mediatek: add optional module reset property Date: Wed, 12 Aug 2020 21:01:29 +0800 Message-ID: <20200812130129.13519-4-wenbin.mei@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200812130129.13519-1-wenbin.mei@mediatek.com> References: <20200812130129.13519-1-wenbin.mei@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200812_091102_724475_2577A546 X-CRM114-Status: GOOD ( 17.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Wenbin Mei , srv_heupstream@mediatek.com, linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Philipp Zabel , Matthias Brugger , Chaotian Jing Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This patch fixs eMMC-Access on mt7622/Bpi-64. Before we got these Errors on mounting eMMC ion R64: [ 48.664925] blk_update_request: I/O error, dev mmcblk0, sector 204800 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0 [ 48.676019] Buffer I/O error on dev mmcblk0p1, logical block 0, lost sync page write This patch adds a optional reset management for msdc. Sometimes the bootloader does not bring msdc register to default state, so need reset the msdc controller. Fixes: 966580ad236e ("mmc: mediatek: add support for MT7622 SoC") Signed-off-by: Wenbin Mei Tested-by: Frank Wunderlich --- drivers/mmc/host/mtk-sd.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c index 39e7fc54c438..2b243c03c9b2 100644 --- a/drivers/mmc/host/mtk-sd.c +++ b/drivers/mmc/host/mtk-sd.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -434,6 +435,7 @@ struct msdc_host { struct msdc_save_para save_para; /* used when gate HCLK */ struct msdc_tune_para def_tune_para; /* default tune setting */ struct msdc_tune_para saved_tune_para; /* tune result of CMD21/CMD19 */ + struct reset_control *reset; }; static const struct mtk_mmc_compatible mt8135_compat = { @@ -1516,6 +1518,12 @@ static void msdc_init_hw(struct msdc_host *host) u32 val; u32 tune_reg = host->dev_comp->pad_tune_reg; + if (!IS_ERR(host->reset)) { + reset_control_assert(host->reset); + usleep_range(10, 50); + reset_control_deassert(host->reset); + } + /* Configure to MMC/SD mode, clock free running */ sdr_set_bits(host->base + MSDC_CFG, MSDC_CFG_MODE | MSDC_CFG_CKPDN); @@ -2273,6 +2281,11 @@ static int msdc_drv_probe(struct platform_device *pdev) if (IS_ERR(host->src_clk_cg)) host->src_clk_cg = NULL; + host->reset = devm_reset_control_get_optional_exclusive(&pdev->dev, + "hrst"); + if (PTR_ERR(host->reset) == -EPROBE_DEFER) + return PTR_ERR(host->reset); + host->irq = platform_get_irq(pdev, 0); if (host->irq < 0) { ret = -EINVAL; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel