Generic Serial Flash Interface Intel® FPGA IP User Guide
ID
683419
Date
4/24/2025
Public
1.1. Release Information
1.2. Device Family Support
1.3. Signals
1.4. Parameters
1.5. Register Map
1.6. Using Generic Serial Flash Interface Intel® FPGA IP
1.7. Generic Serial Flash Interface Intel® FPGA IP Reference Design
1.8. Flash Access Using the Generic Serial Flash Interface Intel® FPGA IP
1.9. Intel HAL Driver
1.10. Generic Serial Flash Interface Intel® FPGA IP User Guide Archives
1.11. Document Revision History for the Generic Serial Flash Interface Intel® FPGA IP User Guide
1.9. Intel HAL Driver
The HAL API is available for this controller in the following software files:
- intel_generic_serial_flash_interface_top.h
- intel_generic_serial_flash_interface_top.c
These files implement the Generic Serial Flash Interface core device driver for the HAL system library.
Intel HAL supports a number of generic device model classes including one for device flashes. Developing against these generic classes gives a consistent interface for driver functions so that the HAL can access the driver functions uniformly.
A HAL API application begins by calling alt_flash_open_dev() to open the flash device, which returns a file handle to a flash device. You can obtain the IP name from system.h. All offset-related variables are based on absolute addressing to the flash memory.
HAL API supports the following QSPI flash device families:
- Micron (MT25QL and MT25QU variants)
- Cypress (S25FL-S and S25FS-S variants)
- Macronix (MX25L and MX66U variants)
- Winbond (W25Q variant)
- GigaDevice (GD55LB variant)
- ISSI (I25LP and I25WP variants)
Note: The Intel HAL Driver is supported in Quartus® Prime Pro Edition software only.
Note: Enable altera_safelib in BSP Software Package from BSP Editor to use the HAL API for Quartus® Prime Pro Edition software version prior to 21.4.
Note: Flash_Timeout is configurable in the Board Support Package Editor with the default value of 700000 microseconds (0.7 seconds).