cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
213 Views
Registered: ‎01-30-2018

QSPI (single device mode) under Petalinux 2018.3 not detecting

Jump to solution

I am trying to get a parallel dual QSPI configuration to be detected by Petalinux.  It is failing during the boot process.  If I stop at U-Boot, I can do a "sf probe 0" and get the following response:

 

"SF: Detected s25fl512s_256k with page size 512 Bytes, erase size 256 KiB, total 64 MiB"

 

I have successfully programmed and booted from the QSPI using the SDK with FSBL to program the flash.

However, when Petalinux boots, the MTD and spi probe fail with the following from the boot log:

[    2.159176] mtdoops: mtd device (mtddev=name/number) must be supplied

[    2.164231]m25p80 spi0.0: unrecognized JEDEC id bytes: 00, 81, 101.png

 

 

 

 

1.png

The JEDEC id is error, Any help on where to focus my efforts to resolve this would be appreciated.  Suggestions?

 

The following is the qspi configuration project in my vivado:

1.png

The following device tree information is directly parsed by petalinux tool.

pcw.dtsi:

&qspi {

        is-dual = <0>;

        num-cs = <1>;

        spi-rx-bus-width = <4>;

        spi-tx-bus-width = <4>;

        status = "okay";

};

 

system-conf.dtsi:

&qspi {

        #address-cells = <1>;

        #size-cells = <0>;

        flash0: flash@0 {

                compatible = "n25q512a","micron,m25p80";

                reg = <0x0>;

                #address-cells = <1>;

                #size-cells = <1>;

                spi-max-frequency = <108000000>;

                partition@0x00000000 {

                        label = "boot";

                        reg = <0x00000000 0x01500000>;

                };

                partition@0x01500000 {

                        label = "bootenv";

                        reg = <0x01500000 0x00040000>;

                };

                partition@0x01540000 {

                        label = "kernel";

                        reg = <0x01540000 0x02800000>;

                };

                partition@0x03d40000 {

                        label = "user";

                        reg = <0x03d40000 0x00100000>;

                };

        };

};

 

I tried to change the device tree information like this, but it still doesn't work.

system-user.dtsi

&qspi {

        #address-cells = <1>;

        #size-cells = <0>;

        flash0: flash@0 {

                compatible = "s25fl512s","micron,m25p80";

                reg = <0x0>;

                spi-tx-bus-width=<1>;

                spi-rx-bus-width=<4>;

                #address-cells = <1>;

                #size-cells = <1>;

                spi-max-frequency = <108000000>;

                partition@0x00000000 {

                        label = "boot";

                        reg = <0x00000000 0x01500000>;

                };

                partition@0x01500000 {

                        label = "bootenv";

                        reg = <0x01500000 0x00040000>;

                };

                partition@0x01540000 {

                        label = "kernel";

                        reg = <0x01540000 0x02800000>;

                };

                partition@0x03d40000 {

                        label = "user";

                        reg = <0x03d40000 0x00100000>;

                };

        };

};

xilinux tool version:

vivado2018.3

petalinux2018.3

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Observer
Observer
137 Views
Registered: ‎01-30-2018

回复: QSPI (single device mode) under Petalinux 2018.3 not detecting

Jump to solution
0 Kudos
1 Reply
Highlighted
Observer
Observer
138 Views
Registered: ‎01-30-2018

回复: QSPI (single device mode) under Petalinux 2018.3 not detecting

Jump to solution
0 Kudos