Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
Introduction

...

  • 2023.1 Versal: OSPI flash probe fails with BSP images on VCK190 in Linux AR Link

Supported Flash parts

  • Micron
  • ISSI
  • Gigadevice
  • Macronix (works only up to 150MHz)

Testing

  • Flashcp
  • mtd utilities.
  • mtd_speedtest
  • mtd_stresstest
  • File System testing - UBIFS and JFFS2

Kernel Configuration

Code Block
CONFIG_SPI_CADENCE_QUADSPI=y

Device-tree

Sample Device-tree node for OSPI 

Code Block
spi@f1010000 {
                        compatible = "xlnx,versal-ospi-1.0", "cadence,qspi", "cdns,qspi-nor";
                        status = "okay";
                        reg = <0x0 0xf1010000 0x0 0x10000 0x0 0xc0000000 0x0 0x20000000>;
                        interrupts = <0x0 0x7c 0x4 0x0 0x7c 0x4>;
                        clock-names = "ref_clk", "pclk";
                        cdns,fifo-depth = <0x100>;
                        cdns,fifo-width = <0x4>;
                        cdns,is-dma = <0x1>;
                        cdns,is-stig-pgm = <0x1>;
                        cdns,trigger-address = <0xc0000000>;
                        #stream-id-cells = <0x1>;
                        #address-cells = <0x1>;
                        #size-cells = <0x0>;
                        clocks = <0x3 0x3a 0x3 0x52>;
                        power-domains = <0x7 0x1822402a>;
                        bus-num = <0x2>;
                        num-cs = <0x1>;
                        reset-gpios = <0x28 0xc 0x0>;
                        phandle = <0x33>;

                        flash@0 {
                                compatible = "mt35xu02g", "micron,m25p80", "spi-flash";
                                reg = <0x0>;
                                #address-cells = <0x1>;
                                #size-cells = <0x1>;
                                cdns,read-delay = <0x0>;
                                cdns,tshsl-ns = <0x0>;
                                cdns,tsd2d-ns = <0x0>;
                                cdns,tchsh-ns = <0x1>;
                                cdns,tslch-ns = <0x1>;
                                spi-tx-bus-width = <0x1>;
                                spi-rx-bus-width = <0x8>;
                                spi-max-frequency = <0x1312d00>;
                                partition@0 {
                                        label = "spi0-flash0";
                                        reg = <0x0 0x10000000>;
                                };
                        };
                };

Performance Details

At frequency 133.33 MHz

DDR mode:

Read Speed: 226768 KiB/s

Write Speed: 1696 KiB/s

Mainline Status

Features added to mainline

  • SDR NON-PHY mode
  • DMA support
  • Flash Device Reset

Not in Mainline

  • DDR mode support
  • Rx tuning
  • Stacked mode support
  • Support for ISSI, Gigadevice and Macronix.

Change Log

2024.2

  • 5c46c46 - Add quirk to skip STIG mode for data xfers

2024.1

  • 1c82238 - Store GPIO info for resetting device during resume
  • 42f7d1c - Add support for MX66UM2G45G Macronix flash part
  • 4cce023 - Fix RX tuning failure for OSPI flashes connected in stacked mode
  • 1c6af10 - Disable 16bit SR operation for gd25lx256e flash
  • 016ecd9 - Fix call trace during suspend/resume
  • 0182633 - Remove dependency on SRAM Fill Register during indirect non-dma read

2023.2

  • None

2023.1

  • ae655c5 - Replace all spi->chip_select and spi->cs_gpiod references with function call
  • 8880c61 - Ads stacked memories support as per the new DT bindings
  • adc1e5f - Fix race condition while scheduling periodic tuning

...

  • 583238d - set cqspi to the driver_data field of struct device
  • ae78bf6 - Fix ospi resume failures

2021.2

  • 7737141 - fix linking failure for ARCH arm
  • 5249597 - Limit RX max tap to 127

2021.1

  • b832b6b - Added support for OSPI Macronix(mx25um51345g) part .
  • 7216a02 - Added support for reading from unaligned address.
  • 5ca8ce8 - Rx periodic tuning updates for Master DLL mode.

...