- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
![](/skins/images/B7BA37F9CE4B52FF7CAE1FB0388839C8/responsive_peak/images/icon_anonymous_message.png)
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page