From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out28-197.mail.aliyun.com (out28-197.mail.aliyun.com [115.124.28.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5A3F52C80 for ; Fri, 31 Dec 2021 08:28:04 +0000 (UTC) X-Alimail-AntiSpam:AC=CONTINUE;BC=0.06538901|-1;CH=green;DM=|CONTINUE|false|;DS=CONTINUE|ham_system_inform|0.0360797-0.0034593-0.960461;FP=0|0|0|0|0|-1|-1|-1;HT=ay29a033018047204;MF=michael@allwinnertech.com;NM=1;PH=DS;RN=10;RT=10;SR=0;TI=SMTPD_---.MUy85H8_1640939280; Received: from YanYan-NB(mailfrom:michael@allwinnertech.com fp:SMTPD_---.MUy85H8_1640939280) by smtp.aliyun-inc.com(10.147.42.198); Fri, 31 Dec 2021 16:28:01 +0800 Date: Fri, 31 Dec 2021 16:27:59 +0800 From: "michael@allwinnertech.com" To: "Ulf Hansson" Cc: mripard , wens , samuel , andre.przywara , jernej.skrabec , linux-mmc , linux-arm-kernel , linux-sunxi , linux-kernel Subject: Re: Re: [PATCH 1/3] mmc:sunxi-mmc:add support on discrete device power supply References: <20211222030634.33816-1-michael@allwinnertech.com>, X-Priority: 3 X-GUID: D0DBD696-B92E-4D59-89F4-6B03FEE85F1A X-Has-Attach: no X-Mailer: Foxmail 7.2.22.194[cn] Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Message-ID: <2021123116275961132724@allwinnertech.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 PiBGcm9tOiBVbGYgSGFuc3Nvbgo+IERhdGU6IDIwMjEtMTItMjkgMDA6NDkKPiBUbzogTWljaGFl bCBXdQo+IENDOiBtcmlwYXJkOyB3ZW5zOyBzYW11ZWw7IGFuZHJlLnByenl3YXJhOyBqZXJuZWou c2tyYWJlYzsgbGludXgtbW1jOyBsaW51eC1hcm0ta2VybmVsOyBsaW51eC1zdW54aTsgbGludXgt a2VybmVsCj4gU3ViamVjdDogUmU6IFtQQVRDSCAxLzNdIG1tYzpzdW54aS1tbWM6YWRkIHN1cHBv cnQgb24gZGlzY3JldGUgZGV2aWNlIHBvd2VyIHN1cHBseQo+IE9uIFdlZCwgMjIgRGVjIDIwMjEg YXQgMDQ6MDcsIE1pY2hhZWwgV3UgPG1pY2hhZWxAYWxsd2lubmVydGVjaC5jb20+IHdyb3RlOgo+ ID4KPiA+IEJlY2F1c2Ugc29tZSBwbGF0Zm9ybSBoYXMgbm8gcmVndWxhdG9yLCBvbmx5IHVzZSBk aXNjcmV0ZSBkZXZpY2VzCj4gPiB0byBzdXBwbHkgcG93ZXIsRm9yIHRoaXMgc2l0dWF0aW9uLCB0 byB1c2Ugc2QvbW1jIGNhcmQsIHdlIGFkZCBvY3IgbWFudWFsbHkKPiA+Cj4gPiBTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIFd1IDxtaWNoYWVsQGFsbHdpbm5lcnRlY2guY29tPgo+ID4gLS0tCj4gPiAg ZHJpdmVycy9tbWMvaG9zdC9zdW54aS1tbWMuYyB8IDggKysrKysrKysKPiA+ICAxIGZpbGUgY2hh bmdlZCwgOCBpbnNlcnRpb25zKCspCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hv c3Qvc3VueGktbW1jLmMgYi9kcml2ZXJzL21tYy9ob3N0L3N1bnhpLW1tYy5jCj4gPiBpbmRleCAy NzAyNzM2YTFjNTcuLmFmZWVmZWFkNjUwMSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvbW1jL2hv c3Qvc3VueGktbW1jLmMKPiA+ICsrKyBiL2RyaXZlcnMvbW1jL2hvc3Qvc3VueGktbW1jLmMKPiA+ IEBAIC0xMzAwLDYgKzEzMDAsMTQgQEAgc3RhdGljIGludCBzdW54aV9tbWNfcmVzb3VyY2VfcmVx dWVzdChzdHJ1Y3Qgc3VueGlfbW1jX2hvc3QgKmhvc3QsCj4gPiAgICAgICAgIGlmIChyZXQpCj4g PiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiA+Cj4gPiArICAgICAgIC8qKgo+ID4gKyAg ICAgICAgKiBTb21lIHBsYXRmb3JtcyBoYXMgbm8gcmVndWxhdG9yLiBEaXNjcmV0ZSBkZXZpY2Vz IGFyZSB1c2VkIGluc3RlYWQuCj4gPiArICAgICAgICAqIFRvIHN1cHBvcnQgc2QvbW1jIGNhcmQs IHdlIG5lZWQgdG8gYWRkIG9jciBtYW51YWxseS4KPiA+ICsgICAgICAgICovCj4gPiArICAgICAg IGlmICghaG9zdC0+bW1jLT5vY3JfYXZhaWwpCj4gPiArICAgICAgICAgICAgICAgaG9zdC0+bW1j LT5vY3JfYXZhaWwgPSBNTUNfVkREXzMyXzMzIHwgTU1DX1ZERF8zM18zNDsKPiA+ICsKPiAKPiBS YXRoZXIgdGhhbiBkb2luZyB0aGlzLCBJIHN1Z2dlc3QgeW91IGhvb2sgdXAgYSBmaXhlZCB2bW1j IHJlZ3VsYXRvciBpbiB0aGUgRFRTLgo+IAo+IE5ldmVydGhlbGVzcywgaXQgc2VlbXMgcmVhc29u YWJsZSB0byBjaGVjayB0aGF0IHRoZSBvY3JfYXZhaWwgZ2V0cyBzZXQKPiB1cCBjb3JyZWN0bHku IEFuZCBpZiBpdCBkb2Vzbid0LCBwZXJoYXBzIHdlIHNob3VsZCBwcmludCBhIHdhcm5pbmcgYW5k Cj4gcmV0dXJuIGFuIGVycm9yIGNvZGUuCj4gCj4gPiArCj4gPiAgICAgICAgIGhvc3QtPnJlZ19i YXNlID0gZGV2bV9wbGF0Zm9ybV9pb3JlbWFwX3Jlc291cmNlKHBkZXYsIDApOwo+ID4gICAgICAg ICBpZiAoSVNfRVJSKGhvc3QtPnJlZ19iYXNlKSkKPiA+ICAgICAgICAgICAgICAgICByZXR1cm4g UFRSX0VSUihob3N0LT5yZWdfYmFzZSk7Cj4gCj4gS2luZCByZWdhcmRzCj4gVWZmZQoKRGVhciBV ZmZlLApUaGFua3MgZm9yIHlvdXIgc3VnZ2VzdGlvbi4gSXQgaXMgYSBiZXR0ZXIgc29sdXRpb24u CkkndmUgbW9kaWZpZWQgbXkgcGF0Y2guIFBsZWFzZSBjaGVjayBpZiBpdCdzIHJlYXNvbmFibGUu IElmIGl0IGlzLCBJJ2xsIHJlLXN1bWJpdCBpdCBsYXRlci4KCi0tLQpTdWJqZWN0OiBbUEFUQ0gg djJdIG1tYzogc3VueGktbW1jOiBjaGVjayBvY3JfYXZhaWwgb24gcmVzb3VyY2UgcmVxdWVzdAoK U29tZSBwbGF0Zm9ybXMgaGF2ZSBubyByZWd1bGF0b3IsIGRpc2NyZXRlIHBvd2VyIGRldmljZXMg YXJlIHVzZWQgaW5zdGVhZC4KSG93ZXZlciwgc3VueGlfbW1jX3Byb2JlIGRvZXMgbm90IGNhdGNo IHRoaXMgZXhjZXB0aW9uIHdoZW4gcmVndWxhdG9yIGlzCmFic2VudCBpbiBEVFMuIFRoaXMgbGVh ZHMgdG8gc2Qgb3IgZU1NQyBpbml0IGZhaWx1cmUuClRvIHNvbHZlIHRoaXMsIGEgZml4ZWQgdm1t YyByZWd1bGF0b3IgbXVzdCBiZSBob29rZWQgdXAgaW4gRFRTLCBsaWtlIHRoaXM6CnJlZ19kdW1t eV92bW1jOiBkdW1teV92bW1jIHsKCWNvbXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKCXJl Z3VsYXRvci1uYW1lID0gImR1bW15LXZtbWMiOwoJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8 NTAwMDAwPjsKCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDM1MDAwMDA+Owp9OwptbWMwOm1t Y0A0MDIwMDAwIHsKCWNvbXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjUwaS1hMTAwLWVtbWMiOwoJ ZGV2aWNlX3R5cGUgPSAibW1jMCI7Cgl2bW1jLXN1cHBseSA9IDwmcmVnX2R1bW15X3ZtbWM+Owp9 CkluIHRoaXMgcGF0Y2gsIHdlIHByaW50IGFuIGVycm9yIG1lc3NhZ2UgYW5kIGFib3J0IHRoZSBw cm9iZSBwcm9jZXNzIGlmCnRoZSByZWd1bGF0b3IgaXMgbm90IHNwZWNpZmllZCBpbiBEVFMuCgpT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFd1IDxtaWNoYWVsQGFsbHdpbm5lcnRlY2guY29tPgotLS0K CmRpZmYgLS1naXQgYS9kcml2ZXJzL21tYy9ob3N0L3N1bnhpLW1tYy5jIGIvZHJpdmVycy9tbWMv aG9zdC9zdW54aS1tbWMuYwppbmRleCAyNzAyNzM2Li4wZGE3NGJkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL21tYy9ob3N0L3N1bnhpLW1tYy5jCisrKyBiL2RyaXZlcnMvbW1jL2hvc3Qvc3VueGktbW1j LmMKQEAgLTEzMDAsNiArMTMwMCwxMSBAQAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKKwlp ZiAoIWhvc3QtPm1tYy0+b2NyX2F2YWlsKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgIkNvdWxk IG5vdCBnZXQgbW1jIHJlZ3VsYXRvclxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCWhv c3QtPnJlZ19iYXNlID0gZGV2bV9wbGF0Zm9ybV9pb3JlbWFwX3Jlc291cmNlKHBkZXYsIDApOwog CWlmIChJU19FUlIoaG9zdC0+cmVnX2Jhc2UpKQogCQlyZXR1cm4gUFRSX0VSUihob3N0LT5yZWdf YmFzZSk7CgpCZXN0IFJlZ2FyZHMsCk1pY2hhZWwgV3U= 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E56A3C433EF for ; Fri, 31 Dec 2021 08:29:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Message-ID:Mime-Version:References: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: List-Owner; bh=7r5G1BHES/8hJDT9lI6rBraS1tqinewXIrz2vuoGGIs=; b=CnNMiUI2XWyHnA jJ5t7D9ognnl3U4YzALs41MHP28QQvzkt6xjTro24IavYylWM09Cw8+NXGimqj/lulIFtSAV+9g18 Izhjsps5YTn3jSOytpuXjy8PPtQIgE3tB6saXfkoxpr8QpaAb74DrxDycSmQQHjYyuBLYSzaNMRUA s37YWrZjgIZ+RVI9XWt9IiIoZFePs0fd5LXfCVPV2QAQqAHZPd0j7JTpbKoW+Dogy3bY1IWkLDO2Z J2N/0lyCkD0vxqDv38slx8D7DUUcnNVCvEF3fbNKUL+ManS/m0AJqWCnk40KpTJ3cAWyE4hz+WuUe NAWWzY2Gwn6ckKoK89oA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n3DGn-005ogE-2w; Fri, 31 Dec 2021 08:28:13 +0000 Received: from out28-100.mail.aliyun.com ([115.124.28.100]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n3DGj-005ofe-2A for linux-arm-kernel@lists.infradead.org; Fri, 31 Dec 2021 08:28:11 +0000 X-Alimail-AntiSpam: AC=CONTINUE; BC=0.06538901|-1; CH=green; DM=|CONTINUE|false|; DS=CONTINUE|ham_system_inform|0.0360797-0.0034593-0.960461; FP=0|0|0|0|0|-1|-1|-1; HT=ay29a033018047204; MF=michael@allwinnertech.com; NM=1; PH=DS; RN=10; RT=10; SR=0; TI=SMTPD_---.MUy85H8_1640939280; Received: from YanYan-NB(mailfrom:michael@allwinnertech.com fp:SMTPD_---.MUy85H8_1640939280) by smtp.aliyun-inc.com(10.147.42.198); Fri, 31 Dec 2021 16:28:01 +0800 Date: Fri, 31 Dec 2021 16:27:59 +0800 From: "michael@allwinnertech.com" To: "Ulf Hansson" Cc: mripard , wens , samuel , andre.przywara , jernej.skrabec , linux-mmc , linux-arm-kernel , linux-sunxi , linux-kernel Subject: Re: Re: [PATCH 1/3] mmc:sunxi-mmc:add support on discrete device power supply References: <20211222030634.33816-1-michael@allwinnertech.com>, X-Priority: 3 X-GUID: D0DBD696-B92E-4D59-89F4-6B03FEE85F1A X-Has-Attach: no X-Mailer: Foxmail 7.2.22.194[cn] Mime-Version: 1.0 Message-ID: <2021123116275961132724@allwinnertech.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211231_002809_315714_7D86A966 X-CRM114-Status: GOOD ( 23.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 > From: Ulf Hansson > Date: 2021-12-29 00:49 > To: Michael Wu > CC: mripard; wens; samuel; andre.przywara; jernej.skrabec; linux-mmc; linux-arm-kernel; linux-sunxi; linux-kernel > Subject: Re: [PATCH 1/3] mmc:sunxi-mmc:add support on discrete device power supply > On Wed, 22 Dec 2021 at 04:07, Michael Wu wrote: > > > > Because some platform has no regulator, only use discrete devices > > to supply power,For this situation, to use sd/mmc card, we add ocr manually > > > > Signed-off-by: Michael Wu > > --- > > drivers/mmc/host/sunxi-mmc.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c > > index 2702736a1c57..afeefead6501 100644 > > --- a/drivers/mmc/host/sunxi-mmc.c > > +++ b/drivers/mmc/host/sunxi-mmc.c > > @@ -1300,6 +1300,14 @@ static int sunxi_mmc_resource_request(struct sunxi_mmc_host *host, > > if (ret) > > return ret; > > > > + /** > > + * Some platforms has no regulator. Discrete devices are used instead. > > + * To support sd/mmc card, we need to add ocr manually. > > + */ > > + if (!host->mmc->ocr_avail) > > + host->mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; > > + > > Rather than doing this, I suggest you hook up a fixed vmmc regulator in the DTS. > > Nevertheless, it seems reasonable to check that the ocr_avail gets set > up correctly. And if it doesn't, perhaps we should print a warning and > return an error code. > > > + > > host->reg_base = devm_platform_ioremap_resource(pdev, 0); > > if (IS_ERR(host->reg_base)) > > return PTR_ERR(host->reg_base); > > Kind regards > Uffe Dear Uffe, Thanks for your suggestion. It is a better solution. I've modified my patch. Please check if it's reasonable. If it is, I'll re-sumbit it later. --- Subject: [PATCH v2] mmc: sunxi-mmc: check ocr_avail on resource request Some platforms have no regulator, discrete power devices are used instead. However, sunxi_mmc_probe does not catch this exception when regulator is absent in DTS. This leads to sd or eMMC init failure. To solve this, a fixed vmmc regulator must be hooked up in DTS, like this: reg_dummy_vmmc: dummy_vmmc { compatible = "regulator-fixed"; regulator-name = "dummy-vmmc"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <3500000>; }; mmc0:mmc@4020000 { compatible = "allwinner,sun50i-a100-emmc"; device_type = "mmc0"; vmmc-supply = <®_dummy_vmmc>; } In this patch, we print an error message and abort the probe process if the regulator is not specified in DTS. Signed-off-by: Michael Wu --- diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c index 2702736..0da74bd 100644 --- a/drivers/mmc/host/sunxi-mmc.c +++ b/drivers/mmc/host/sunxi-mmc.c @@ -1300,6 +1300,11 @@ if (ret) return ret; + if (!host->mmc->ocr_avail) { + dev_err(&pdev->dev, "Could not get mmc regulator\n"); + return -EINVAL; + } + host->reg_base = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(host->reg_base)) return PTR_ERR(host->reg_base); Best Regards, Michael Wu _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel