| Modules | |
| Tests | |
| QSPI tests of the HAL. | |
| Data Structures | |
| struct | qspi_command | 
| QSPI command.  More... | |
| Typedefs | |
| typedef struct qspi_s | qspi_t | 
| QSPI HAL object.  More... | |
| typedef enum qspi_bus_width | qspi_bus_width_t | 
| QSPI Bus width.  More... | |
| typedef enum qspi_address_size | qspi_address_size_t | 
| Address size in bits.  More... | |
| typedef uint8_t | qspi_alt_size_t | 
| Alternative size in bits.  More... | |
| typedef struct qspi_command | qspi_command_t | 
| QSPI command.  More... | |
| typedef enum qspi_status | qspi_status_t | 
| QSPI return status.  More... | |
| Enumerations | 
| Functions | |
| qspi_status_t | qspi_init (qspi_t *obj, PinName io0, PinName io1, PinName io2, PinName io3, PinName sclk, PinName ssel, uint32_t hz, uint8_t mode) | 
| Initialize QSPI peripheral.  More... | |
| qspi_status_t | qspi_free (qspi_t *obj) | 
| Deinitilize QSPI peripheral.  More... | |
| qspi_status_t | qspi_frequency (qspi_t *obj, int hz) | 
| Set the QSPI baud rate.  More... | |
| qspi_status_t | qspi_write (qspi_t *obj, const qspi_command_t *command, const void *data, size_t *length) | 
| Send a command and block of data.  More... | |
| qspi_status_t | qspi_command_transfer (qspi_t *obj, const qspi_command_t *command, const void *tx_data, size_t tx_size, void *rx_data, size_t rx_size) | 
| Send a command (and optionally data) and get the response.  More... | |
| qspi_status_t | qspi_read (qspi_t *obj, const qspi_command_t *command, void *data, size_t *length) | 
| Receive a command and block of data.  More... | |
| const PinMap * | qspi_master_sclk_pinmap (void) | 
| Get the pins that support QSPI SCLK.  More... | |
| const PinMap * | qspi_master_ssel_pinmap (void) | 
| Get the pins that support QSPI SSEL.  More... | |
| const PinMap * | qspi_master_data0_pinmap (void) | 
| Get the pins that support QSPI DATA0.  More... | |
| const PinMap * | qspi_master_data1_pinmap (void) | 
| Get the pins that support QSPI DATA1.  More... | |
| const PinMap * | qspi_master_data2_pinmap (void) | 
| Get the pins that support QSPI DATA2.  More... | |
| const PinMap * | qspi_master_data3_pinmap (void) | 
| Get the pins that support QSPI DATA3.  More... | |
| typedef enum qspi_address_size qspi_address_size_t | 
Address size in bits.
| typedef uint8_t qspi_alt_size_t | 
Alternative size in bits.
Definition at line 63 of file qspi_api.h.
| typedef enum qspi_bus_width qspi_bus_width_t | 
QSPI Bus width.
Some parts of commands provide variable bus width
| typedef struct qspi_command qspi_command_t | 
QSPI command.
Defines a frame format. It consists of instruction, address, alternative, dummy count and data
| typedef enum qspi_status qspi_status_t | 
QSPI return status.
| typedef struct qspi_s qspi_t | 
QSPI HAL object.
Definition at line 40 of file qspi_api.h.
| enum qspi_address_size | 
Address size in bits.
Definition at line 54 of file qspi_api.h.
| enum qspi_bus_width | 
QSPI Bus width.
Some parts of commands provide variable bus width
Definition at line 46 of file qspi_api.h.
| enum qspi_status | 
QSPI return status.
| Enumerator | |
|---|---|
| QSPI_STATUS_ERROR | Generic error > | 
| QSPI_STATUS_INVALID_PARAMETER | The parameter is invalid > | 
| QSPI_STATUS_OK | Function executed sucessfully > | 
Definition at line 102 of file qspi_api.h.
| qspi_status_t qspi_command_transfer | ( | qspi_t * | obj, | 
| const qspi_command_t * | command, | ||
| const void * | tx_data, | ||
| size_t | tx_size, | ||
| void * | rx_data, | ||
| size_t | rx_size | ||
| ) | 
Send a command (and optionally data) and get the response.
Can be used to send/receive device specific commands
| obj | QSPI object | 
| command | QSPI command | 
| tx_data | TX buffer | 
| tx_size | TX buffer length in bytes | 
| rx_data | RX buffer | 
| rx_size | RX buffer length in bytes | 
| qspi_status_t qspi_free | ( | qspi_t * | obj | ) | 
Deinitilize QSPI peripheral.
It should release pins that are associated with the QSPI object, and disable clocks for QSPI peripheral module that was associated with the object
| obj | QSPI object | 
| qspi_status_t qspi_frequency | ( | qspi_t * | obj, | 
| int | hz | ||
| ) | 
Set the QSPI baud rate.
Actual frequency may differ from the desired frequency due to available dividers and the bus clock Configures the QSPI peripheral's baud rate
| obj | The SPI object to configure | 
| hz | The baud rate in Hz | 
| qspi_status_t qspi_init | ( | qspi_t * | obj, | 
| PinName | io0, | ||
| PinName | io1, | ||
| PinName | io2, | ||
| PinName | io3, | ||
| PinName | sclk, | ||
| PinName | ssel, | ||
| uint32_t | hz, | ||
| uint8_t | mode | ||
| ) | 
Initialize QSPI peripheral.
It should initialize QSPI pins (io0-io3, sclk and ssel), set frequency, clock polarity and phase mode. The clock for the peripheral should be enabled
| obj | QSPI object | 
| io0 | Data pin 0 | 
| io1 | Data pin 1 | 
| io2 | Data pin 2 | 
| io3 | Data pin 3 | 
| sclk | The clock pin | 
| ssel | The chip select pin | 
| hz | The bus frequency | 
| mode | Clock polarity and phase mode (0 - 3) | 
| const PinMap* qspi_master_data0_pinmap | ( | void | ) | 
| const PinMap* qspi_master_data1_pinmap | ( | void | ) | 
| const PinMap* qspi_master_data2_pinmap | ( | void | ) | 
| const PinMap* qspi_master_data3_pinmap | ( | void | ) | 
| const PinMap* qspi_master_sclk_pinmap | ( | void | ) | 
| const PinMap* qspi_master_ssel_pinmap | ( | void | ) | 
| qspi_status_t qspi_read | ( | qspi_t * | obj, | 
| const qspi_command_t * | command, | ||
| void * | data, | ||
| size_t * | length | ||
| ) | 
Receive a command and block of data.
| obj | QSPI object | |
| command | QSPI command | |
| data | RX buffer | |
| [in,out] | length | in - RX buffer length in bytes, out - number of bytes read | 
| qspi_status_t qspi_write | ( | qspi_t * | obj, | 
| const qspi_command_t * | command, | ||
| const void * | data, | ||
| size_t * | length | ||
| ) | 
Send a command and block of data.
| obj | QSPI object | |
| command | QSPI command | |
| data | TX buffer | |
| [in,out] | length | in - TX buffer length in bytes, out - number of bytes written |