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 2853DC7EE26 for ; Mon, 22 May 2023 09:03:46 +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: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=GaqVAMGk//KChmEPZfjbkyX4Vzq9ID8YPASExjYKQfc=; b=ewNGW2GX+KOCgM 72bt9r+anIQsYWqwuRhxt/6d42HG6r1cci+oe7AQOolm7Tv2/SnsLpJRZEM1Em9+8+vgxazCI1QeB tGp8T5BfP4HvEKsjGxZ1Kt5Vyd7Jc4lzHjzaZ8qspIamT0wXtoXIx2MYhxxth/GPNFanbAJATUYEX bW2YxCwrfBKwIKlfCoeSFdpxHLbnReA3lOMYlNX2hsvjOIDnkii4Mye71SvHXYFuL0J6aXhq9n5el BH3HJAEUW0rrGEparXgwHK6cbQPVUV6CKfSGVFcvHJ3ijdVVPOfmjI3oJ+1KYDolT5Rl1yZ7JuKws 2qiEQgMEUpsmMnyKZs6A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q11S8-005pJQ-1X; Mon, 22 May 2023 09:03:40 +0000 Received: from relay3-d.mail.gandi.net ([2001:4b98:dc4:8::223]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q11S3-005pIX-1e for linux-mtd@lists.infradead.org; Mon, 22 May 2023 09:03:37 +0000 Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 4D50060010; Mon, 22 May 2023 09:03:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1684746212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=R0HcuTU2UCgw9VcTnmEo+XoqYG8ERjbKkITJFS/jwPs=; b=o8umssakrgdfoZtB3GvflVD8uShVyzA0rYtAVC0EiXg71bJ4TN5+e1oSFq1LwILmshm2nm UonmQinev9HZR3BK6Bbl9Bnh5hszGB6+W4cum1XUJn59CaalrrdOn7Y4AoAdHn8LthxA0p EUoFF04vTyVBqiNB7mlMuXzviFDQT8STCSJhjr90VJPJtC68Ne+WIDx1FldP67c0AOELDv vtpVIoDIHT4EgNSc+bkvAB1Mb8sWlUFzTpWIQoFNadG+6KQMOHx/PnE/kaNe/TNkAtkYE/ 60BLRGqxKjv3KjkIVFjlJ3AXc2bSJlYdZT8U35OYyjIIJ/dh8+evVubl9Hg6aA== Date: Mon, 22 May 2023 11:03:30 +0200 From: Miquel Raynal To: Chris Packham Cc: Thomas Petazzoni , "linux-mtd@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: Marvell NFC timings on CN9130 Message-ID: <20230522110330.6763a008@xps-13> In-Reply-To: <7eb842b6-77c4-05ad-b984-4bb7ae11c278@alliedtelesis.co.nz> References: <17a9eee2-d84f-549d-a5ff-da88d43393c1@alliedtelesis.co.nz> <20230516192538.45b35b6b@xps-13> <40c38662-221f-b9bb-9699-625dd788defd@alliedtelesis.co.nz> <82b16918-8930-80ab-a87f-a5eefbff2a70@alliedtelesis.co.nz> <7eb842b6-77c4-05ad-b984-4bb7ae11c278@alliedtelesis.co.nz> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230522_020335_846332_2D51472E X-CRM114-Status: GOOD ( 49.30 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGkgQ2hyaXMsCgpDaHJpcy5QYWNraGFtQGFsbGllZHRlbGVzaXMuY28ubnogd3JvdGUgb24gTW9u LCAyMiBNYXkgMjAyMyAwNDo1Mzo1NAorMDAwMDoKCj4gT24gMjIvMDUvMjMgMTA6NTMsIENocmlz IFBhY2toYW0gd3JvdGU6Cj4gPgo+ID4gT24gMTcvMDUvMjMgMTQ6MjIsIENocmlzIFBhY2toYW0g d3JvdGU6ICAKPiA+Pgo+ID4+IE9uIDE3LzA1LzIzIDA1OjI1LCBNaXF1ZWwgUmF5bmFsIHdyb3Rl OiAgCj4gPj4+IEhpIENocmlzIQo+ID4+Pgo+ID4+PiBDaHJpcy5QYWNraGFtQGFsbGllZHRlbGVz aXMuY28ubnogd3JvdGUgb24gVHVlLCAxNiBNYXkgMjAyMyAwNDo0NjozOAo+ID4+PiArMDAwMDoK PiA+Pj4gIAo+ID4+Pj4gSGkgTWlxdWVsLCBUaG9tYXMsCj4gPj4+Pgo+ID4+Pj4gQSBoYXJkd2Fy ZSBjb2xsZWFndWUgcmVwb3J0ZWQgYSBjb25jZXJuIHRvIG1lIGFib3V0IGEgbmV3IGRlc2lnbiB3 ZSAKPiA+Pj4+IGhhdmUKPiA+Pj4+IHVzaW5nIHRoZSBNYXJ2ZWxsIENOOTEzMCBTb0MgKHdoaWNo IEkgdGhpbmsgd2FzIGNhbGxlZCBBcm1hZGEtOEsgCj4gPj4+PiBiZWZvcmUKPiA+Pj4+IHRoZXkg cmVicmFuZGVkKS4KPiA+Pj4+Cj4gPj4+PiBCYXNpY2FsbHkgdGhlaXIgY29uY2VybiBpcyB0aGF0 IHRoZSB0V0MgdGltaW5nIHRoZXkgb2JzZXJ2ZSBpcyBmYXN0ZXIKPiA+Pj4+ICh+MThucykgdGhh biB0aGUgZG9jdW1lbnRlZCBtaW5pbXVtIGluIHRoZSBoYXJkd2FyZSBkYXRhc2hlZXQgZm9yIHRo ZQo+ID4+Pj4gQ045MTMwICgyNW5zKS4gQXNpZGUgZnJvbSBub3QgbWVldGluZyB0aGUgZGF0YXNo ZWV0IHNwZWMgd2UndmUgbm90Cj4gPj4+PiBvYnNlcnZlZCBhbnkgb3RoZXIgaXNzdWUgKHlldCku ICAKPiA+Pj4gSSB3b3VsZCBoYXZlIGV4cGVjdGVkIHRoZSBjb250cm9sbGVyIHRvIHN1cHBvcnQg YWxtb3N0IGFueSBraW5kIG9mCj4gPj4+IHRpbWluZ3MsIGluY2x1ZGluZyBTRFIgRURPIG1vZGUg NS4gdFdDIGlzIDI1bnMgd2l0aCBtb2RlIDQsIGJ1dCAyMCBvbgo+ID4+PiBtb2RlIDUgKE9ORkkp LiBTbyBJIGJlbGlldmUgeW91J3JlIHJ1bm5pbmcgYSBzeXN0ZW0gd2l0aCBhIGNoaXAgdGhhdCBp cwo+ID4+PiBub3QgY29tcGF0aWJsZSB3aXRoIHRoZSBmYXN0ZXN0IG1vZGUuIElmIHRoYXQgaXMg dGhlIGNhc2UsIGl0IG1heQo+ID4+PiBleHBsYWluIHdoeSB5b3UgZG9uJ3Qgc2VlIGVycm9ycyB3 aXRoIHRoaXMgY2hpcDogaXQgbWF5IHN1cHBvcnQKPiA+Pj4gc2xpZ2h0bHkgZmFzdGVyIHRpbWlu Z3MgdGhhbiBpdCBhZHZlcnRpc2VzLgo+ID4+Pgo+ID4+PiBBbnl3YXksIGlmIHlvdXIgZmluZGlu Z3MgYXJlIHRydWUsIGl0IG1lYW5zIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uCj4gPj4+IGlz IHNsaWdodGx5IG91dCBvZiBzcGVjIGFuZCB0aGUgdGltaW5nIGNhbGN1bGF0aW9uIG1pZ2h0IHJl cXVpcmUgdG8gYmUKPiA+Pj4gdHdlYWtlZCBhIGxpdHRsZSBiaXQgdG8gcmVkdWNlIHRXQy4KPiA+ Pj4gIAo+ID4+Pj4gSSBub3RpY2UgaW4gdGhlIG1hcnZlbGxfbmFuZC5jIGRyaXZlciB0aGF0IG1h cnZlbGxfbmZjX2luaXQoKSBzZXRzIHRoZQo+ID4+Pj4gTkFORCBDbG9jayBGcmVxdWVuY3kgU2Vs ZWN0IGJpdCAoMHhGMjQ0MDcwMDowKSB0byAxIHdoaWNoIHJ1bnMgCj4gPj4+PiBhY2NvcmRpbmcK PiA+Pj4+IHRvIHRoZSBkYXRhc2hlZXQgdGhlIE5BTkQgZmxhc2ggYXQgNDAwTUh6IC4gQnV0IHRo ZSBjYWxjdWxhdGlvbnMgaW4KPiA+Pj4+IG1hcnZlbGxfbmZjX3NldHVwX2ludGVyZmFjZSgpIHVz ZSB0aGUgdmFsdWUgZnJvbQo+ID4+Pj4gY2xrX2dldF9yYXRlKG5mYy0+Y29yZV9jbGspIHdoaWNo IGlzIHN0aWxsIDI1ME1IeiBzbyBJJ20gd29uZGVyaW5nIGlmCj4gPj4+PiBtYXliZSB0aGUgZmFj dCB0aGF0IHRoZSBOQU5EIGZsYXNoIGlzIGJlaW5nIHJ1biBmYXN0ZXIgaXMgaGF2aW5nIGFuCj4g Pj4+PiBpbXBhY3Qgb24gdGltaW5ncyB0aGF0IGFyZSBjYWxjdWxhdGVkIGFyb3VuZCB0aGUgY29y ZV9jbGsgZnJlcXVlbmN5LiAgCj4gPj4+IFdoYXQgaWYgeW91IHJlc2V0IHRoaXMgYml0PyBEbyB5 b3Ugb2JzZXJ2ZSBkaWZmZXJlbnQgdGltaW5ncz8gSSBob3BlCj4gPj4+IHlvdSBkbywgb3RoZXJ3 aXNlIHRoaXMgaXMgYSBkZWFkLWVuZC4gIAo+ID4+IFllcyBpZiB3ZSBjbGVhciB0aGUgYml0IHRo ZSB0aW1pbmdzIGdvIGZyb20gfjE4bnMgdG8gYWJvdXQgMzBucy4gIAo+ID4+PiBUaGUgdGltaW5n cyBhcmUgZGVyaXZlZCBmcm9tIHRoaXMgY2xvY2sgYnV0IEkgcmVtZW1iZXIgc2VlaW5nIGRpZmZl cmVudAo+ID4+PiByYXRlcyB0aGFuIHRoZSBvbmVzIEkgZXhwZWN0ZWQgd2l0aCBubyBvYnZpb3Vz IGV4cGxhbmF0aW9uIChzZWUgdGhlICIqCj4gPj4+IDIiIGluIHRoZSBjYWxjdWxhdGlvbiBvZiBw ZXJpb2RfbnMgYW5kIHRoZSBjb21tZW50IHJpZ2h0IGJlbG93KS4gU28KPiA+Pj4gbWF5YmUgdGhp cyBpcyBkdWUgdG8gdGhlIDQwME1IeiB2cy4gMjUwTUh6IGlzc3VlIHlvdSBhcmUgcmVwb3J0aW5n LCBvcgo+ID4+PiB0aGVyZSBpcyBhbiB1bmRvY3VtZW50ZWQgcHJlLXNjYWxlciBpbi1iZXR3ZWVu ICh0aGlzIGlzIG15IG9yaWdpbmFsCj4gPj4+IGd1ZXNzKS4gIAo+ID4+Cj4gPj4gSSB3b25kZXJl ZCBpZiB0aGUgKiAyIHdhcyBiZWNhdXNlIG9mIHRoaXMgb3IgYmVjYXVzZSBvZiB0aGUgY29tbWVu dCAKPiA+PiB0aGF0IHRoZSBFQ0NfQ0xLIGlzIDIqTkZfQ0xLLiBUaGF0IHByb2JhYmx5IGFsc28g bWVhbnMgdGhhdCBhIG51bWJlciAKPiA+PiBvZiBTb0NzIGFyZSBydW5uaW5nIHdpdGggYW4gZXh0 cmEgKjIgdGhhdCBkb24ndCBuZWVkIHRvIGJlIChlLmcuIAo+ID4+IEFybWFkYS0zODUpLiAgCj4g PiBJbnRlcmVzdGluZ2x5IGNwMTEwLXN5c3RlbS1jb250cm9sbGVyLmMgaXMgYXdhcmUgb2YgdGhl IDQwME1IeiBvcHRpb24gCj4gPiBidXQgdGhhdCdzIG9ubHkgZWZmZWN0aXZlIGlmIGl0J3MgYmVl biBzZXQgcHJpb3IgdG8gdGhlIGtlcm5lbCAKPiA+IGJvb3RpbmcuIEknbSBub3QgcmVhbGx5IGZh bWlsaWFyIHdpdGggY2xrIGRyaXZlcnMgYnV0IEkgYXNzdW1lIGl0IG11c3QgCj4gPiBiZSBwb3Nz aWJsZSB0byBtYWtlIGl0IGxvb2sgdXAgdGhlIGZyZXF1ZW5jeSBkeW5hbWljYWxseSBpbnN0ZWFk IG9mIAo+ID4gdXNpbmcgYSBzaW5nbGUgZml4ZWQgdmFsdWUuICAKPiA+PiAgCj4gPj4+PiBEbyB5 b3UgdGhpbmsgdGhhdCB0aGUgdGltaW5ncyBjYWxjdWxhdGlvbnMgc2hvdWxkIHRha2UgdGhlIE5B TkQgQ2xvY2sKPiA+Pj4+IEZyZXF1ZW5jeSBTZWxlY3Qgc2V0dGluZyBpbnRvIGFjY291bnQ/ICAK PiA+Pj4gVGhlcmUgaXMgbm90IG11Y2ggYWJvdXQgdGhpcyBjbG9jayBpbiB0aGUgbWFudWFsLCBz byBpZiB0aGUgY2xvY2sgaXMKPiA+Pj4gZmVlZGluZyB0aGUgbG9naWMgb2YgdGhlIGNvbnRyb2xs ZXIgZ2VuZXJhdGluZyB0aGUgc2lnbmFscyBvbiB0aGUgYnVzLAo+ID4+PiB0aGVuIHllcy4gWW91 IGNhbiB2ZXJpZnkgdGhpcyB3aXRoIHRoZSB0ZXN0IG1lbnRpb25lZCBhYm92ZS4KPiA+Pj4KPiA+ Pj4gQ291bGQgeW91IGNoZWNrIHRoZSB2YWx1ZXMgc2V0IHRvIHRXUCBhbmQgdFdIIHdpdGggYW5k IHdpdGhvdXQgdGhlIGJpdAo+ID4+PiBhbmQgcHJvYmUgdGhlIHNpZ25hbHMgaW4gYm90aCBjYXNl cz8gTWF5YmUgdGhlICIqIDIiIGluIHRoZQo+ID4+PiBwZXJpb2RfbnMgY2FsY3VsYXRpb24gd2ls bCB2YW5pc2ggaWYgd2UgdXNlIDQwME1IeiBhcyBpbnB1dCBjbG9jayAKPiA+Pj4gcmF0aGVyCj4g Pj4+IHRoYW4gY2xrX2dldF9yYXRlKCkgKG9yIGJldHRlciwgZXhwb3NlIHRoZSBiaXQgYXMgYSBt dXgtY2xvY2sgYW5kIHVzZQo+ID4+PiBpdCB0byB0ZWxsIHRoZSBDQ0YgdGhlIHJpZ2h0IGZyZXF1 ZW5jeSkgYW5kIHlvdSdsbCBnZXQgYSBzaGFycGVyIHRXQyBpbgo+ID4+PiB0aGUgZW5kLCB3aGlj aCBob3BlZnVsbHkgc2hvdWxkIG1hdGNoIHRoZSBzcGVjIHRoaXMgdGltZS4gIAo+ID4+Cj4gPj4g SSB3YXMgZ29pbmcgdG8gaGF2ZSBhIGxvb2sgdG8gc2VlIGlmIEkgY2FuIGdldCB0aGUgTkFORCBj bG9jayB0byAKPiA+PiBjb3JyZWN0bHkgcmVmbGVjdCB0aGUgdmFsdWUgd2hlbiB0aGUgTkFORCBD bG9jayBGcmVxdWVuY3kgU2VsZWN0IGJpdCAKPiA+PiBpcyBzZXQuIEluIHRoZSBtZWFudGltZSBJ J2xsIGFsc28gZG8gc29tZSBleHBlcmltZW50cyByZW1vdmluZyB0aGUgKiAKPiA+PiAyIGFuZCBo YXJkLWNvZGluZyB0aGUgZnJlcXVlbmN5IGF0IDQwME1Iei4gIAo+IAo+IEkgbGVhcm50IHNvbWV0 aGluZyBvdmVyIHRoZSBjb3Vyc2Ugb2YgdGhlIGRheS4gR2l2ZW4gdGltZXpvbmVzIEkgdGhvdWdo dCAKPiBpdCBtaWdodCBiZSB3b3J0aHdoaWxlIGdldHRpbmcgdGhlbSBvdXQgdGhlcmUgZXZlbiBp ZiBJIGRvbid0IGhhdmUgYSAKPiBwYXRjaCB0byBvZmZlci4KCk9mIGNvdXJzZSA6KQoKPiBJdCBh cHBlYXJzIHRoYXQgb25seSB0aGUgZmlyc3Qgc2V0IG9mIHRpbWluZ3MgY2FsY3VsYXRlZCBieSAK PiBtYXJ2ZWxsX25mY19zZXR1cF9pbnRlcmZhY2UoKSBhcmUgdXNlZC4gVGhpcyBpcyBiZWNhdXNl IAo+IG1hcnZlbGxfbmZjX3NlbGVjdF90YXJnZXQoKSByZXR1cm5zIGVhcmx5IGlmIHdlIGFyZSBh ZGRyZXNzaW5nIHRoZSBzYW1lIAo+IGNoaXAuIFNvIGV2ZW4gd2hlbiB3ZSB0YWtlIHRoZSBTRFIg dGltaW5ncyBpbnRvIGFjY291bnQgd2UgZG9uJ3QgbWFrZSAKPiBmdWxsIHVzZSBvZiB0aGVtIGlu IE5EVFIwLzEuCgpUaGUgbG9naWMgaW4gdGhlIGNvcmUgaGFzIGNoYW5nZWQgaW4gdGhlIHBhc3Qs IGl0IGlzIHBvc3NpYmxlCnRoYXQgd2UgZGlkIG5vdCBjYXRjaCBhIGNvcm5lciBjYXNlIGluIHRo aXMgZHJpdmVyLgoKTWF5YmUgdGhpcyB3b3VsZCBjbGVhbmx5IHNvbHZlIHRoZSBwcm9ibGVtICh0 aGVyZSBpcyBzaW1pbGFyIG9wZXJhdGlvbgpzb21ld2hlcmUgZWxzZSBpbiB0aGUgZHJpdmVyKToK Ci0tLSBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L21hcnZlbGxfbmFuZC5jCisrKyBiL2RyaXZlcnMv bXRkL25hbmQvcmF3L21hcnZlbGxfbmFuZC5jCkBAIC0yNDU3LDYgKzI0NTcsOSBAQCBzdGF0aWMg aW50IG1hcnZlbGxfbmZjX3NldHVwX2ludGVyZmFjZShzdHJ1Y3QgbmFuZF9jaGlwICpjaGlwLCBp bnQgY2hpcG5yLAogICAgICAgICAgICAgICAgICAgICAgICBORFRSMV9XQUlUX01PREU7CiAgICAg ICAgfQogCisgICAgICAgLyogRW5zdXJlIHRoZSBuZXh0ICpfc2VsZWN0X3RhcmdldCgpIGNhbGwg d2lsbCB3cml0ZSB0aGUgdGltaW5nIHJlZ2lzdGVycyAqLworICAgICAgIG5mYy0+c2VsZWN0ZWRf Y2hpcCA9IE5VTEw7CisKICAgICAgICByZXR1cm4gMDsKIH0KCj4gVGhlIG9yaWdpbmFsIHByb2Js ZW0gSSByZXBvcnRlZCB3YXMgZnJvbSBhIGN1c3RvbWl6ZWQga2VybmVsIHdoaWNoIAo+IGluY2x1 ZGVkIGEgY2hhbmdlIHRvIHdyaXRlIG91dCB0aGUgTkRUUjAvMSByZWdpc3RlcnMgYXQgdGhlIGVu ZCBvZiAKPiBtYXJ2ZWxsX25mY19zZXR1cF9pbnRlcmZhY2UoKS4gU28gSSBjYW4gbWFrZSBteSBw cm9ibGVtIGdvIGF3YXkgYnkgCj4gcmVtb3ZpbmcgdGhlIHdyaXRlcyB0byBORFRSMC8xIGJ1dCB0 aGVuIGluc3RlYWQgb2YgYmVpbmcgdG9vIGZhc3QgdGhleSAKPiBhcmUgbm93IHdheSB0b28gc2xv dy4gVGhhdCdkIHByb2JhYmx5IGtlZXAgdGhlIEhXIGVuZ2luZWVycyBoYXBweSBidXQgaXQgCj4g ZmVlbHMgYSBiaXQgd3JvbmcuCgpZZWFoLCBub3QgdGhlIHJpZ2h0IGFwcHJvYWNoLgoKVGhhbmtz LApNaXF1w6hsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KTGludXggTVREIGRpc2N1c3Npb24gbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbXRkLwo= 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B5E38C77B73 for ; Mon, 22 May 2023 09:04:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232719AbjEVJEP (ORCPT ); Mon, 22 May 2023 05:04:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45790 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232632AbjEVJDx (ORCPT ); Mon, 22 May 2023 05:03:53 -0400 Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::223]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F1AE7186 for ; Mon, 22 May 2023 02:03:33 -0700 (PDT) Received: (Authenticated sender: miquel.raynal@bootlin.com) by mail.gandi.net (Postfix) with ESMTPSA id 4D50060010; Mon, 22 May 2023 09:03:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1684746212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=R0HcuTU2UCgw9VcTnmEo+XoqYG8ERjbKkITJFS/jwPs=; b=o8umssakrgdfoZtB3GvflVD8uShVyzA0rYtAVC0EiXg71bJ4TN5+e1oSFq1LwILmshm2nm UonmQinev9HZR3BK6Bbl9Bnh5hszGB6+W4cum1XUJn59CaalrrdOn7Y4AoAdHn8LthxA0p EUoFF04vTyVBqiNB7mlMuXzviFDQT8STCSJhjr90VJPJtC68Ne+WIDx1FldP67c0AOELDv vtpVIoDIHT4EgNSc+bkvAB1Mb8sWlUFzTpWIQoFNadG+6KQMOHx/PnE/kaNe/TNkAtkYE/ 60BLRGqxKjv3KjkIVFjlJ3AXc2bSJlYdZT8U35OYyjIIJ/dh8+evVubl9Hg6aA== Date: Mon, 22 May 2023 11:03:30 +0200 From: Miquel Raynal To: Chris Packham Cc: Thomas Petazzoni , "linux-mtd@lists.infradead.org" , "linux-kernel@vger.kernel.org" Subject: Re: Marvell NFC timings on CN9130 Message-ID: <20230522110330.6763a008@xps-13> In-Reply-To: <7eb842b6-77c4-05ad-b984-4bb7ae11c278@alliedtelesis.co.nz> References: <17a9eee2-d84f-549d-a5ff-da88d43393c1@alliedtelesis.co.nz> <20230516192538.45b35b6b@xps-13> <40c38662-221f-b9bb-9699-625dd788defd@alliedtelesis.co.nz> <82b16918-8930-80ab-a87f-a5eefbff2a70@alliedtelesis.co.nz> <7eb842b6-77c4-05ad-b984-4bb7ae11c278@alliedtelesis.co.nz> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Chris, Chris.Packham@alliedtelesis.co.nz wrote on Mon, 22 May 2023 04:53:54 +0000: > On 22/05/23 10:53, Chris Packham wrote: > > > > On 17/05/23 14:22, Chris Packham wrote: =20 > >> > >> On 17/05/23 05:25, Miquel Raynal wrote: =20 > >>> Hi Chris! > >>> > >>> Chris.Packham@alliedtelesis.co.nz wrote on Tue, 16 May 2023 04:46:38 > >>> +0000: > >>> =20 > >>>> Hi Miquel, Thomas, > >>>> > >>>> A hardware colleague reported a concern to me about a new design we= =20 > >>>> have > >>>> using the Marvell CN9130 SoC (which I think was called Armada-8K=20 > >>>> before > >>>> they rebranded). > >>>> > >>>> Basically their concern is that the tWC timing they observe is faster > >>>> (~18ns) than the documented minimum in the hardware datasheet for the > >>>> CN9130 (25ns). Aside from not meeting the datasheet spec we've not > >>>> observed any other issue (yet). =20 > >>> I would have expected the controller to support almost any kind of > >>> timings, including SDR EDO mode 5. tWC is 25ns with mode 4, but 20 on > >>> mode 5 (ONFI). So I believe you're running a system with a chip that = is > >>> not compatible with the fastest mode. If that is the case, it may > >>> explain why you don't see errors with this chip: it may support > >>> slightly faster timings than it advertises. > >>> > >>> Anyway, if your findings are true, it means the current implementation > >>> is slightly out of spec and the timing calculation might require to be > >>> tweaked a little bit to reduce tWC. > >>> =20 > >>>> I notice in the marvell_nand.c driver that marvell_nfc_init() sets t= he > >>>> NAND Clock Frequency Select bit (0xF2440700:0) to 1 which runs=20 > >>>> according > >>>> to the datasheet the NAND flash at 400MHz . But the calculations in > >>>> marvell_nfc_setup_interface() use the value from > >>>> clk_get_rate(nfc->core_clk) which is still 250MHz so I'm wondering if > >>>> maybe the fact that the NAND flash is being run faster is having an > >>>> impact on timings that are calculated around the core_clk frequency.= =20 > >>> What if you reset this bit? Do you observe different timings? I hope > >>> you do, otherwise this is a dead-end. =20 > >> Yes if we clear the bit the timings go from ~18ns to about 30ns. =20 > >>> The timings are derived from this clock but I remember seeing differe= nt > >>> rates than the ones I expected with no obvious explanation (see the "* > >>> 2" in the calculation of period_ns and the comment right below). So > >>> maybe this is due to the 400MHz vs. 250MHz issue you are reporting, or > >>> there is an undocumented pre-scaler in-between (this is my original > >>> guess). =20 > >> > >> I wondered if the * 2 was because of this or because of the comment=20 > >> that the ECC_CLK is 2*NF_CLK. That probably also means that a number=20 > >> of SoCs are running with an extra *2 that don't need to be (e.g.=20 > >> Armada-385). =20 > > Interestingly cp110-system-controller.c is aware of the 400MHz option=20 > > but that's only effective if it's been set prior to the kernel=20 > > booting. I'm not really familiar with clk drivers but I assume it must= =20 > > be possible to make it look up the frequency dynamically instead of=20 > > using a single fixed value. =20 > >> =20 > >>>> Do you think that the timings calculations should take the NAND Clock > >>>> Frequency Select setting into account? =20 > >>> There is not much about this clock in the manual, so if the clock is > >>> feeding the logic of the controller generating the signals on the bus, > >>> then yes. You can verify this with the test mentioned above. > >>> > >>> Could you check the values set to tWP and tWH with and without the bit > >>> and probe the signals in both cases? Maybe the "* 2" in the > >>> period_ns calculation will vanish if we use 400MHz as input clock=20 > >>> rather > >>> than clk_get_rate() (or better, expose the bit as a mux-clock and use > >>> it to tell the CCF the right frequency) and you'll get a sharper tWC = in > >>> the end, which hopefully should match the spec this time. =20 > >> > >> I was going to have a look to see if I can get the NAND clock to=20 > >> correctly reflect the value when the NAND Clock Frequency Select bit=20 > >> is set. In the meantime I'll also do some experiments removing the *=20 > >> 2 and hard-coding the frequency at 400MHz. =20 >=20 > I learnt something over the course of the day. Given timezones I thought= =20 > it might be worthwhile getting them out there even if I don't have a=20 > patch to offer. Of course :) > It appears that only the first set of timings calculated by=20 > marvell_nfc_setup_interface() are used. This is because=20 > marvell_nfc_select_target() returns early if we are addressing the same=20 > chip. So even when we take the SDR timings into account we don't make=20 > full use of them in NDTR0/1. The logic in the core has changed in the past, it is possible that we did not catch a corner case in this driver. Maybe this would cleanly solve the problem (there is similar operation somewhere else in the driver): --- a/drivers/mtd/nand/raw/marvell_nand.c +++ b/drivers/mtd/nand/raw/marvell_nand.c @@ -2457,6 +2457,9 @@ static int marvell_nfc_setup_interface(struct nand_ch= ip *chip, int chipnr, NDTR1_WAIT_MODE; } =20 + /* Ensure the next *_select_target() call will write the timing reg= isters */ + nfc->selected_chip =3D NULL; + return 0; } > The original problem I reported was from a customized kernel which=20 > included a change to write out the NDTR0/1 registers at the end of=20 > marvell_nfc_setup_interface(). So I can make my problem go away by=20 > removing the writes to NDTR0/1 but then instead of being too fast they=20 > are now way too slow. That'd probably keep the HW engineers happy but it= =20 > feels a bit wrong. Yeah, not the right approach. Thanks, Miqu=C3=A8l