Intel® SoC FPGA Embedded Development Suite
Support for SoC FPGA Software Development, SoC FPGA HPS Architecture, HPS SoC Boot and Configuration, Operating Systems
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
311 Discussions

probe function for qspi is not called

rshal2
New Contributor II
487 Views

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
AnilErinch_A_Intel
363 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