On Mon, Jul 29, 2019 at 1:43 PM Lukasz Majewski <lukma@xxxxxxx> wrote: > > Hi Fabio, > > > Hi Lukasz, > > > > On Wed, Jul 24, 2019 at 7:11 PM Lukasz Majewski <lukma@xxxxxxx> wrote: > > > > > > Dear All, > > > > > > I'd like to report that after moving the fsl-quadspi.c driver > > > from ./drivers/mtd to ./drivers/spi (around 5.1-rc1) [1] the > > > Vybrid's QUADSPI (even with single SPI-NOR memory connected) is not > > > working anymore (the chip ID read is FF FF FF). > > > > > > This wouldn't be a problem per-se, but not all necessary code was > > > moved > > > - especially for vybrid which has issues with some HW bugs [2]: > > > > > > --------------->8---------------- > > > * The IC guy suggests we use the "AHB Command Read" which is faster > > > * then the "IP Command Read". (What's more is that there is a bug > > > in > > > * the "IP Command Read" in the Vybrid.) > > > ---------------8<---------------- > > > > > > I've explicitly asked NXP support for this HW issue [3] - but till > > > now there was no reply. > > > > > > The official linux-imx (from meta-freescale) seems not to support > > > vybrid (vf610) anymore - and the newest available now kernel is > > > 4.19 (with the old fsl-quadspi.c driver available). > > > > > > > > > > > > Hence the question - has anybody noticed this issue and (maybe) is > > > working on it? > > > > I don't have access to a Vybrid board, but I kindly got the > > confirmation from Andrey on Cc that QSPI is working fine on his Vybrid > > based board running linux-next. > > > > Thank you for your reply, Fabio. > > Andrey , could you share your setup info? How your memories are > connected? > I did all my testing on ZII VF610 devboard rev C. The board has two SPI-NOR chips connected to 4-bit QSPI_A and 4-bit QSPI_B. See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/vf610-zii-dev.dtsi?h=v5.3-rc2#n180 > Would it be possible to share your dts files for linux-next? > I don't have a special DTS file I am using. The one currently available upstream is what I am using: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts > I did a bit more debugging and the old driver (before conversion) on my > setup breaks when I try to erase/write/read 256+ bytes (with dd's block > size -> bs = 1). > > Could you check if erase, write and read of > > dd if=/dev/urandom of=/dev/mtd7 bs=1 count=256 > > works as expected? > # flash_erase /dev/mtd0 0 1024 Erasing 64 Kibyte @ 3ff0000 -- 100 % complete # dd if=/dev/urandom of=blob.bin bs=1 count=1024 1024+0 records in 1024+0 records out 1024 bytes (1.0 kB, 1.0 KiB) copied, 0.0360427 s, 28.4 kB/s # md5sum blob.bin 5064a3852988ce75c60e9bc867f62230 blob.bin # dd if=blob.bin of=/dev/mtd0 bs=1 count=1024 1024+0 records in 1024+0 records out 1024 bytes (1.0 kB, 1.0 KiB) copied, 0.269917 s, 3.8 kB/s # dd if=/dev/mtd0 bs=1 count=1024 | md5sum 5064a3852988ce75c60e9bc867f62230 - 1024+0 records in 1024+0 records out 1024 bytes (1.0 kB, 1.0 KiB) copied, 0.182514 s, 5.6 kB/s AFAICT works as expected. Thanks, Andrey Smirnov ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/