iLLD_TC29x
1.0
|
Data Structures | |
struct | SpiIf_Flags |
struct | SpiIf_Job |
struct | SpiIf_funcs |
struct | SpiIf_ |
struct | SpiIf_Config |
struct | Spi_ErrorChecks |
struct | SpiIf_ChMode |
struct | SpiIf_Ch_ |
struct | SpiIf_ChConfig_ |
Macros | |
#define | IFXQSPI_BACONSIZE(Datasize) ((((Datasize) % 16)== 0) ? ((uint8)((Datasize)/16)) : ((uint8)((Datasize)/16) + 1)) |
#define | IFXQSPI_FIFO32BITSIZE(Datasize) (((Datasize) % 4)== 0) ? ((uint8)((Datasize)/4)) : ((uint8)((Datasize)/4) + 1) |
#define | IFXQSPI_GETLONGMODEFIFOSIZE(Datasize) IFXQSPI_BACONSIZE(Datasize) + IFXQSPI_FIFO32BITSIZE(Datasize) |
Typedefs | |
typedef struct SpiIf_Ch_ | SpiIf_Ch |
Alias to the channel structure. More... | |
typedef struct SpiIf_ChConfig_ | SpiIf_ChConfig |
typedef struct SpiIf_ | SpiIf |
typedef SpiIf_Status(* | SpiIf_Exchange )(SpiIf_Ch *handle, const void *src, void *dest, Ifx_SizeT numOfData) |
typedef SpiIf_Status(* | SpiIf_GetStatus )(SpiIf_Ch *handle) |
typedef void(* | SpiIf_OnEvent )(SpiIf *handle) |
typedef void(* | SpiIf_Cbk )(void *data) |
SPI channel callback prototype. More... | |
typedef void(* | TxRxHandler )(SpiIf_Ch *handle) |
Enumerations | |
enum | SpiIf_Status { SpiIf_Status_ok, SpiIf_Status_busy, SpiIf_Status_unknown } |
SPI Interface Status. More... | |
enum | SpiIf_SlsoTiming { SpiIf_SlsoTiming_0 = 0, SpiIf_SlsoTiming_1, SpiIf_SlsoTiming_2, SpiIf_SlsoTiming_3, SpiIf_SlsoTiming_4, SpiIf_SlsoTiming_5, SpiIf_SlsoTiming_6, SpiIf_SlsoTiming_7 } |
Slave select output timing. More... | |
enum | SpiIf_DataHeading { SpiIf_DataHeading_lsbFirst = 0, SpiIf_DataHeading_msbFirst } |
Heading. More... | |
enum | SpiIf_ShiftClock { SpiIf_ShiftClock_shiftTransmitDataOnLeadingEdge = 0, SpiIf_ShiftClock_shiftTransmitDataOnTrailingEdge } |
Clock phase. More... | |
enum | SpiIf_ClockPolarity { SpiIf_ClockPolarity_idleLow = 0, SpiIf_ClockPolarity_idleHigh } |
Clock polarity. More... | |
enum | SpiIf_Mode { SpiIf_Mode_master, SpiIf_Mode_slave, SpiIf_Mode_undefined } |
Functions | |
IFX_INLINE void | SpiIf_wait (SpiIf_Ch *handle) |
IFX_EXTERN void | SpiIf_initConfig (SpiIf_Config *config) |
IFX_EXTERN void | SpiIf_initChannelConfig (SpiIf_ChConfig *config, SpiIf *driver) |
Virtual functions | |
IFX_INLINE SpiIf_Status | SpiIf_exchange (SpiIf_Ch *handle, const void *src, void *dest, Ifx_SizeT numOfData) |
IFX_INLINE SpiIf_Status | SpiIf_getStatus (SpiIf_Ch *handle) |
struct SpiIf_Flags |
struct SpiIf_Job |
struct SpiIf_funcs |
Data Fields | ||
---|---|---|
SpiIf_Exchange | exchange | |
SpiIf_GetStatus | getStatus | |
SpiIf_OnEvent | onError | |
SpiIf_OnEvent | onRx | |
SpiIf_OnEvent | onTx |
struct SpiIf_ |
struct SpiIf_Config |
Data Fields | ||
---|---|---|
void * | buffer | Specifies the buffer location.The buffer parameter must point on a free memory location where the buffer object will be initialised. The Size of this area must be at least equals to "Size + sizeof(Ifx_Fifo) + 8", with "Size=config->bufferSize * Ifx_AlignOn32(sizeof(Spi_Ch*))". Not tacking this in account may result in unpredictable behaviour. |
Ifx_SizeT | bufferSize | Specifies the number of channels that can be buffered. If 0, buffering is disabled. |
Ifx_Priority | erPriority | Specifies the priority of the error interrupt. |
IfxSrc_Tos | isrProvider | Specifies the handler of the interrupts. |
float32 | maximumBaudrate | Maximum baudrate used by the channels, this value is used to optimise the SPI internal clock. |
SpiIf_Mode | mode | Specifies the interface operation mode. |
Ifx_Priority | rxPriority | Specifies the priority of the receive interrupt. |
Ifx_Priority | txPriority | Specifies the priority of the transmit interrupt. |
struct Spi_ErrorChecks |
struct SpiIf_ChMode |
Data Fields | ||
---|---|---|
uint32 | autoCS: 1 | 1 = chip select is controlled by the hardware module or, 0 = by software. |
uint32 | clockPolarity: 1 | SpiIf_ClockPolarity |
uint32 | csActiveLevel: 1 | Ifx_ActiveState |
uint32 | csInactiveDelay: 3 | SpiIf_SlsoTiming |
uint32 | csLeadDelay: 3 | SpiIf_SlsoTiming |
uint32 | csTrailDelay: 3 | SpiIf_SlsoTiming |
uint32 | dataHeading: 1 | SpiIf_DataHeading |
uint32 | dataWidth: 6 | range 2 .. 32 bits (note 2 = 2-bits, 3 = 3-bits ... |
uint32 | enabled: 1 | 1 = channel enabled, 0 = channel disabled |
uint32 | loopback: 1 | 0 = normal mode, 1 = loopback mode |
uint32 | parityCheck: 1 | 0 = disabled, 1 = enabled |
uint32 | parityMode: 1 | Ifx_ParityMode |
uint32 | shiftClock: 1 | SpiIf_ShiftClock |
struct SpiIf_Ch_ |
Data Fields | ||
---|---|---|
sint32 | baudrate | Real baudrate. |
void * | callbackData | Specifies pointer to the user specific data on transmit end. |
SpiIf * | driver | Pointer to the SPI interface driver. |
Spi_ErrorChecks | errorChecks | Error checks. |
SpiIf_Flags | flags | |
SpiIf_Cbk | onExchangeEnd | Specifies the callback function on end of exchange. |
SpiIf_Job | rx | |
TxRxHandler | rxHandler | |
SpiIf_Job | tx | |
TxRxHandler | txHandler |
struct SpiIf_ChConfig_ |
Data Fields | ||
---|---|---|
float32 | baudrate | Specifies the SPI baudrate. |
SpiIf * | driver | Pointer to an implementation of SPI interface driver, e.g. IfxQspi_SpiMaster_ChannelConfig. |
Spi_ErrorChecks | errorChecks | |
SpiIf_ChMode | mode |
#define IFXQSPI_GETLONGMODEFIFOSIZE | ( | Datasize) | IFXQSPI_BACONSIZE(Datasize) + IFXQSPI_FIFO32BITSIZE(Datasize) |
typedef void(* SpiIf_Cbk)(void *data) |
typedef struct SpiIf_ChConfig_ SpiIf_ChConfig |
typedef SpiIf_Status(* SpiIf_Exchange)(SpiIf_Ch *handle, const void *src, void *dest, Ifx_SizeT numOfData) |
typedef SpiIf_Status(* SpiIf_GetStatus)(SpiIf_Ch *handle) |
enum SpiIf_ClockPolarity |
enum SpiIf_DataHeading |
enum SpiIf_Mode |
enum SpiIf_ShiftClock |
enum SpiIf_SlsoTiming |
Slave select output timing.
enum SpiIf_Status |
IFX_INLINE SpiIf_Status SpiIf_exchange | ( | SpiIf_Ch * | handle, |
const void * | src, | ||
void * | dest, | ||
Ifx_SizeT | numOfData | ||
) |
Perform the SPI exchange operation.
handle | Pointer to an implementation of SPI interface driver |
src | Pointer to the start of data buffer for data to transmit |
dest | Pointer to the start of data buffer for received data |
numOfData | specifies number of byte/bit to transfer |
IFX_INLINE SpiIf_Status SpiIf_getStatus | ( | SpiIf_Ch * | handle) |
IFX_EXTERN void SpiIf_initChannelConfig | ( | SpiIf_ChConfig * | config, |
SpiIf * | driver | ||
) |
Definition at line 40 of file SpiIf.c.
Referenced by IfxQspi_SpiMaster_initChannelConfig(), and IfxQspi_SpiSlave_initModule().
IFX_EXTERN void SpiIf_initConfig | ( | SpiIf_Config * | config) |
Definition at line 27 of file SpiIf.c.
Referenced by IfxQspi_SpiMaster_initModuleConfig(), and IfxQspi_SpiSlave_initModuleConfig().
IFX_INLINE void SpiIf_wait | ( | SpiIf_Ch * | handle) |