Commit Graph

20 Commits

Author SHA1 Message Date
Kinsey Moore
955d36ea47 bsps/qspi: Make flashdev control structure private
These structures are not required to be exposed to users for any
functionality and users of the API have no way to make use of them.
2025-10-16 11:26:52 -05:00
Kinsey Moore
7ebcccf199 bsps/dev/spi/xqspipsu_flash_config.h: Make flash config table static
This is now used by multiple files and can cause a multiple definitions
error when linking. Make the structure static to avoid this problem.
2025-10-08 15:39:05 -05:00
Kinsey Moore
75e7f5cb80 cpukit/flashdev: Add unregister call and private data destructor
This adds an API call allowing for unregistration to include destruction
of private data that is not managed by the flashdev framework. This also
updates the existing consumers of flashdev to use the new private data
destructor callback.
2025-09-22 10:04:58 -05:00
Kinsey Moore
e36bbd8e25 bsps/dev/spi/xqspipsu-flash-helper: Explain source
This adds a missing header block and better explains the provenance of
the xqspipsu-flash-helper files and their copyright status.
2025-07-24 17:31:48 -05:00
Kinsey Moore
fc9093723b bsps/include/dev/spi: Add missing extern and guard
This adds missing extern "C" declarations and a missing header guard.
2025-07-24 17:31:48 -05:00
Kinsey Moore
1bba349478 bsps: Remove imported Xilinx headers
This removes the headers imported from the embeddedsw repository in
favor of a much thinner shim. This also removes the complicated build
system configuration necessary to support use of these headers. The
primary reason for removal is that certain external Xilinx libraries
also require use of these headers and this causes version mismatches and
header conflicts that can be avoided.
2024-10-28 19:23:49 +00:00
Aaron Nyholm
e950c4d76a bsps: Add flash wrapper for Xilinx GQSPI
Closes #4870
2024-06-10 17:58:00 +00:00
Christian Mauderer
0e7567bc2a bsps: Add a GPIO based SPI driver
The driver uses simple pin set or get functions to emulate an SPI. It
doesn't care much for speed settings and just tries it's best.
2024-06-07 06:46:00 +00:00
Kinsey Moore
3f3c646dea bsps/xqspipsu: Add SFDP config space read ability
This adds a function to allow reading of the SFDP configuration space
that describes attributes of NOR flash chips.
2023-09-23 09:42:30 -05:00
Kinsey Moore
853429c3f8 bsps/xqspipsu: Break out RDID
Expose a function to read the NOR flash chip ID information beyond the
minimum 3 bytes for the lookup table.
2023-09-23 09:42:30 -05:00
Kinsey Moore
333fd02631 bsps/xqspipsu: Handle SMP systems properly
The NOR driver was not written with SMP systems and caching in mind.
This makes the IsBusy flag volatile for updates across cores and
introduces cache flushing and invalidation where necessary for data
manipulated by the DMA engine in the QSPI peripheral.
2023-06-22 10:46:33 -05:00
Kinsey Moore
09fd5dd353 bsps/xqspipsu: Use device information from the FCT
Instead of statically defining the device parameters, use the device
information available via the NOR device layer's Flash Configuration
Table.
2023-06-08 09:48:44 -05:00
Kinsey Moore
4ca4311036 bsps/xqspipsu: Correct s25fl512s flash definition
The definition for the s25fl512s flash chip is incorrect. This updates
the sector size and page size values to match the datasheet.
2023-06-08 09:48:44 -05:00
Kinsey Moore
a67aab6cd4 bsps/xqspipsu: Ensure NOR writes align
This change causes NOR writes to be broken according to page boundaries.
Writes across page boundaries cause the writes beyond the boundary to
fail silently. This also introduces a new function that will explicitly
write pages.
2023-06-08 09:48:44 -05:00
Kinsey Moore
7163014e3f bsps/xqspipsu: Add support for reading ECC
This adds a helper function to read the ECC status for an ECC unit in
SPI-attached NOR memory.
2023-03-22 13:30:08 -05:00
Alex White
d55c131965 bsps: Add Xilinx GQSPI flash helper
This adds helper functions for working with NOR flash connected to the
Xilinx GQSPI controller. The helper functions are based on Xilinx's
QSPIPSU flash interrupt example.
2023-01-27 14:49:28 -06:00
Alex White
fd2f9d40b5 bsps: Import Xilinx GQSPI driver
This adds Xilinx's driver for the Xilinx GQSPI controller embedded in
the ZynqMP SoC. Within that device alone, it is possible to access this
peripheral from MicroBlaze, ARMv7, and ARMv8 cores. The imported files
are and should be able to remain unmodified. Import information is kept
in bsps/shared/dev/spi/VERSION.
2023-01-27 14:49:27 -06:00
Kinsey Moore
c18b041b77 bsps/cadence-spi: Fix moduleid offset
Move the moduleid register to the correct offset according to Cadence IP
documentation.
2021-06-29 15:34:16 -05:00
Jan Sommer
70667b5527 bsps/xilinx_zynq: Add SPI driver for xilinx-axi-spi
Updates #4321
2021-03-30 17:01:36 +02:00
Jan Sommer
cc825d0322 bsps/xilinx_zynq: Add SPI driver for cadence-spi
Updates #4320
2021-03-10 20:12:08 +01:00