Hello,
I have a Picozed 7020 on FMC carrier, and am unable to find any mtd devices in /proc/mtd when booting petalinux or custom linux.
I can, however, see mtd devices when booting from the kernel that is already on the qspi flash.
In my custom project in Vivado 2014.2, QSPI is enabled in the processing system IP and is set to use single 4 bit SS on MIO pins 1-6, and the feedback clock is enabled (on pin 8 I believe). The project was created using the Picozed + FMC board definition files.
Is it possible the QSPI core is not located at 0xe000d000? What am I missing?
Here is the DTS file I'm using for petalinux:
zynq-7000.dtsi:
ttqspi: spi@e000d000 {
tttclock-names = "ref_clk", "pclk";
tttclocks = <&clkc 10>, <&clkc 43>;
tttcompatible = "xlnx,zynq-qspi-1.0";
tttstatus = "disabled";
tttinterrupt-parent = <&intc>;
tttinterrupts = <0 19 4>;
tttreg = <0xe000d000 0x1000>;
ttt#address-cells = <1>;
ttt#size-cells = <0>;
tt};
excerpt from system-top.dts:
&qspi {
#address-cells = <1>;
#size-cells = <0>;
tflash0: flash@0 {
ttcompatible = "micron,n25q128";
ttreg = <0x0>;
t// spi-tx-bus-width = <1>;
t// spi-rx-bus-width = <4>;
ttspi-max-frequency = <50000000>;
tt#address-cells = <1>;
tt#size-cells = <1>;
ttpartition@qspi-fsbl-uboot {
tttlabel = "qspi-fsbl-uboot";
tttreg = <0x0 0x100000>;
tt};
ttpartition@qspi-linux {
tttlabel = "qspi-linux";
tttreg = <0x100000 0x500000>;
tt};
ttpartition@qspi-device-tree {
tttlabel = "qspi-device-tree";
tttreg = <0x600000 0x20000>;
tt};
ttpartition@qspi-rootfs {
tttlabel = "qspi-rootfs";
tttreg = <0x620000 0x5E0000>;
tt};
ttpartition@qspi-bitstream {
tttlabel = "qspi-bitstream";
tttreg = <0xC00000 0x400000>;
tt};
t};
};