RV32 SoC DS UG
High-Perf RV32 SoC DS UG
RV64 SoC DS UG API and Examples
Embedded IDE UG
Loading...
Searching...
No Matches

Overview

Function definitions for SPI driver.

Functions

u8 spi_read (spi_instance_t *inst)
 Read 8-bit SPI data.
u8 spi_writeRead (spi_instance_t *inst, u8 data)
 Write and Read 8-bit SPI data.
u32 spi_read32 (spi_instance_t *inst)
 Read 32-bit SPI data.
u32 spi_getRspOccupancy (spi_instance_t *inst)
 Check SPI response FIFO occupancy.
u32 spi_getCmdAvailability (spi_instance_t *inst)
 Check SPI command FIFO availability.
u32 spi_isBusy (spi_instance_t *inst)
 Check SPI if it has any command waiting to be executed in queue.
u32 spi_writeRead32 (spi_instance_t *inst, u32 data)
 Write and Read 32-bit SPI data.
void spi_applyConfig (spi_instance_t *inst)
 Apply stored SPI configuration to hardware.
void spi_waitUntilIdle (spi_instance_t *inst)
 Wait for SPI if any command waiting to be executed.
void spi_write (spi_instance_t *inst, u8 data)
 Write 8-bit SPI data.
void spi_write32 (spi_instance_t *inst, u32 data)
 Write 32-bit SPI data.
void spi_select (spi_instance_t *inst, u32 cs)
 Assert SPI Chip Select.
void spi_deselect (spi_instance_t *inst, u32 cs)
 De-assert SPI Chip Select.
void spi_setDataMode (spi_instance_t *inst, enum cfg_mode mode)
 Set SPI data transfer mode.

Function Documentation

◆ spi_applyConfig()

void spi_applyConfig ( spi_instance_t * inst)

#include <spi.h>

Apply stored SPI configuration to hardware.

Parameters
instPointer to SPI instance.
Note
Call this function after making any changes to the spi_instance_t structure to apply those changes to the hardware.

Apply stored SPI configuration to hardware.

Definition at line 93 of file spi.c.

◆ spi_deselect()

void spi_deselect ( spi_instance_t * inst,
u32 cs )

#include <spi.h>

De-assert SPI Chip Select.

Parameters
instPointer to SPI instance.
csChip select index.

De-assert SPI Chip Select.

Definition at line 132 of file spi.c.

◆ spi_getCmdAvailability()

u32 spi_getCmdAvailability ( spi_instance_t * inst)

#include <spi.h>

Check SPI command FIFO availability.

Parameters
instPointer to SPI instance.
Returns
Number of free slots in Command FIFO.

Check SPI command FIFO availability.

Definition at line 34 of file spi.c.

◆ spi_getRspOccupancy()

u32 spi_getRspOccupancy ( spi_instance_t * inst)

#include <spi.h>

Check SPI response FIFO occupancy.

Parameters
instPointer to SPI instance.
Returns
Number of entries in Response FIFO.

Check SPI response FIFO occupancy.

Definition at line 42 of file spi.c.

◆ spi_isBusy()

u32 spi_isBusy ( spi_instance_t * inst)

#include <spi.h>

Check SPI if it has any command waiting to be executed in queue.

Parameters
instPointer to SPI instance.
Returns
Return 1 if busy, 0 otherwise.

Definition at line 141 of file spi.c.

◆ spi_read()

u8 spi_read ( spi_instance_t * inst)

#include <spi.h>

Read 8-bit SPI data.

Parameters
instPointer to SPI instance.
Returns
8-bit data value.

Read 8-bit SPI data.

Definition at line 71 of file spi.c.

◆ spi_read32()

u32 spi_read32 ( spi_instance_t * inst)

#include <spi.h>

Read 32-bit SPI data.

Parameters
instPointer to SPI instance.
Returns
32-bit data value.

Read 32-bit SPI data.

Definition at line 50 of file spi.c.

◆ spi_select()

void spi_select ( spi_instance_t * inst,
u32 cs )

#include <spi.h>

Assert SPI Chip Select.

Parameters
instPointer to SPI instance.
csChip select index.

Assert SPI Chip Select.

Definition at line 123 of file spi.c.

◆ spi_setDataMode()

void spi_setDataMode ( spi_instance_t * inst,
enum cfg_mode mode )

#include <spi.h>

Set SPI data transfer mode.

Parameters
instPointer to SPI instance.
modeData mode (Full Duplex, Half Duplex, etc.).

Set SPI data transfer mode.

Definition at line 25 of file spi.c.

◆ spi_waitUntilIdle()

void spi_waitUntilIdle ( spi_instance_t * inst)

#include <spi.h>

Wait for SPI if any command waiting to be executed.

Parameters
instPointer to SPI instance.

Wait for SPI if any command waiting to be executed.

Definition at line 150 of file spi.c.

◆ spi_write()

void spi_write ( spi_instance_t * inst,
u8 data )

#include <spi.h>

Write 8-bit SPI data.

Parameters
instPointer to SPI instance.
data8-bit data to be written.

Write 8-bit SPI data.

Definition at line 105 of file spi.c.

◆ spi_write32()

void spi_write32 ( spi_instance_t * inst,
u32 data )

#include <spi.h>

Write 32-bit SPI data.

Parameters
instPointer to SPI instance.
data32-bit data to be written.

Write 32-bit SPI data.

Definition at line 114 of file spi.c.

◆ spi_writeRead()

u8 spi_writeRead ( spi_instance_t * inst,
u8 data )

#include <spi.h>

Write and Read 8-bit SPI data.

Parameters
instPointer to SPI instance.
data8-bit Data to be written.
Returns
8-bit Data received.

Write and Read 8-bit SPI data.

Definition at line 82 of file spi.c.

◆ spi_writeRead32()

u32 spi_writeRead32 ( spi_instance_t * inst,
u32 data )

#include <spi.h>

Write and Read 32-bit SPI data.

Parameters
instPointer to SPI instance.
data32-bit Data to be written.
Returns
32-bit Data received.

Write and Read 32-bit SPI data.

Definition at line 60 of file spi.c.