cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
linus.s
Visitor
Visitor
202 Views
Registered: ‎09-04-2019

Zynq UltraScale+ MPSoC- qspi boot fails in dual parallel mode

Hi,

We have a custom board with the zynq UltraScale+ MPSoC.

Whenever we configure the qspi to dual parallel in the u-boot dts, we get in the spl the messages:

Trying to boot from SPI

no fit

bad magic

SPL: failed to boot from all devices

 

When we switch to is-dual = <0>, the card boots, but the mount of jffs2 file system fails- the next messages appear in the log:

[    3.810220] jffs2: Node at 0x00001cec with length 0x00001044 would run over the end of the erase block
[    3.819531] jffs2: Perhaps the file system was created with the wrong erase size?
[    3.827014] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00001cf0: 0x1044 instead
 
The eraseblock size is set to 0x2000 as it should be.
 
The dts file:
 
&qspi {
status = "okay";
is-dual = <1>;
flash@0 {
compatible = "m25p80", "mt25ql02g"; /* 32MB */
#address-cells = <1>;
#size-cells = <1>;
reg = <0x0>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */
spi-max-frequency = <108000000>; /* Based on DC1 spec */
partition@qspi-spl { 
label = "qspi-spl";
reg = <0x0 0x100000>;
};
partition@qspi-atf {
label = "qspi-atf";
reg = <0x100000 0x20000>;
};
partition@qspi-uboot {
label = "qspi-uboot";
reg = <0x120000 0x100000>;
};
partition@qspi-linux { 
label = "qspi-linux";
reg = <0x220000 0x1800000>;
};
partition@qspi-device-tree {
label = "qspi-device-tree";
reg = <0x1a20000 0x10000>;
};
partition@qspi-fpga {
label = "qspi-fpga ";
reg = <0x1a30000 0x2000000>;
};
partition@qspi-rootfs { 
label = "qspi-rootfs";
reg = <0x3a30000 0x4000000>;
};
};
};
0 Kudos
0 Replies