Community
cancel
Showing results for 
Search instead for 
Did you mean: 
rshal2
New Contributor II
300 Views

probe function for qspi is not called

Hello,

 

I am using latest linux-socfpga with arria5.

https://github.com/altera-opensource/linux-socfpga

 

The kernel does not detect any mtd device (qspi) on board.

The problem is that I don't see that probe function for qspi is ever called...

Only if I change in dts file as following:

&qspi {

status = "okay";

 

flash: flash@0 {

#address-cells = <1>;

#size-cells = <1>;

-compatible = "n25q256a";

+compatible = "cdns,qspi-nor";

 

than I finally get that cqspi_probe() and spi_npor_scan() are called:

[  2.588663] cadence-qspi ff705000.spi: unrecognized JEDEC id bytes: ff ff ff ff ff ff

[  2.604067] cadence-qspi ff705000.spi: Cadence QSPI NOR probe failed -2

[  2.610805] cadence-qspi: probe of ff705000.spi failed with error -2

 

Should I change dts as I did ? Why does it fail to call probe with the original flash device name in dts ?

 

Thanks!

Ran

0 Kudos
1 Reply
176 Views

Hi ,

The usage of the compatible property in dts is "<manufacturer>,<model>"

what you have given earlier is the part number of the flash chip.

HPS is composed of multiple peripherals IPs like that of QSPI Flash, The usage compatible = "cdns,qspi-nor" is the correct way.Because that specifies the IP of flash controller which in turn will work with the Flash chip to control it.

For clarification regarding the usage of properties in dts you can refer here

https://elinux.org/Device_Tree_Usage#Understanding_the_compatible_Property

 

 

Reply