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
...
2021.2
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.
...