arch_xt_spi.cpp File Reference

yasimavr: arch_xt_spi.cpp File Reference
yasimavr
Loading...
Searching...
No Matches
arch_xt_spi.cpp File Reference
#include "arch_xt_spi.h"
#include "arch_xt_io.h"
#include "arch_xt_io_utils.h"
#include "ioctrl_common/sim_spi.h"
#include "core/sim_device.h"

Classes

class  ArchXT_SPI::_PinDriver
 
class  ArchXT_SPI::_Controller
 
class  ArchXT_SPI::_InterruptHandler
 

Macros

#define REG_ADDR(reg)    reg_addr_t(m_config.reg_base + offsetof(SPI_t, reg))
 
#define REG_OFS(reg)    offsetof(SPI_t, reg)
 
#define NORM_ENABLE_MASK   bitmask_t(SPI_IE_bm)
 
#define BUF_ENABLE_MASK   bitmask_t(SPI_RXCIE_bm | SPI_TXCIE_bm | SPI_DREIE_bm | SPI_SSIE_bm)
 
#define NORM_FLAG_MASK   bitmask_t(SPI_IF_bm | SPI_WRCOL_bm)
 
#define BUF_FLAG_MASK   bitmask_t(SPI_RXCIF_bm | SPI_TXCIF_bm | SPI_DREIF_bm | SPI_SSIF_bm | SPI_BUFOVF_bm)
 
#define NORM_INTR_MASK   bitmask_t(SPI_IF_bm)
 
#define BUF_INTR_MASK   bitmask_t(SPI_RXCIF_bm | SPI_TXCIF_bm | SPI_DREIF_bm | SPI_SSIF_bm)
 

Enumerations

enum  ControllerMode { Mode_Disabled , Mode_Host , Mode_Client }
 

Macro Definition Documentation

◆ BUF_ENABLE_MASK

#define BUF_ENABLE_MASK   bitmask_t(SPI_RXCIE_bm | SPI_TXCIE_bm | SPI_DREIE_bm | SPI_SSIE_bm)

◆ BUF_FLAG_MASK

#define BUF_FLAG_MASK   bitmask_t(SPI_RXCIF_bm | SPI_TXCIF_bm | SPI_DREIF_bm | SPI_SSIF_bm | SPI_BUFOVF_bm)

◆ BUF_INTR_MASK

#define BUF_INTR_MASK   bitmask_t(SPI_RXCIF_bm | SPI_TXCIF_bm | SPI_DREIF_bm | SPI_SSIF_bm)

◆ NORM_ENABLE_MASK

#define NORM_ENABLE_MASK   bitmask_t(SPI_IE_bm)

◆ NORM_FLAG_MASK

#define NORM_FLAG_MASK   bitmask_t(SPI_IF_bm | SPI_WRCOL_bm)

◆ NORM_INTR_MASK

#define NORM_INTR_MASK   bitmask_t(SPI_IF_bm)

◆ REG_ADDR

#define REG_ADDR (   reg)     reg_addr_t(m_config.reg_base + offsetof(SPI_t, reg))

◆ REG_OFS

#define REG_OFS (   reg)     offsetof(SPI_t, reg)

Enumeration Type Documentation

◆ ControllerMode

Enumerator
Mode_Disabled 
Mode_Host 
Mode_Client