ChibiOS/HAL  6.1.0
hal_qspi.h File Reference

QSPI Driver macros and structures. More...

#include "hal_qspi_lld.h"

Go to the source code of this file.

Data Structures

struct  qspi_command_t
 Type of a QSPI command descriptor. More...
 

Macros

Transfer options
#define QSPI_CFG_CMD_MASK   (0xFFLU << 0LU)
 
#define QSPI_CFG_CMD(n)   ((n) << 0LU)
 
#define QSPI_CFG_CMD_MODE_MASK   (3LU << 8LU)
 
#define QSPI_CFG_CMD_MODE_NONE   (0LU << 8LU)
 
#define QSPI_CFG_CMD_MODE_ONE_LINE   (1LU << 8LU)
 
#define QSPI_CFG_CMD_MODE_TWO_LINES   (2LU << 8LU)
 
#define QSPI_CFG_CMD_MODE_FOUR_LINES   (3LU << 8LU)
 
#define QSPI_CFG_ADDR_MODE_MASK   (3LU << 10LU)
 
#define QSPI_CFG_ADDR_MODE_NONE   (0LU << 10LU)
 
#define QSPI_CFG_ADDR_MODE_ONE_LINE   (1LU << 10LU)
 
#define QSPI_CFG_ADDR_MODE_TWO_LINES   (2LU << 10LU)
 
#define QSPI_CFG_ADDR_MODE_FOUR_LINES   (3LU << 10LU)
 
#define QSPI_CFG_ADDR_SIZE_MASK   (3LU << 12LU)
 
#define QSPI_CFG_ADDR_SIZE_8   (0LU << 12LU)
 
#define QSPI_CFG_ADDR_SIZE_16   (1LU << 12LU)
 
#define QSPI_CFG_ADDR_SIZE_24   (2LU << 12LU)
 
#define QSPI_CFG_ADDR_SIZE_32   (3LU << 12LU)
 
#define QSPI_CFG_ALT_MODE_MASK   (3LU << 14LU)
 
#define QSPI_CFG_ALT_MODE_NONE   (0LU << 14LU)
 
#define QSPI_CFG_ALT_MODE_ONE_LINE   (1LU << 14LU)
 
#define QSPI_CFG_ALT_MODE_TWO_LINES   (2LU << 14LU)
 
#define QSPI_CFG_ALT_MODE_FOUR_LINES   (3LU << 14LU)
 
#define QSPI_CFG_ALT_SIZE_MASK   (3LU << 16LU)
 
#define QSPI_CFG_ALT_SIZE_8   (0LU << 16LU)
 
#define QSPI_CFG_ALT_SIZE_16   (1LU << 16LU)
 
#define QSPI_CFG_ALT_SIZE_24   (2LU << 16LU)
 
#define QSPI_CFG_ALT_SIZE_32   (3LU << 16LU)
 
#define QSPI_CFG_DUMMY_CYCLES_MASK   (0x1FLU << 18LU)
 
#define QSPI_CFG_DUMMY_CYCLES(n)   ((n) << 18LU)
 
#define QSPI_CFG_DATA_MODE_MASK   (3LU << 24LU)
 
#define QSPI_CFG_DATA_MODE_NONE   (0LU << 24LU)
 
#define QSPI_CFG_DATA_MODE_ONE_LINE   (1LU << 24LU)
 
#define QSPI_CFG_DATA_MODE_TWO_LINES   (2LU << 24LU)
 
#define QSPI_CFG_DATA_MODE_FOUR_LINES   (3LU << 24LU)
 
#define QSPI_CFG_SIOO   (1LU << 28LU)
 
#define QSPI_CFG_DDRM   (1LU << 31LU)
 
QSPI configuration options
#define QSPI_USE_WAIT   TRUE
 Enables synchronous APIs. More...
 
#define QSPI_USE_MUTUAL_EXCLUSION   TRUE
 Enables the qspiAcquireBus() and qspiReleaseBus() APIs. More...
 
Macro Functions
#define qspiStartCommandI(qspip, cmdp)
 Sends a command without data phase. More...
 
#define qspiStartSendI(qspip, cmdp, n, txbuf)
 Sends data over the QSPI bus. More...
 
#define qspiStartReceiveI(qspip, cmdp, n, rxbuf)
 Receives data from the QSPI bus. More...
 
#define qspiMapFlashI(qspip, cmdp, addrp)   qspi_lld_map_flash(qspip, cmdp, addrp)
 Maps in memory space a QSPI flash device. More...
 
#define qspiUnmapFlashI(qspip)   qspi_lld_unmap_flash(qspip)
 Maps in memory space a QSPI flash device. More...
 
Low level driver helper macros
#define _qspi_wakeup_isr(qspip)
 Wakes up the waiting thread. More...
 
#define _qspi_isr_code(qspip)
 Common ISR code. More...
 

Enumerations

Functions

void qspiInit (void)
 QSPI Driver initialization. More...
 
void qspiObjectInit (QSPIDriver *qspip)
 Initializes the standard part of a QSPIDriver structure. More...
 
void qspiStart (QSPIDriver *qspip, const QSPIConfig *config)
 Configures and activates the QSPI peripheral. More...
 
void qspiStop (QSPIDriver *qspip)
 Deactivates the QSPI peripheral. More...
 
void qspiStartCommand (QSPIDriver *qspip, const qspi_command_t *cmdp)
 Sends a command without data phase. More...
 
void qspiStartSend (QSPIDriver *qspip, const qspi_command_t *cmdp, size_t n, const uint8_t *txbuf)
 Sends a command with data over the QSPI bus. More...
 
void qspiStartReceive (QSPIDriver *qspip, const qspi_command_t *cmdp, size_t n, uint8_t *rxbuf)
 Sends a command then receives data over the QSPI bus. More...
 
void qspiCommand (QSPIDriver *qspip, const qspi_command_t *cmdp)
 Sends a command without data phase. More...
 
void qspiSend (QSPIDriver *qspip, const qspi_command_t *cmdp, size_t n, const uint8_t *txbuf)
 Sends a command with data over the QSPI bus. More...
 
void qspiReceive (QSPIDriver *qspip, const qspi_command_t *cmdp, size_t n, uint8_t *rxbuf)
 Sends a command then receives data over the QSPI bus. More...
 
void qspiMapFlash (QSPIDriver *qspip, const qspi_command_t *cmdp, uint8_t **addrp)
 Maps in memory space a QSPI flash device. More...
 
void qspiUnmapFlash (QSPIDriver *qspip)
 Unmaps from memory space a QSPI flash device. More...
 
void qspiAcquireBus (QSPIDriver *qspip)
 Gains exclusive access to the QSPI bus. More...
 
void qspiReleaseBus (QSPIDriver *qspip)
 Releases exclusive access to the QSPI bus. More...
 

Detailed Description

QSPI Driver macros and structures.

Definition in file hal_qspi.h.