Re: [RFC] Accessing QSPI device under mtd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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?


[...]



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux