Data Fields
SPIWFF3DMA_HWAttrs Struct Reference

SPIWFF3DMA Hardware attributes. More...

#include <SPIWFF3DMA.h>

Data Fields

uint32_t baseAddr
 SPI Peripheral's base address. More...
 
uint32_t swiPriority
 SPI SWI priority. The higher the number, the higher the priority. The minimum is 0 and the maximum is 15 by default. The maximum can be reduced to save RAM by adding or modifying Swi.numPriorities in the kernel configuration file. More...
 
uint32_t rxDmaChannel
 
uint32_t txDmaChannel
 
int32_t pociPinMux
 
int32_t picoPinMux
 
int32_t sclkPinMux
 
int32_t csnPinMux
 
uint32_t csnSel
 
uint32_t minDmaTransferSize
 
uint16_t defaultTxBufValue
 
uint8_t txChannelEvtMux
 
uint8_t rxChannelEvtMux
 
uint8_t intNum
 
uint8_t intPriority
 SPIWFF3DMA Peripheral's interrupt priority. More...
 
PowerWFF3_Resource powerID
 
uint_least8_t picoPin
 
uint_least8_t pociPin
 
uint_least8_t sclkPin
 
uint_least8_t csnPin
 

Detailed Description

SPIWFF3DMA Hardware attributes.

These fields, with the exception of intPriority, are used by driverlib APIs and therefore must be populated by driverlib macro definitions. For driverlib these definitions are found in:

intPriority is the SPI peripheral's interrupt priority, as defined by the underlying OS. It is passed unmodified to the underlying OS's interrupt handler creation code, so you need to refer to the OS documentation for usage. For example, for SYS/BIOS applications, refer to the ti.sysbios.family.arm.m3.Hwi documentation for SYS/BIOS usage of interrupt priorities. If the driver uses the ti.dpl interface instead of making OS calls directly, then the HwiP port handles the interrupt priority in an OS specific way. In the case of the SYS/BIOS port, intPriority is passed unmodified to Hwi_create().

A sample structure is shown below:

const SPIWFF3DMA_HWAttrs SPIWFF3DMAobjects[] = {
{
.baseAddr = SPI0_BASE,
.intNum = INT_SP_SPI_0_EVT_REQ,
.intPriority = ~0,
.swiPriority = 0,
.defaultTxBufValue = 0,
.rxDmaChannel = 1,
.txDmaChannel = 0,
.txChannelEvtMux = DMAWFF3_PERIPH_SPI_0,
.rxChannelEvtMux = DMAWFF3_PERIPH_SPI_0,
.picoPin = CONFIG_SPI0_POCI,
.pociPin = CONFIG_SPI0_PICO,
.sclkPin = CONFIG_SPI0_CLK,
.csnPin = CONFIG_SPI0_CSN,
.csnSel = SPI_CSSEL_CS0
.pociPinMux = 4,
.picoPinMux = 4,
.sclkPinMux = 4,
.csnPinMux = 4,
.minDmaTransferSize = 10
},
{
.baseAddr = SPI1_BASE,
.intNum = INT_SP_SPI_1_EVT_REQ,
.intPriority = ~0,
.swiPriority = 0,
.defaultTxBufValue = 0,
.rxDmaChannel = 1,
.txDmaChannel = 0,
.txChannelEvtMux = DMAWFF3_PERIPH_SPI_1,
.rxChannelEvtMux = DMAWFF3_PERIPH_SPI_1,
.picoPin = CONFIG_SPI1_POCI,
.pociPin = CONFIG_SPI1_PICO,
.sclkPin = CONFIG_SPI1_CLK,
.csnPin = CONFIG_SPI1_CSN,
.csnSel = SPI_CSSEL_CS0,
.pociPinMux = 4,
.picoPinMux = 4,
.sclkPinMux = 4,
.csnPinMux = 4,
.minDmaTransferSize = 10
},
};

Field Documentation

§ baseAddr

uint32_t SPIWFF3DMA_HWAttrs::baseAddr

SPI Peripheral's base address.

§ swiPriority

uint32_t SPIWFF3DMA_HWAttrs::swiPriority

SPI SWI priority. The higher the number, the higher the priority. The minimum is 0 and the maximum is 15 by default. The maximum can be reduced to save RAM by adding or modifying Swi.numPriorities in the kernel configuration file.

§ rxDmaChannel

uint32_t SPIWFF3DMA_HWAttrs::rxDmaChannel

DMA RX channel number

§ txDmaChannel

uint32_t SPIWFF3DMA_HWAttrs::txDmaChannel

DMA TX channel number

§ pociPinMux

int32_t SPIWFF3DMA_HWAttrs::pociPinMux

POCI PIN mux value. Can be applied to either PICO or POCI

§ picoPinMux

int32_t SPIWFF3DMA_HWAttrs::picoPinMux

PICO PIN mux value. Can be applied to either PICO or POCI

§ sclkPinMux

int32_t SPIWFF3DMA_HWAttrs::sclkPinMux

SCLK PIN mux value for flow control

§ csnPinMux

int32_t SPIWFF3DMA_HWAttrs::csnPinMux

CSN PIN mux value for flow control

§ csnSel

uint32_t SPIWFF3DMA_HWAttrs::csnSel

SPI Selected CSN

§ minDmaTransferSize

uint32_t SPIWFF3DMA_HWAttrs::minDmaTransferSize

Minimum transfer size for DMA based transfer

§ defaultTxBufValue

uint16_t SPIWFF3DMA_HWAttrs::defaultTxBufValue

Default TX value if txBuf == NULL

§ txChannelEvtMux

uint8_t SPIWFF3DMA_HWAttrs::txChannelEvtMux

DMA Mux ID for this SPI TX channel

§ rxChannelEvtMux

uint8_t SPIWFF3DMA_HWAttrs::rxChannelEvtMux

DMA Mux ID for this SPI RX channel

§ intNum

uint8_t SPIWFF3DMA_HWAttrs::intNum

SPIWFF3DMA Peripheral's interrupt vector

§ intPriority

uint8_t SPIWFF3DMA_HWAttrs::intPriority

SPIWFF3DMA Peripheral's interrupt priority.

The WFF3 devices use either three or two priority bits, depending on the device. That means ~0 has the same effect as (7 << 5) or (3 << 6), respectively.

Setting the priority to 0 is not supported by this driver.

HWI's with priority 0 ignore the HWI dispatcher to support zero-latency interrupts, thus invalidating the critical sections in this driver.

§ powerID

PowerWFF3_Resource SPIWFF3DMA_HWAttrs::powerID

Power driver ID for this SPI instance

§ picoPin

uint_least8_t SPIWFF3DMA_HWAttrs::picoPin

SPI PICO pin

§ pociPin

uint_least8_t SPIWFF3DMA_HWAttrs::pociPin

SPI POCI pin

§ sclkPin

uint_least8_t SPIWFF3DMA_HWAttrs::sclkPin

SPI SCLK pin

§ csnPin

uint_least8_t SPIWFF3DMA_HWAttrs::csnPin

SPI CSN pin


The documentation for this struct was generated from the following file:
© Copyright 1995-2026, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale