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=-15.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 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 44F54C2B9F4 for ; Fri, 25 Jun 2021 10:22:35 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 1259961434 for ; Fri, 25 Jun 2021 10:22:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1259961434 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.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=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bP9dVwoPQ+ZlUJqvoqV+gSqELVo3MAO+qB2upkgkbmQ=; b=ZHadW4ZNCxdoAa cvdn0SRJ+9APFDRY+s2XCf2XWHFmnicpIRVTHLfpqEUVbOUS3jvSVV9w5cwec5APad9omTfkCjPwX QPb92VyXc4pwlSr7xXdmZCKUYaEir0FnP5a+4Luu8pn1VttnNhnNduwEadqFuEQQC+1sbRtsRQG9x mSU8PIJ2eWAbdQ3VOAKFSE+qapivkyAs/AJKbSmtVKAnxOFhgynEfWpnYESOhGJXDRHZvpNPxU68+ 3dexW9ErjLMGB2gFudEhOWg639f5jABKo/XHL7o+xkSeALcp3sZg3+23Cyt2F80rK/hApjM5PagTb Hx+cC0xVNpbdn4J78RmA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lwiws-000v9X-JG; Fri, 25 Jun 2021 10:20:36 +0000 Received: from relay8-d.mail.gandi.net ([217.70.183.201]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lwiFh-000gst-Al for linux-arm-kernel@lists.infradead.org; Fri, 25 Jun 2021 09:35:59 +0000 Received: (Authenticated sender: maxime.chevallier@bootlin.com) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 340181BF208; Fri, 25 Jun 2021 09:35:52 +0000 (UTC) Date: Fri, 25 Jun 2021 11:35:50 +0200 From: Maxime Chevallier To: "Russell King (Oracle)" Cc: Shawn Guo , Rob Herring , Andrew Lunn , thomas.petazzoni@bootlin.com, herve.codina@bootlin.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] ARM: dts: imx6qdl-sr-som: Increase the PHY reset duration to 10ms Message-ID: <20210625113550.7a135e69@bootlin.com> In-Reply-To: <20210625083840.GS22278@shell.armlinux.org.uk> References: <20210625083051.3691737-1-maxime.chevallier@bootlin.com> <20210625083840.GS22278@shell.armlinux.org.uk> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210625_023557_708565_7E1D1F8B X-CRM114-Status: GOOD ( 27.54 ) 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="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgUnVzc2VsbCwKCk9uIEZyaSwgMjUgSnVuIDIwMjEgMDk6Mzg6NDAgKzAxMDAKIlJ1c3NlbGwg S2luZyAoT3JhY2xlKSIgPGxpbnV4QGFybWxpbnV4Lm9yZy51az4gd3JvdGU6Cgo+T24gRnJpLCBK dW4gMjUsIDIwMjEgYXQgMTA6MzA6NTFBTSArMDIwMCwgTWF4aW1lIENoZXZhbGxpZXIgd3JvdGU6 Cj4+IFRoZSBkYXRhc2hlZXQgZm9yIHRoZSBBUjgwM3ggUEhZIHByZXNlbnQgb24gdGhpcyBTb00g cmVjb21tZW5kcyB0aGF0IHRoZQo+PiByZXNldCBsaW5lIGlzIGFzc2VydGVkIGxvdyBmb3IgMTBt cywgc28gdGhhdCB0aGUgUEhZIGhhcyB0aW1lIHRvCj4+IHByb3Blcmx5IHJlc2V0IHRoZSBpbnRl cm5hbCBibG9ja3MuCj4+IAo+PiBUaGUgcHJldmlvdXMgdmFsdWUgb2YgMm1zIHdhcyBmb3VuZCB0 byBiZSBwcm9ibGVtYXRpYyBvbiBzb21lIHNldHVwcywKPj4gY2F1c2luZyBpbnRlcm1pdHRlbnQg aXNzdWVzIHdoZXJlIHRoZSBQSFkgd291bGQgYmUgdW5yZXNwb25zaXZlCj4+IGV2ZXJ5IG9uY2Ug aW4gYSB3aGlsZSBvbiBzb21lIHN5dGVtcywgd2l0aCBhIGxvdyBvY2N1cmVuY2UgKGl0IHR5cGlj YWxseQo+PiB0b29rIGFyb3VuZCAzMCBjb25zZWN1dGl2ZSByZWJvb3RzIHRvIGVuY291bnRlciB0 aGUgaXNzdWUpLgo+PiAKPj4gQnVtcGluZyB0aGUgZGVsYXkgdG8gdGhlIDEwbXMgcmVjb21tZW5k ZWQgdmFsdWUgbWFrZXMgdGhlIGlzc3VlCj4+IGRpc3NhcGVhciwgd2l0aCBtb3JlIHRoYW4gMjUw MCBjb25zZWN1dGl2ZSByZWJvb3RzIHBlcmZvcm1lZCB3aXRob3V0IHRoZQo+PiBpc3N1ZSBzaG93 aW5nLXVwLiAgCj4KPlRoaXMgaXNuJ3QgYWN0dWFsbHkgd2hhdCB0aGUgZGF0YXNoZWV0IHNheXMs IHdoaWNoIGlzOgo+Cj4gIElucHV0IGNsb2NrIGluY2x1ZGluZyB0aGUgY3J5c3RhbCBhbmQgZXh0 ZXJuYWwgaW5wdXQgY2xvY2sgc2hvdWxkIGJlCj4gIHN0YWJsZSBmb3IgYXQgbGVhc3QgMW1zIGJl Zm9yZSBSRVNFVCBjYW4gYmUgZGVhc3NlcnRlZC4KPgo+ICBXaGVuIHVzaW5nIGNyeXN0YWwsIHRo ZSBjbG9jayBpcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBhZnRlciBwb3dlciBpcwo+ICBzdGFibGUu IEZvciBhIHJlbGlhYmxlIHBvd2VyIG9uIHJlc2V0LCBzdWdnZXN0IHRvIGtlZXAgYXNzZXJ0aW5n IHRoZQo+ICByZXNldCBsb3cgbG9uZyBlbm91Z2ggKDEwbXMpIHRvIGVuc3VyZSB0aGUgY2xvY2sg aXMgc3RhYmxlIGFuZAo+ICBjbG9jay10by1yZXNldCAxbXMgcmVxdWlyZW1lbnQgaXMgc2F0aXNm aWVkLgo+Cj5UaGUgMTBtcyBkdXJhdGlvbiB5b3UgcXVvdGUgaXMgdGhlIF9wb3dlciBvbiByZXNl dF8gZHVyYXRpb24sIGFuZCBpbgo+dGhvc2UgY2lyY3Vtc3RhbmNlcywgdGhlcmUgaXMgYSBkZWxh eSBiZWZvcmUgdGhlIHJlcXVpcmVkIGNsb2NrcyB3aWxsCj5iZSBzdGFibGUuCj4KPlRoaXMgaXMg bm90IGEgcG93ZXIgb24gcmVzZXQgc2NlbmFyaW8gLSB0aGUgcG93ZXIgd2FzIGFwcGxpZWQgbG9u ZyBhZ28KPmJ5IHRoZSB0aW1lIHRoZSBrZXJuZWwgc3RhcnRzIGJvb3RpbmcsIGFuZCBYSSBjbG9j ayB3b3VsZCBoYXZlIGJlZW4KPnJ1bm5pbmcuCj4KPlNvLCBJIHRoaW5rIHRoZSBjb21taXQgbWVz c2FnZSB3aGljaCBzZWVtcyB0byBiZSBjbGFpbWluZyB0aGF0IHRoZSByZXNldAo+bGluZSBhbHdh eXMgbmVlZHMgdG8gYmUgYXNzZXJ0ZWQgZm9yIDEwbXMgaXMgbm90IGVudGlyZWx5IGFjY3VyYXRl LgoKWW91J3JlIGNvcnJlY3QsIGluZGVlZCwgSSBndWVzcyB3ZSByZWFkIHRoYXQgYSBiaXQgdG9v IGZhc3QuCgpIb3dldmVyLCB3ZSBkbyBzZWUgdGhhdCBidW1waW5nIHRoZSByZXNldCBkdXJhdGlv biBmaXhlcyB0aGUgaXNzdWUgdGhhdAp3YXMgZW5jb3VudGVyZWQuCgpUbyBnaXZlIHlvdSBtb3Jl IGRldGFpbHMgYWJvdXQgdGhpcyBpc3N1ZSwgaW4gdGhhdCBzY2VuYXJpbyB0aGUgUEhZCndvdWxk IGZhaWwgdGhlIGF1dG9uZWcgcHJvY2Vzcywgbm8gbWF0dGVyIGhvdyBtYW55IHRpbWVzIHdlCmVu YWJsZS9kaXNhYmxlIHRoZSBsaW5rIGFuZCByZXN0YXJ0IGF1dG9uZWcuCgpUaGUgbG93IGR1cmF0 aW9uIG9mIHRoZSByZXNldCBtaWdodCBwdXQgdGhlIGludGVybmFsIGJsb2NrcyBpbiBhbgp1bmtu b3duIHN0YXRlLCBidXQgSSBkb24ndCBhY3R1YWxseSBoYXZlIHRoZSByZWFsIGhhcmR3YXJlLXNp ZGUKZXhwbGFuYXRpb24gZm9yIHdoYXQgaXMgYWN0dWFsbHkgaGFwcGVuaW5nLgoKRnVydGhlciB0 ZXN0aW5nIHNob3dlZCwgZm9yIGV4YW1wbGUsIHRoYXQgZGVjcmVhc2luZyB0aGUgdGltZSBvZiBy ZXNldAphc3NlcnRpb24gdG8gMW1zIG1hZGUgdGhlIGlzc3VlIGFwcGVhciBldmVyeXRpbWUsIHdo ZXJlYXMgYnVtcGluZyBpdCB0bwoxMCBtcyBmaXhlZCBpdCBlbnRpcmVseS4KCkluIHRoZSBhYnNl bmNlIG9mIGFueSBvdGhlciBpbmRpY2F0aW9uIGFib3V0IGhvdyBsb25nIHNob3VsZCB0aGF0IHJl c2V0CmJlIGFzc2VydGVkLCBhbmQgYWZ0ZXIgdGhvdXJvdWdoIHRlc3RpbmcsIDEwbXMgc2VlbXMg bGlrZSBhIGdvb2QgZW5vdWdoCnZhbHVlLgoKSSdsbCBzZW5kIGEgVjIgd2l0aCB0aGUgY29tbWl0 IGxvZyBmaXhlZC4KClRoYW5rcyBmb3IgdGhlIHF1aWNrIHJldmlldywKCk1heGltZQoKPj4gCj4+ IEZpeGVzOiAyMDhkN2JhZjgwODUgKCJBUk06IGlteDogaW5pdGlhbCBTb2xpZFJ1biBIdW1taW5n Qm9hcmQgc3VwcG9ydCIpCj4+IFNpZ25lZC1vZmYtYnk6IE1heGltZSBDaGV2YWxsaWVyIDxtYXhp bWUuY2hldmFsbGllckBib290bGluLmNvbT4KPj4gVGVzdGVkLWJ5OiBIZXJ2w6kgQ29kaW5hIDxo ZXJ2ZS5jb2RpbmFAYm9vdGxpbi5jb20+Cj4+IC0tLQo+PiAgYXJjaC9hcm0vYm9vdC9kdHMvaW14 NnFkbC1zci1zb20uZHRzaSB8IDIgKy0KPj4gIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KSwgMSBkZWxldGlvbigtKQo+PiAKPj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvZHRzL2lt eDZxZGwtc3Itc29tLmR0c2kgYi9hcmNoL2FybS9ib290L2R0cy9pbXg2cWRsLXNyLXNvbS5kdHNp Cj4+IGluZGV4IDBhZDhjY2RlMGNmOC4uYTU0ZGFmY2UwMjViIDEwMDY0NAo+PiAtLS0gYS9hcmNo L2FybS9ib290L2R0cy9pbXg2cWRsLXNyLXNvbS5kdHNpCj4+ICsrKyBiL2FyY2gvYXJtL2Jvb3Qv ZHRzL2lteDZxZGwtc3Itc29tLmR0c2kKPj4gQEAgLTU0LDcgKzU0LDcgQEAgJmZlYyB7Cj4+ICAJ cGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKPj4gIAlwaW5jdHJsLTAgPSA8JnBpbmN0cmxfbWlj cm9zb21fZW5ldF9hcjgwMzU+Owo+PiAgCXBoeS1tb2RlID0gInJnbWlpLWlkIjsKPj4gLQlwaHkt cmVzZXQtZHVyYXRpb24gPSA8Mj47Cj4+ICsJcGh5LXJlc2V0LWR1cmF0aW9uID0gPDEwPjsKPj4g IAlwaHktcmVzZXQtZ3Bpb3MgPSA8JmdwaW80IDE1IEdQSU9fQUNUSVZFX0xPVz47Cj4+ICAJc3Rh dHVzID0gIm9rYXkiOwo+PiAgCj4+IC0tIAo+PiAyLjI1LjQKPj4gCj4+ICAgCj4KCgoKLS0gCk1h eGltZSBDaGV2YWxsaWVyLCBCb290bGluCkVtYmVkZGVkIExpbnV4IGFuZCBrZXJuZWwgZW5naW5l ZXJpbmcKaHR0cHM6Ly9ib290bGluLmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= 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=-15.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 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 CAC4AC2B9F4 for ; Fri, 25 Jun 2021 09:35:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B179B61409 for ; Fri, 25 Jun 2021 09:35:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229940AbhFYJiR convert rfc822-to-8bit (ORCPT ); Fri, 25 Jun 2021 05:38:17 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:34251 "EHLO relay8-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229902AbhFYJiQ (ORCPT ); Fri, 25 Jun 2021 05:38:16 -0400 Received: (Authenticated sender: maxime.chevallier@bootlin.com) by relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 340181BF208; Fri, 25 Jun 2021 09:35:52 +0000 (UTC) Date: Fri, 25 Jun 2021 11:35:50 +0200 From: Maxime Chevallier To: "Russell King (Oracle)" Cc: Shawn Guo , Rob Herring , Andrew Lunn , thomas.petazzoni@bootlin.com, herve.codina@bootlin.com, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] ARM: dts: imx6qdl-sr-som: Increase the PHY reset duration to 10ms Message-ID: <20210625113550.7a135e69@bootlin.com> In-Reply-To: <20210625083840.GS22278@shell.armlinux.org.uk> References: <20210625083051.3691737-1-maxime.chevallier@bootlin.com> <20210625083840.GS22278@shell.armlinux.org.uk> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi Russell, On Fri, 25 Jun 2021 09:38:40 +0100 "Russell King (Oracle)" wrote: >On Fri, Jun 25, 2021 at 10:30:51AM +0200, Maxime Chevallier wrote: >> The datasheet for the AR803x PHY present on this SoM recommends that the >> reset line is asserted low for 10ms, so that the PHY has time to >> properly reset the internal blocks. >> >> The previous value of 2ms was found to be problematic on some setups, >> causing intermittent issues where the PHY would be unresponsive >> every once in a while on some sytems, with a low occurence (it typically >> took around 30 consecutive reboots to encounter the issue). >> >> Bumping the delay to the 10ms recommended value makes the issue >> dissapear, with more than 2500 consecutive reboots performed without the >> issue showing-up. > >This isn't actually what the datasheet says, which is: > > Input clock including the crystal and external input clock should be > stable for at least 1ms before RESET can be deasserted. > > When using crystal, the clock is generated internally after power is > stable. For a reliable power on reset, suggest to keep asserting the > reset low long enough (10ms) to ensure the clock is stable and > clock-to-reset 1ms requirement is satisfied. > >The 10ms duration you quote is the _power on reset_ duration, and in >those circumstances, there is a delay before the required clocks will >be stable. > >This is not a power on reset scenario - the power was applied long ago >by the time the kernel starts booting, and XI clock would have been >running. > >So, I think the commit message which seems to be claiming that the reset >line always needs to be asserted for 10ms is not entirely accurate. You're correct, indeed, I guess we read that a bit too fast. However, we do see that bumping the reset duration fixes the issue that was encountered. To give you more details about this issue, in that scenario the PHY would fail the autoneg process, no matter how many times we enable/disable the link and restart autoneg. The low duration of the reset might put the internal blocks in an unknown state, but I don't actually have the real hardware-side explanation for what is actually happening. Further testing showed, for example, that decreasing the time of reset assertion to 1ms made the issue appear everytime, whereas bumping it to 10 ms fixed it entirely. In the absence of any other indication about how long should that reset be asserted, and after thourough testing, 10ms seems like a good enough value. I'll send a V2 with the commit log fixed. Thanks for the quick review, Maxime >> >> Fixes: 208d7baf8085 ("ARM: imx: initial SolidRun HummingBoard support") >> Signed-off-by: Maxime Chevallier >> Tested-by: Hervé Codina >> --- >> arch/arm/boot/dts/imx6qdl-sr-som.dtsi | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/arch/arm/boot/dts/imx6qdl-sr-som.dtsi b/arch/arm/boot/dts/imx6qdl-sr-som.dtsi >> index 0ad8ccde0cf8..a54dafce025b 100644 >> --- a/arch/arm/boot/dts/imx6qdl-sr-som.dtsi >> +++ b/arch/arm/boot/dts/imx6qdl-sr-som.dtsi >> @@ -54,7 +54,7 @@ &fec { >> pinctrl-names = "default"; >> pinctrl-0 = <&pinctrl_microsom_enet_ar8035>; >> phy-mode = "rgmii-id"; >> - phy-reset-duration = <2>; >> + phy-reset-duration = <10>; >> phy-reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; >> status = "okay"; >> >> -- >> 2.25.4 >> >> > -- Maxime Chevallier, Bootlin Embedded Linux and kernel engineering https://bootlin.com