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 |