43#define OFFLOAD_DISABLED 0x00
44#define OFFLOAD_TX_EN NO_OS_BIT(0)
45#define OFFLOAD_RX_EN NO_OS_BIT(1)
46#define OFFLOAD_TX_RX_EN OFFLOAD_TX_EN | OFFLOAD_RX_EN
48#define SPI_ENGINE_MSG_QUEUE_END 0xFFFFFFFF
51#define WRITE(no_bytes) ((SPI_ENGINE_INST_TRANSFER << 12) |\
52 (SPI_ENGINE_INSTRUCTION_TRANSFER_W << 8) | no_bytes)
51#define WRITE(no_bytes) ((SPI_ENGINE_INST_TRANSFER << 12) |\ …
54#define READ(no_bytes) ((SPI_ENGINE_INST_TRANSFER << 12) |\
55 (SPI_ENGINE_INSTRUCTION_TRANSFER_R << 8) | no_bytes)
54#define READ(no_bytes) ((SPI_ENGINE_INST_TRANSFER << 12) |\ …
57#define WRITE_READ(no_bytes) ((SPI_ENGINE_INST_TRANSFER << 12) |\
58 (SPI_ENGINE_INSTRUCTION_TRANSFER_RW << 8) | no_bytes)
57#define WRITE_READ(no_bytes) ((SPI_ENGINE_INST_TRANSFER << 12) |\ …
60#define SLEEP(time) SPI_ENGINE_CMD_SLEEP(time & 0xF)
64#define CS_HIGH SPI_ENGINE_CMD_ASSERT(0x03, 0xFF)
65#define CS_LOW SPI_ENGINE_CMD_ASSERT(0x03, 0x00)
183 uint16_t bytes_number);
195 uint32_t no_samples);
Driver for the Analog Devices AXI-DMAC core.
cyclic_transfer
Definition axi_dmac.h:88
int32_t spi_engine_offload_init(struct no_os_spi_desc *desc, const struct spi_engine_offload_init_param *param)
Initialize the SPI engine's offload module.
Definition spi_engine.c:751
const struct no_os_spi_platform_ops xil_spi_ops
Spi engine platform specific SPI platform ops structure.
Definition xilinx_spi.c:445
int32_t spi_engine_offload_transfer(struct no_os_spi_desc *desc, struct spi_engine_offload_message msg, uint32_t no_samples)
Initiate a SPI transfer in offload mode.
Definition spi_engine.c:797
int32_t spi_engine_write(struct spi_engine_desc *desc, uint32_t reg_addr, uint32_t reg_data)
Write SPI Engine's axi registers.
Definition spi_engine.c:78
int32_t spi_engine_set_transfer_width(struct no_os_spi_desc *desc, uint8_t data_wdith)
Set width of the transfered word over SPI.
Definition spi_engine.c:115
int32_t spi_engine_read(struct spi_engine_desc *desc, uint32_t reg_addr, uint32_t *reg_data)
Read SPI Engine's axi registers.
Definition spi_engine.c:96
int32_t spi_engine_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the spi engine.
Definition spi_engine.c:614
int32_t spi_engine_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition spi_engine.c:893
int32_t spi_engine_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write/read on the spi interface.
Definition spi_engine.c:685
void spi_engine_set_speed(struct no_os_spi_desc *desc, uint32_t speed_hz)
Set SPI engine clock frequency.
Definition spi_engine.c:136
Definition axi_dmac.h:101
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128
Structure representing an SPI engine device.
Definition spi_engine.h:91
enum xil_spi_type type
Definition spi_engine.h:95
struct axi_dmac * offload_rx_dma
Definition spi_engine.h:99
uint32_t rx_dma_baseaddr
Definition spi_engine.h:111
enum cyclic_transfer cyclic
Definition spi_engine.h:101
uint8_t data_width
Definition spi_engine.h:119
uint8_t offload_tx_len
Definition spi_engine.h:105
uint8_t offload_config
Definition spi_engine.h:103
uint32_t clk_div
Definition spi_engine.h:117
uint32_t tx_dma_baseaddr
Definition spi_engine.h:113
struct axi_dmac * offload_tx_dma
Definition spi_engine.h:97
uint8_t sdo_idle_state
Definition spi_engine.h:123
uint8_t offload_rx_len
Definition spi_engine.h:107
uint32_t ref_clk_hz
Definition spi_engine.h:93
uint8_t max_data_width
Definition spi_engine.h:121
uint8_t cs_delay
Definition spi_engine.h:115
uint32_t spi_engine_baseaddr
Definition spi_engine.h:109
Structure containing the init parameters needed by the SPI engine.
Definition spi_engine.h:71
uint32_t spi_engine_baseaddr
Definition spi_engine.h:77
uint32_t ref_clk_hz
Definition spi_engine.h:73
uint8_t sdo_idle_state
Definition spi_engine.h:83
uint32_t cs_delay
Definition spi_engine.h:79
uint8_t data_width
Definition spi_engine.h:81
enum xil_spi_type type
Definition spi_engine.h:75
Structure containing the init parameters needed by the offload module.
Definition spi_engine.h:131
uint32_t dma_flags
Definition spi_engine.h:137
uint8_t offload_config
Definition spi_engine.h:139
uint32_t tx_dma_baseaddr
Definition spi_engine.h:135
uint32_t rx_dma_baseaddr
Definition spi_engine.h:133
Structure representing an offload message.
Definition spi_engine.h:146
uint32_t tx_addr
Definition spi_engine.h:157
uint32_t * commands
Definition spi_engine.h:151
uint32_t no_commands
Definition spi_engine.h:153
uint32_t * commands_data
Definition spi_engine.h:155
uint32_t rx_addr
Definition spi_engine.h:159
xil_spi_type
Xilinx platform architecture sections.
Definition xilinx_spi.h:46