Linux (Debian Jessie from the Trenz) does not detect the qspi flash.
I checked the device tree and it is certainly there:
root@zynq:~# ls /proc/device-tree/amba/spi\@e000d000/flash\@0
#address-cells partition@0x00000000 partition@0x00fa0000 spi-max-frequency
compatible partition@0x00500000 reg
name partition@0x00520000 #size-cells
The controller is detected
root@zynq:~# dmesg|grep spi
[ 0.832082] zynq-qspi e000d000.spi: registered master spi0
[ 0.832331] spi spi0.0: setup mode 0, 8 bits/w, 50000000 Hz max --> 0
[ 0.832635] zynq-qspi e000d000.spi: registered child spi0.0
however the flash chip is not probed, i.e. there are no related messages in the dmesg output.
Hi,
did you use this:
- https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/TE0726/Reference_Design/Debian_8.4
or this on which is included in (there is also a script included to generate a new one):
- https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/TE0726/Reference_Design/2016.2/te0726_m_demo2
Did you use the prebuilt boot.bin or your own?
br
John
My starting point was 2016.2/te0726_m_demo2. I rebuilt boot.bin and image.ub from sources with minor tweaks.
(For example I added CONFIG_SPI_DEBUG=y to the kernel configuration.)
Today I took a fresh uSD card and installed an unmodified te0726-debian.img following instructions at https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/TE0726/Reference_Design/2016.2/te0726_m_demo2 (https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/TE0726/Reference_Design/2016.2/te0726_m_demo2).
Still I do not see any SPI related messages in the attached console log.
That surprises me, because on the TE0726 u-boot can be loaded from qspi flash memory only and I expected the spansion memory to be detected by linux.
Is what I see expected behaviour or is there a bitstream/driver/devicetree problem in demo2?
I tried booting the 2016.4 test_board kernel (still with the demo2 u-boot) and voila
m25p80 spi0.0: found s25fl128s, expected m25p80
m25p80 spi0.0: s25fl128s (16384 Kbytes)
4 ofpart partitions found on MTD device spi0.0
Creating 4 MTD partitions on "spi0.0":
0x000000000000-0x000000500000 : "boot"
0x000000500000-0x000000520000 : "bootenv"
0x000000520000-0x000000fa0000 : "kernel"
0x000000fa0000-0x000001000000 : "spare"
As the boot log suggests the Petalinux 2016.4 devicetree uses
compatible = "micron,m25p80";
instead of
compatible = "spansion,s25fl128s";
and it seems to work. I have not tried this change with 2016.2 yet.
Hi,
qsi flash is set on 16.2 demo design, see: \te0726_m_demo2\os\petalinux\subsystems\linux\configs\device-tree\system-top.dts
It's missing on 16.4 test board design, i will add this.
br
John