Hi Bastien,
On 7/13/2026 3:18 PM, Bastien Curutchet wrote:
> Hi Love,
>
> On 7/11/26 8:36 AM, Kumar, Love wrote:
>> Hi Michal,
>>
>> On 7/9/2026 11:23 AM, Michal Simek wrote:
>>> Hi Love,
>>>
>>> On 7/2/26 15:08, Bastien Curutchet wrote:
>>>> This driver is deeply broken in many ways. Miquèl has cleaned it up by:
>>>> - flagging the most hideous parts (where Micron on-die ECC support is
>>>> hardcoded)
>>>> - enabling DT support, eg. for reading the ECC configuration
>>>> - fixing software ECC support
>>>> - aligning the software ECC OOB layout to the rest of the world and
>>>> allow a working interoperability in Linux.
>>>>
>>>> I then added a patch to fix writes when soft ECC is on.
>>>>
>>>> Signed-off-by: Miquel Raynal (DAVE.eu) <[email protected]>
>>>> Signed-off-by: Bastien Curutchet (DAVE.eu) <[email protected]>
>>>> ---
>>>> Changes in v3:
>>>> - Add patch 6 to fix write issues in soft ECC.
>>>> - Link to v2:
>>>> https://lore.kernel.org/r/[email protected]
>>>>
>>>> Changes in v2:
>>>> - Fix the sponsor: s/DAVE/DAVE.eu/, no other change.
>>>> - Link to v1:
>>>> https://lore.kernel.org/r/[email protected]
>>>>
>>>> ---
>>>> Bastien Curutchet (DAVE.eu) (1):
>>>> mtd: rawnand: nand_base: Don't overwrite read/write_page_raw() for
>>>> soft ECC
>>>>
>>>> Miquel Raynal (DAVE.eu) (5):
>>>> mtd: rawnand: zynq: Align the layout structures with the driver
>>>> namespace
>>>> mtd: rawnand: zynq: Add comments about very bad practices
>>>> mtd: rawnand: zynq: Make sure an of node is attached
>>>> mtd: rawnand: zynq: Do not fail the probe for no reason
>>>> mtd: rawnand: zynq: Fix Software ECC engine support
>>>>
>>>> drivers/mtd/nand/raw/nand_base.c | 6 +-
>>>> drivers/mtd/nand/raw/zynq_nand.c | 115
>>>> ++++++++++-----------------------------
>>>> 2 files changed, 32 insertions(+), 89 deletions(-)
>>>> ---
>>>> base-commit: 4433253ecf2041f9362a763bb6cb79960921ac7e
>>>> change-id: 20260522-dave-upstream-nand-fixes-60a5336517a2
>>>>
>>>> Best regards,
>>>
>>> Please test this series.
>>
>> We are again seeing the NAND write issue with zynq-zc770-xm011 board.
>>
>> Below is the log snippet:
>>
>> Zynq> nand write 0x80000 0x0 0x126f80
>> nand write 0x80000 0x0 0x126f80
>> NAND write: device 0 offset 0x0, size 0x126f80
>> NAND write to offset 0 failed -5
>>
> The exact same command works in my setup:
>
> ```
> Zynq> nand write 0x80000 0x0 0x126f80
>
> NAND write: device 0 offset 0x0, size 0x126f80
> 1208192 bytes written: OK
> ```
>
> Can you please share your device-tree / defconfig ? I'd like to dig into this
> a bit.
>
> I'd also be interested in seeing the output of 'mtd list' and 'nand info' on
> your side.
I have used the xilinx_zynq_virt_defconfig with zynq-zc770-xm011 DT.
Below are the log snippets for 'nand info' and 'mtd list' commands:
Zynq> nand info
Device 0: nand0, sector size 128 KiB
Page size 2048 b
OOB size 64 b
Erase size 131072 b
ecc strength 0 bits
ecc step size 2048 b
subpagesize 2048 b
options 0x40000000
bbt options 0x00028000
Zynq> mtd list
List of MTD devices:
* nand0
- type: NAND flash
- block size: 0x20000 bytes
- min I/O: 0x800 bytes
- OOB size: 64 bytes
- OOB available: 38 bytes
- 0x000000000000-0x000008000000 : "nand0"
- 0x000000000000-0x000001000000 : "nand-fsbl-uboot"
- 0x000001000000-0x000003000000 : "nand-linux"
- 0x000003000000-0x000003200000 : "nand-rootfs"
Zynq>
Please let me know if you need any additional info.
Regards,
Love Kumar
>
>
> Best regards,
> Bastien
>