XCORE SDK
XCORE Software Development Kit
|
API for QSPI I/O. More...
#include <stdlib.h>
#include <stdint.h>
#include <xclib.h>
#include <xcore/port.h>
#include <xcore/clock.h>
Go to the source code of this file.
Classes | |
struct | qspi_io_ctx_t |
Macros | |
#define | QSPI_IO_BYTE_TO_MOSI(x) |
#define | QSPI_IO_SETC_PAD_DELAY(n) (0x7007 | ((n) << 3)) |
#define | QSPI_IO_RESOURCE_SETCI(res, c) asm volatile( "setc res[%0], %1" :: "r" (res), "n" (c)) |
#define | QSPI_IO_RESOURCE_SETC(res, r) asm volatile( "setc res[%0], %1" :: "r" (res), "r" (r)) |
#define | QSPI_IO_SETSR(c) asm volatile("setsr %0" : : "n"(c)); |
#define | QSPI_IO_CLRSR(c) asm volatile("clrsr %0" : : "n"(c)); |
Enumerations | |
enum | qspi_io_sample_edge_t { qspi_io_sample_edge_rising = 0 , qspi_io_sample_edge_falling } |
enum | qspi_io_source_clock_t { qspi_io_source_clock_ref = 0 , qspi_io_source_clock_xcore } |
enum | qspi_io_transfer_mode_t { qspi_io_transfer_normal = 0 , qspi_io_transfer_nibble_swap } |
enum | qspi_io_transaction_type_t { qspi_io_full_speed = 0 , qspi_io_spi_read } |
Functions | |
uint32_t | qspi_io_byte_to_mosi (uint32_t x) |
uint32_t | qspi_io_miso_to_byte (uint32_t x) |
uint32_t | qspi_io_nibble_swap (uint32_t word) |
void | qspi_io_start_transaction (qspi_io_ctx_t *ctx, uint32_t first_word, size_t len, qspi_io_transaction_type_t transaction_type) |
void | qspi_io_bytes_out (const qspi_io_ctx_t *ctx, const qspi_io_transfer_mode_t transfer_mode, const uint8_t *data, size_t len) |
void | qspi_io_words_out (const qspi_io_ctx_t *ctx, const qspi_io_transfer_mode_t transfer_mode, const uint32_t *data, size_t len) |
void | qspi_io_mosi_out (const qspi_io_ctx_t *ctx, const qspi_io_transfer_mode_t transfer_mode, const uint8_t *data, size_t len) |
void | qspi_io_sio_direction_input (qspi_io_ctx_t *ctx) |
void | qspi_io_bytes_in (const qspi_io_ctx_t *ctx, const qspi_io_transfer_mode_t transfer_mode, uint8_t *data, uint32_t start_time, size_t len) |
void | qspi_io_words_in (const qspi_io_ctx_t *ctx, const qspi_io_transfer_mode_t transfer_mode, uint32_t *data, uint32_t start_time, size_t len) |
void | qspi_io_miso_in (const qspi_io_ctx_t *ctx, const qspi_io_transfer_mode_t transfer_mode, uint8_t *data, uint32_t start_time, size_t len) |
void | qspi_io_miso_poll (const qspi_io_ctx_t *ctx, const uint8_t mask, const uint8_t val, uint32_t start_time) |
void | qspi_io_end_transaction (const qspi_io_ctx_t *ctx) |
void | qspi_io_deinit (const qspi_io_ctx_t *ctx) |
void | qspi_io_init (const qspi_io_ctx_t *ctx, qspi_io_source_clock_t source_clock) |
API for QSPI I/O.