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 CF3D8C624D7 for ; Thu, 3 Sep 2026 10:12:33 +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:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Y0FFP6gk9Jnfp+18l1tyPAnUwUlSRgE4dJiMyIaTr4c=; b=R1afOX4mcExQX/ RswHJVWGhvX0o1poJxaFXr1IPgtrMYvFBGzoqs47I04SpbG/IZSi8xk/KlzGaW7Bae/gLb6SHBEkS j/DjifJibrcQZjmYnWQxBG+rEuv/dqy4ZveVVw6rz7/K85Dyv1MIffm1X01NutTnV9LRlWudWHiwx Kk1lz4NlCqSx4PJUHBwdzLQ55mRghfr4vlPBxc+ijDI+oNcuTeF0Lj0yEh0xLiC6aio/uNcBCJ7y0 OmkBqAksM771kXhPcqENreriDrYH6CAhl3dKBuc9T4ZaZ3I27JHrtedaEET5fmmyY2QUzNq6YFE03 Jt/TqIfTkIj8mA6g6s6w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x24Qm-0000000H3N9-31Tv; Thu, 03 Sep 2026 10:12:28 +0000 Received: from smtpout-02.galae.net ([185.246.84.56]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x24Qj-0000000H3Lr-2BTb for linux-mtd@lists.infradead.org; Thu, 03 Sep 2026 10:12:27 +0000 Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id 6779E1A1976; Thu, 3 Sep 2026 10:12:22 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 3A191602B8; Thu, 3 Sep 2026 10:12:22 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 71A6311C792CB; Thu, 3 Sep 2026 12:12:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1788430337; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=mmDiW4nL2EI7VVEvJaPt9BPba+nRmMBr4HdkzV+ci7U=; b=EDiSyxYIouHPQ3lMN0v8lPtyL0q1L+GgxjtQH5BYknT9kNKz8TX8n3ktWCa2aACcznksDP UYWGCXJpIp9sR2OCIFBelhFXERdWIDEskqeHQS+wbum/otRs2BkoyJWDg+4VzWiKxtvqhp 2nbrJy6QbYJpvNQEEVnecAIrPA8KRwy7GJwloC+7DqPhCWARqgnfxV7JaPgke6lYoGJny6 Wl8tnatAXSdyt4RTnUQT2XDcNviUlcztSi/gVhhZrqqPf/KTVXM1005gd2wRiSKirYA+g0 dTZuSWlrQNajuiqWadqu+kApgiGvzBo8XHh2AhA3Myyplcxg94qbefJBMrTFAQ== From: Miquel Raynal To: Nuno =?utf-8?Q?S=C3=A1?= Cc: linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Richard Weinberger , Vignesh Raghavendra Subject: Re: [PATCH] mtd: spinand: winbond: Add support for W25N08LW In-Reply-To: <20260831-mtd-nand-new-chip-support-v1-1-dca9f63ac0f9@analog.com> ("Nuno =?utf-8?Q?S=C3=A1=22's?= message of "Mon, 31 Aug 2026 16:38:10 +0100") References: <20260831-mtd-nand-new-chip-support-v1-1-dca9f63ac0f9@analog.com> User-Agent: mu4e 1.12.12; emacs 30.2 Date: Thu, 03 Sep 2026 12:12:15 +0200 Message-ID: <87h5k64pa8.fsf@bootlin.com> MIME-Version: 1.0 X-Last-TLS-Session-Version: TLSv1.3 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260903_031225_707683_B1CB7375 X-CRM114-Status: GOOD ( 21.49 ) 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 T24gMzEvMDgvMjAyNiBhdCAxNjozODoxMCArMDEsIE51bm8gU8OhIDxudW5vLnNhQGFuYWxvZy5j b20+IHdyb3RlOgoKPiBBZGQgc3VwcG9ydCBmb3IgdGhlIFcyNU4wOExXLCBhIDEuOFYgOEdiaXQg U1BJLU5BTkQgbWFkZSBvZiB0d28KPiA0R2JpdCBMVU5zLCB3aXRoIDQwOTYtYnl0ZSBwYWdlcyBh bmQgMjU2IGJ5dGVzIG9mIHNwYXJlIGFyZWEuCj4KPiBUaGUgY2hpcCByZXVzZXMgdGhlIEtWIEVD QyBzdGF0dXMgaGVscGVyLCBidXQgbmVlZHMgaXRzIG93biBPT0IKPiBsYXlvdXQgYmVjYXVzZSB0 aGUgZ2VvbWV0cnkgb2YgaXRzIHNwYXJlIGFyZWEgZGlmZmVycyBmcm9tIHRoZQo+IGV4aXN0aW5n IFdpbmJvbmQgcGFydHMuIE9ubHkgaGFsZiBvZiBpdCBpcyB2aXNpYmxlIHdoaWxlIHRoZQo+IGlu dGVybmFsIEVDQyBpcyBlbmFibGVkLCBzbyB0aGUgRUNDIHJlZ2lvbiBpcyByZXBvcnRlZCBhcwo+ IGluYWNjZXNzaWJsZSBhbmQganVzdCB0aGUgZnJlZSBieXRlcyBhcmUgZXhwb3NlZC4KPgo+IEFz c2lzdGVkLWJ5OiBDbGF1ZGU6T3B1cy01Cj4gU2lnbmVkLW9mZi1ieTogTnVubyBTw6EgPG51bm8u c2FAYW5hbG9nLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9tdGQvbmFuZC9zcGkvd2luYm9uZC5jIHwg NDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDEgZmlsZSBj aGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFu ZC9zcGkvd2luYm9uZC5jIGIvZHJpdmVycy9tdGQvbmFuZC9zcGkvd2luYm9uZC5jCj4gaW5kZXgg OWI3OGMxZTZjYmM5Li5jMmM0Y2MzMDZmMDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tdGQvbmFu ZC9zcGkvd2luYm9uZC5jCj4gKysrIGIvZHJpdmVycy9tdGQvbmFuZC9zcGkvd2luYm9uZC5jCj4g QEAgLTM0NSw2ICszNDUsNDEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGRfb29ibGF5b3V0X29w cyB3MjVuMDJrdl9vb2JsYXlvdXQgPSB7Cj4gIAkuZnJlZSA9IHcyNW4wMmt2X29vYmxheW91dF9m cmVlLAo+ICB9Owo+ICAKPiArc3RhdGljIGludCB3MjVuMDhsd19vb2JsYXlvdXRfZWNjKHN0cnVj dCBtdGRfaW5mbyAqbXRkLCBpbnQgc2VjdGlvbiwKPiArCQkJCSAgc3RydWN0IG10ZF9vb2JfcmVn aW9uICpyZWdpb24pCj4gK3sKPiArCS8qCj4gKwkgKiBXaXRoIGVjYyBlbmFibGVkIHRoZSBwYXJp dHkgYml0cyBhcmUgbm90IGFjY2Vzc2libGUuIFNvIHdlIGNhbgo+ICsJICogb25seSBzZWUgcGFn ZSArIDEyOC4gV2l0aG91dCBlY2MgdGhlIGZ1bGwgcGFnZSArIDI1NiBpcyBhY2Nlc3NpYmxlLgo+ ICsJICogVG8gbWFrZSBpdCBzaW1wbGUganVzdCByZXR1cm4gdGhlIGFyZWEgYXMgbm90IGFjY2Vz c2libGUuCj4gKwkgKi8KPiArCXJldHVybiAtRVJBTkdFOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50 IHcyNW4wOGx3X29vYmxheW91dF9mcmVlKHN0cnVjdCBtdGRfaW5mbyAqbXRkLCBpbnQgc2VjdGlv biwKPiArCQkJCSAgIHN0cnVjdCBtdGRfb29iX3JlZ2lvbiAqcmVnaW9uKQo+ICt7Cj4gKwlpZiAo c2VjdGlvbiA+IDcpCj4gKwkJcmV0dXJuIC1FUkFOR0U7Cj4gKwo+ICsJcmVnaW9uLT5vZmZzZXQg PSAoMTYgKiBzZWN0aW9uKTsKPiArCS8qIE5vdGUgdGhhdCB3ZSBpbmNsdWRlIFVzZXIgRGF0YSAy IHdoaWNoIGlzIG5vdCBwcm90ZWN0ZWQgYnkgRUNDICovCgpUaGUgbW9yZSBJIHRoaW5rIGFib3V0 IHRoZXNlIGZyZWUgYnl0ZXMsIHRoZSBtb3JlIEkgZ2V0IGNvbnZpbmNlZCB0aGF0CndlIHNob3Vs ZCBvbmx5IGV4cG9zZSBFQ0MgcHJvdGVjdGVkIGJ5dGVzLiBJIGhvbmVzdGx5IGRvIG5vdCByZW1l bWJlcgphbnkgZ3VhcmFudGVlIHJlZ2FyZGluZyB0aGVzZSBvZmZpY2lhbGx5IHN0YXRlZCwgdGhl IGNvbW1vbiBjYXNlCihlZy4gVUJJKSB0aGVyZSBpcyBubyBpbXBhY3QsIGJ1dCBtYXliZSBpdCBp cyBiZXN0IHRvIG9ubHkgZXhwb3NlIHRoZQpieXRlcyB0aGF0IGFyZSBhY3R1YWxseSBwcm90ZWN0 ZWQsIHNpbmNlIHRoZSB0aHJlc2hvbGRzIGFyZSBnZXR0aW5nCmxvd2VyIGFuZCBsb3dlciAoYW5k IGNoYW5jZXMgdG8gZ2V0IGJpdGZsaXBzIHRoZXJlIGluY3JlYXNlIHdpdGggdGhlCm9wdGltaXph dGlvbnMgb2YgdGhlIHRlY2hub2xvZ3kpLgoKRG8geW91IG1pbmQgb25seSBleHBvc2luZyBVc2Vy IERhdGEgMT8KClRoYW5rcywKTWlxdcOobAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlz dApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtpout-02.galae.net (smtpout-02.galae.net [185.246.84.56]) (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 0F8BE480350 for ; Thu, 3 Sep 2026 10:12:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.246.84.56 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788430352; cv=none; b=Wzg0xHTlXU0pvi+W7re9fRHBXwkXi+HvBmAIdy+e9UWFXK8FfhqglKeEUP8JO8OWdv7hzywodWV/zN1Nf3IInYnxqqEcFfnUHSN8sNl3D19YH0QQL99i7xO+sEEg+lZag/F9cPhR3cho3z7XY8955OFp5mDig/6Y3AB8caejf7w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788430352; c=relaxed/simple; bh=fEGKCqSobthtdkGMbtm396REFMMLWywnBL2CXfGFGdA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=ap1+aBnVLRbxJXSoRgi+s/Lq8GjAkiQsVdggZh+XOg9D8Ykvb5VShEt3fXeZveJafVgRXDJDsvrw5GANz3tfQVJNuKlQZ6RfxkxOB4QEGmlThvqdFghyiWb347zVTLdQvSJacbNh9gDnUCj+mLIN6HV+p/KEeSUdJKRdvZLVslI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=EDiSyxYI; arc=none smtp.client-ip=185.246.84.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="EDiSyxYI" Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-02.galae.net (Postfix) with ESMTPS id 6779E1A1976; Thu, 3 Sep 2026 10:12:22 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 3A191602B8; Thu, 3 Sep 2026 10:12:22 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 71A6311C792CB; Thu, 3 Sep 2026 12:12:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1788430337; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=mmDiW4nL2EI7VVEvJaPt9BPba+nRmMBr4HdkzV+ci7U=; b=EDiSyxYIouHPQ3lMN0v8lPtyL0q1L+GgxjtQH5BYknT9kNKz8TX8n3ktWCa2aACcznksDP UYWGCXJpIp9sR2OCIFBelhFXERdWIDEskqeHQS+wbum/otRs2BkoyJWDg+4VzWiKxtvqhp 2nbrJy6QbYJpvNQEEVnecAIrPA8KRwy7GJwloC+7DqPhCWARqgnfxV7JaPgke6lYoGJny6 Wl8tnatAXSdyt4RTnUQT2XDcNviUlcztSi/gVhhZrqqPf/KTVXM1005gd2wRiSKirYA+g0 dTZuSWlrQNajuiqWadqu+kApgiGvzBo8XHh2AhA3Myyplcxg94qbefJBMrTFAQ== From: Miquel Raynal To: Nuno =?utf-8?Q?S=C3=A1?= Cc: linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Richard Weinberger , Vignesh Raghavendra Subject: Re: [PATCH] mtd: spinand: winbond: Add support for W25N08LW In-Reply-To: <20260831-mtd-nand-new-chip-support-v1-1-dca9f63ac0f9@analog.com> ("Nuno =?utf-8?Q?S=C3=A1=22's?= message of "Mon, 31 Aug 2026 16:38:10 +0100") References: <20260831-mtd-nand-new-chip-support-v1-1-dca9f63ac0f9@analog.com> User-Agent: mu4e 1.12.12; emacs 30.2 Date: Thu, 03 Sep 2026 12:12:15 +0200 Message-ID: <87h5k64pa8.fsf@bootlin.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Last-TLS-Session-Version: TLSv1.3 On 31/08/2026 at 16:38:10 +01, Nuno S=C3=A1 wrote: > Add support for the W25N08LW, a 1.8V 8Gbit SPI-NAND made of two > 4Gbit LUNs, with 4096-byte pages and 256 bytes of spare area. > > The chip reuses the KV ECC status helper, but needs its own OOB > layout because the geometry of its spare area differs from the > existing Winbond parts. Only half of it is visible while the > internal ECC is enabled, so the ECC region is reported as > inaccessible and just the free bytes are exposed. > > Assisted-by: Claude:Opus-5 > Signed-off-by: Nuno S=C3=A1 > --- > drivers/mtd/nand/spi/winbond.c | 45 ++++++++++++++++++++++++++++++++++++= ++++++ > 1 file changed, 45 insertions(+) > > diff --git a/drivers/mtd/nand/spi/winbond.c b/drivers/mtd/nand/spi/winbon= d.c > index 9b78c1e6cbc9..c2c4cc306f05 100644 > --- a/drivers/mtd/nand/spi/winbond.c > +++ b/drivers/mtd/nand/spi/winbond.c > @@ -345,6 +345,41 @@ static const struct mtd_ooblayout_ops w25n02kv_oobla= yout =3D { > .free =3D w25n02kv_ooblayout_free, > }; >=20=20 > +static int w25n08lw_ooblayout_ecc(struct mtd_info *mtd, int section, > + struct mtd_oob_region *region) > +{ > + /* > + * With ecc enabled the parity bits are not accessible. So we can > + * only see page + 128. Without ecc the full page + 256 is accessible. > + * To make it simple just return the area as not accessible. > + */ > + return -ERANGE; > +} > + > +static int w25n08lw_ooblayout_free(struct mtd_info *mtd, int section, > + struct mtd_oob_region *region) > +{ > + if (section > 7) > + return -ERANGE; > + > + region->offset =3D (16 * section); > + /* Note that we include User Data 2 which is not protected by ECC */ The more I think about these free bytes, the more I get convinced that we should only expose ECC protected bytes. I honestly do not remember any guarantee regarding these officially stated, the common case (eg. UBI) there is no impact, but maybe it is best to only expose the bytes that are actually protected, since the thresholds are getting lower and lower (and chances to get bitflips there increase with the optimizations of the technology). Do you mind only exposing User Data 1? Thanks, Miqu=C3=A8l