> Hi Takahiro Kuwano, Hi > > We have tested your patches with upstream u-boot and found issues with both > QSPI and OSPI flashes. Below are > results, 1 for QSPI and 2 for OSPI. > Thanks for your help!
> 1). Issue : observed with QSPI flash's operating in single mode. tested below > flashes > > n25q00a on VCK190 > mt25qu512a on ZCU102 > > Observed Behavior: > Data mismatch is observed in single‑mode QSPI during partial data integrity > tests, such as: > 9‑byte test > 32‑byte test > 32 MB test , etc., > The data written to flash does not match the data read back when compared > byte‑by‑byte. > > Working Behavior > Full flash size data integrity test is working fine in single mode also > Dual‑mode QSPI tests working fine . > The issue is reproducible only in single‑mode QSPI partial data integrity > tests > This series tries to keep single-mode QSPI unchanged. Could you please narrow down which change in series breaks it? > ------------------------------------------------------------------------------- > U-Boot 2026.04-rc2-00046-g967458518770 (Feb 18 2026 - 16:18:41 +0530) > > CPU: Versal > Silicon: v2 > Chip: v2 > CPU: VersalSilicon: v2Chip: v2Model: Xilinx Versal vck190 Eval board revA > (QSPI) > DRAM: 2 GiB (total 8 GiB) > EL Level: EL2 > Multiboot: 0 > Core: 41 devices, 24 uclasses, devicetree: board > MMC: arasan_sdhci mmc@f1050000: Sdhci card detect state not stable > arasan_sdhci mmc@f1050000: Sdhci card detect state not stable > mmc@f1050000 - probe failed: -110 > arasan_sdhci mmc@f1050000: Sdhci card detect state not stable > > Loading Environment from nowhere... OK > In: serial@ff000000 > Out: serial@ff000000 > Loading Environment from nowhere... OKIn: serial@ff000000Out: > serial@ff000000Err: serial@ff000000 > Bootmode: JTAG_MODE > Net: > ZYNQ GEM: ff0c0000, mdio bus ff0c0000, phyaddr 1, interface rgmii-id > > Warning: ethernet@ff0c0000 (eth0) using random MAC address - 72:1e:d7:a9:9b:1a > eth0: ethernet@ff0c0000Get shared mii bus on ethernet@ff0d0000 > > ZYNQ GEM: ff0d0000, mdio bus ff0c0000, phyaddr 2, interface rgmii-id > > Warning: ethernet@ff0d0000 (eth1) using random MAC address - da:67:b7:c3:2f:ca > , eth1: ethernet@ff0d0000 > Warning: ethernet@ff0d0000 (eth1) using random MAC address - > da:67:b7:c3:2f:ca, eth1: > ethernet@ff0d0000arasan_sdhci mmc@f1050000: Sdhci card detect state not stable > Cannot persist EFI variables without system partition > Missing TPMv2 device for EFI_TCG_PROTOCOL > Missing RNG device for EFI_RNG_PROTOCOL > Hit any key to stop autoboot: 0 > Versal> tftpb 0x400000 test_32MB.bin > Filename 'test_32MB.bin'. > Load address: 0x400000 > Loading: ################################################## 32 MiB > 12.5 MiB/s > done > Bytes transferred = 33554432 (2000000 hex) > Versal> sf probe 0 0 0 > SF: Detected n25q00a with page size 256 Bytes, erase size 64 KiB, total 128 > MiB > Versal> sf erase 0x0 0x2000000 > SF: 33554432 bytes @ 0x0 Erased: OK > Versal> sf write 0x400000 0x0 0x2000000 > device 0 offset 0x0, size 0x2000000 > SF: 33554432 bytes @ 0x0 Written: OK > Versal> mw.b 0x4000000 0 0x2000000 > Versal> sf read 0x4000000 0x0 0x2000000 > device 0 offset 0x0, size 0x2000000 > SF: 33554432 bytes @ 0x0 Read: OK > Versal> cmp.b 0x400000 0x4000000 0x2000000 > byte at 0x00400000 (0x14) != byte at 0x04000000 (0xc4) > Total of 0 byte(s) were the same > > > Versal> mw.b 0x8000 de 0x4000000 > Versal> sf erase 0x4000000 0x4000000 > SF: 67108864 bytes @ 0x4000000 Erased: OK > Versal> sf write 0x8000 0x4000000 0x4000000 > device 0 offset 0x4000000, size 0x4000000 > SF: 67108864 bytes @ 0x4000000 Written: OK > Versal> mw.b 0x20000000 0 0x4000000 > Versal> sf read 0x20000000 0x4000000 0x4000000 > device 0 offset 0x4000000, size 0x4000000 > SF: 67108864 bytes @ 0x4000000 Read: OK > Versal> cmp.b 0x8000 0x20000000 0x4000000 > cmp.b 0x8000 0x20000000 0x4000000 > byte at 0x00008000 (0xde) != byte at 0x20000000 (0xce) > Total of 0 byte(s) were the same > ------------------------------------------------------------------------------- > > > 2). Issue: observed OSPI data integrity failures with MT35XU02G flash: > > Versal Gen 2 SoC with single mode > Versal_net SoC with stacked mode > > Observed Behavior > Data mismatch is observed in single and stacked mode OSPI during large data > integrity tests, and full-size data > integrity. > > Working Behavior > Full flash size data integrity test is working fine in single mode on vck190 > board: Versal platform. tested > ospi flashes: gd55lx01g , mt35xu02g So, in single mode, gd55lx01g works, but mt35xu02g doesn't, right? I tried not to change any device specific logics. Same like 1), please narrow down which change in this series breaks it. Best Regards, Takahiro > ------------------------------------------------------------------------------- > U-Boot 2026.04-rc2-00047-g413f7147bb88 (Feb 18 2026 - 17:30:17 +0530) > CPU: Versal Gen 2 > Silicon: v1.0 > Chip: v1.0 > Model: X-PRC-11 revA > DRAM: 2 GiB > optee optee: OP-TEE api uid mismatch > NOT_SUPPORTED: A Firmware Framework implementation does not exist > EL Level: EL2 > Core: 48 devices, 27 uclasses, devicetree: board > MMC: mmc@f1040000: 0 > Loading Environment from nowhere... OK > In: serial@f1920000 > Out: serial@f1920000 > Err: serial@f1920000 > Bootmode: JTAG_MODE > Net: > ZYNQ GEM: f1a70000, mdio bus f1a70000, phyaddr 1, interface rgmii-idWarning: > ethernet@f1a70000 (eth0) using > random MAC address - 02:2b:b8:0d:92:33 > eth0: ethernet@f1a70000 > Hit any key to stop autoboot: 0 > versal2> sf probe 0 0 0 > sf probe 0 0 0 > SF: Detected mt35xu02g with page size 256 Bytes, erase size 128 KiB, total > 256 MiB > versal2> mw.b 0x8000 cd 0x10000000 > versal2> sf erase 0x0 0x10000000 > SF: 268435456 bytes @ 0x0 Erased: OK > versal2> sf write 0x8000 0x0 0x10000000 > device 0 whole chip > SF: 268435456 bytes @ 0x0 Written: OK > versal2> mw.b 0x20010000 0 0x10000000 > versal2> sf read 0x20010000 0x0 0x10000000 > device 0 whole chip > SF: 268435456 bytes @ 0x0 Read: OK > versal2> cmp.b 0x8000 0x20010000 0x10000000 > cmp.b 0x8000 0x20010000 0x10000000 > byte at 0x05758240 (0xcd) != byte at 0x25760240 (0x0) > Total of 91554368 byte(s) were the same > > Versal NET> sf probe 0 0 0 > SF: Detected mt35xu02g with page size 256 Bytes, erase size 128 KiB, total > 512 MiB > Versal NET> mw.b 0x8000 cd 0x20000000 > Versal NET> sf erase 0x0 0x20000000 > SF: 536870912 bytes @ 0x0 Erased: OK > Versal NET> sf write 0x8000 0x0 0x20000000 > device 0 whole chip > SF: 536870912 bytes @ 0x0 Written: OK > Versal NET> mw.b 0x20010000 0 0x20000000 > Versal NET> sf read 0x20010000 0x0 0x20000000 > device 0 whole chip > SF: 536870912 bytes @ 0x0 Read: OK > Versal NET> cmp.b 0x8000 0x20010000 0x20000000 > cmp.b 0x8000 0x20010000 0x20000000 > byte at 0x00008000 (0xcd) != byte at 0x20010000 (0x0) > Total of 0 byte(s) were the same > ------------------------------------------------------------------------------- > > Regards > Padmarao > > > From: U-Boot <[email protected]> On Behalf Of Begari, Padmarao > > Sent: Tuesday, December 16, 2025 7:16 PM > > To: [email protected]; [email protected]; Tudor Ambarus > > <[email protected]> > > Cc: Jagan Teki <[email protected]>; Simek, Michal > > <[email protected]>; Tom Rini <[email protected]>; Erkiaga Elorza, Ibai > > <[email protected]>; Vignesh R <[email protected]>; Kummari, Prasad > > <[email protected]>; Marek Vasut <[email protected]>; > > Mutya, Havish <[email protected]>; Ashok Reddy Soma > > <[email protected]>; Venkatesh Yadav Abbarapu > > <[email protected]>; Daassi Bacem <[email protected]>; > > Shinsuke Okada <[email protected]>; Hiroyuki Saito > > <[email protected]>; Takahiro Kuwano <[email protected]> > > Subject: RE: [PATCH 00/11] mtd: spi-nor: Isolate stacked/parallel support > > from core > > > > > > Hi Takahiro Kuwano, > > > > Apologies for the delay in responding and thank you for sending this patch > > series. > > Since the changes are related to our AMD stacked and parallel > > configurations, we’ll > > look into it. > > > > Thanks & Regards > > Padmarao > > > > > -----Original Message----- > > > From: U-Boot <[email protected]> On Behalf Of Takahiro > > > Kuwano via > > > B4 Relay > > > Sent: Wednesday, November 19, 2025 10:43 AM > > > To: [email protected]; Tudor Ambarus <[email protected]> > > > Cc: Jagan Teki <[email protected]>; Simek, Michal > > > <[email protected]>; Tom Rini <[email protected]>; Erkiaga Elorza, > > > Ibai <[email protected]>; Vignesh R <[email protected]>; > > > Kummari, Prasad <[email protected]>; Marek Vasut > > > <[email protected]>; Mutya, Havish > > > <[email protected]>; Ashok Reddy Soma <[email protected]>; > > > Venkatesh Yadav Abbarapu <[email protected]>; Daassi Bacem > > > <[email protected]>; Shinsuke Okada > > > <[email protected]>; Hiroyuki Saito > > > <[email protected]>; Takahiro Kuwano > > > <[email protected]>; Takahiro Kuwano <[email protected]> > > > Subject: [PATCH 00/11] mtd: spi-nor: Isolate stacked/parallel support > > > from core > > > > > > This series suggests to isolate stacked/parallel support from > > > spi-nor-core by moving that to SPI controllers and new modules under > > > mtd/spi. > > > > > > The patchset mainly focuses on removing references to stacked/parallel > > > related items from core. The stacked/parallel support logic itself may > > > have rooms to improve. Rework or further cleanup in stacked/parallel > > > support would be done by other patches after this series is applied. > > > > > > Signed-off-by: Takahiro Kuwano <[email protected]> > > > --- > > > Takahiro Kuwano (11): > > > spi: zynqmp-gqspi: Set priv->is_parallel in child_pre_probe() > > > spi: zynqmp_gqspi: Remove reference to SPI_XFER_LOWER flag. > > > spi: zynqmp_gqspi: Read two bytes of SR and FSR in parallel mode > > > spi: zynq-qspi: Set priv->is_parallel/stacked in child_pre_probe() > > > spi: zynq_qspi: Remove reference to SPI_XFER_LOWER flag. > > > spi: zynq_qspi: Read two bytes of SR and FSR in parallel mode > > > mtd: spi-nor: Migrate stacked/parallel part to new modules > > > mtd: spi-nor: stacked: Cleanup stacked/parallel flags > > > mtd: spi-nor: parallel: Cleanup stacked/parallel flags > > > mtd: spi-nor: Revert stacked/parallel related commits > > > mtd: spi-nor: Call stacked/parallel post init fixups > > > > > > drivers/mtd/spi/Makefile | 4 + > > > drivers/mtd/spi/parallel.c | 412 > > > ++++++++++++++++++++++++++++++++++++++++ > > > drivers/mtd/spi/sf_internal.h | 18 ++ > > > drivers/mtd/spi/spi-nor-core.c | 422 > > > +++++++---------------------------------- > > > drivers/mtd/spi/stacked.c | 389 > > > +++++++++++++++++++++++++++++++++++++ > > > drivers/spi/zynq_qspi.c | 47 +++-- > > > drivers/spi/zynqmp_gqspi.c | 55 ++++-- > > > include/linux/mtd/spi-nor.h | 10 - > > > include/spi.h | 2 - > > > 9 files changed, 973 insertions(+), 386 deletions(-) > > > --- > > > base-commit: e2d51f8db207f7db70dd8104fa1da2cffda419f2 > > > change-id: 20251118-amd-cleanup-c8023872e3cf > > > > > > Best regards, > > > -- > > > Takahiro Kuwano <[email protected]> > > >

