On 10/31/20 12:53 AM, Dinh Nguyen wrote: > Hi Vignesh, > > I'm using the standard arm64 defconfig. Attached are 2 bootlogs, v5.8 > and v5.9. On the v5.8, I can see the QSPI devices under /dev/mtdX, and > has this in the bootlog: > > [ 1.073562] cadence-qspi ff8d2000.spi: mt25qu02g (262144 Kbytes) > [ 1.079865] 2 fixed-partitions partitions found on MTD device > ff8d2000.spi.0 > [ 1.086917] Creating 2 MTD partitions on "ff8d2000.spi.0": > [ 1.092401] 0x000000000000-0x000003fe0000 : "Boot and fpga data" > [ 1.103073] 0x000003fe0000-0x000010000000 : "Root Filesystem - JFFS2" > > In v5.9, I don't see the above output in the bootlog, and there are no > /dev/mtdX. I did a bisect and it resulted in commit "a314f6367787ee mtd: > spi-nor: Convert cadence-quadspi to use spi-mem framework". If I revert > this patch, then QSPI device is under /dev/mtdX. > > There were no changes in the Stratix10 DTS files between v5.8 and v5.9 > that should have any affect on QSPI. > I think I found the problem. Looking at arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts: &qspi { ... flash@0 { compatible = "n25q00a"; ... }; }; Flash node is using non standard compatible "n25q00a". Per Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt, SPI NOR flash node must include "jedec,spi-nor" as compatible. Old driver under drivers/mtd/spi-nor/ worked because, it directly called spi_nor_scan() w/o looking at compatible string. Could you try adding "jedec,spi-nor" to flash node's compatible list and see if everything works? [...]