ARM_DRIVER_VERSION(*GetVersion)(void);///< Pointer to \ref ARM_I2C_GetVersion : Get driver version.
ARM_I2C_CAPABILITIES(*GetCapabilities)(void);///< Pointer to \ref ARM_I2C_GetCapabilities : Get driver capabilities.
int32_t(*Initialize)(ARM_I2C_SignalEvent_tcb_event);///< Pointer to \ref ARM_I2C_Initialize : Initialize I2C Interface.
int32_t(*Uninitialize)(void);///< Pointer to \ref ARM_I2C_Uninitialize : De-initialize I2C Interface.
int32_t(*PowerControl)(ARM_POWER_STATEstate);///< Pointer to \ref ARM_I2C_PowerControl : Control I2C Interface Power.
int32_t(*MasterTransmit)(uint32_taddr,constuint8_t*data,uint32_tnum,boolxfer_pending);///< Pointer to \ref ARM_I2C_MasterTransmit : Start transmitting data as I2C Master.
int32_t(*MasterReceive)(uint32_taddr,uint8_t*data,uint32_tnum,boolxfer_pending);///< Pointer to \ref ARM_I2C_MasterReceive : Start receiving data as I2C Master.
int32_t(*SlaveTransmit)(constuint8_t*data,uint32_tnum);///< Pointer to \ref ARM_I2C_SlaveTransmit : Start transmitting data as I2C Slave.
int32_t(*SlaveReceive)(uint8_t*data,uint32_tnum);///< Pointer to \ref ARM_I2C_SlaveReceive : Start receiving data as I2C Slave.
int32_t(*GetDataCount)(void);///< Pointer to \ref ARM_I2C_GetDataCount : Get transferred data count.
int32_t(*Control)(uint32_tcontrol,uint32_targ);///< Pointer to \ref ARM_I2C_Control : Control I2C Interface.
ARM_I2C_STATUS(*GetStatus)(void);///< Pointer to \ref ARM_I2C_GetStatus : Get I2C status.
#define ARM_SAI_FRAME_LENGTH(n) ((((n)-1)&0x3FFU) << ARM_SAI_FRAME_LENGTH_Pos) ///< Frame length in bits (8..1024); default depends on protocol and data
/*----- SAI Configuration (arg1): Frame Sync Width -----*/
#define ARM_SAI_FRAME_SYNC_POLARITY_HIGH (0U << ARM_SAI_FRAME_SYNC_POLARITY_Pos) ///< Frame Sync is active high (default); User Protocol only (ignored otherwise)
#define ARM_SAI_FRAME_SYNC_POLARITY_LOW (1U << ARM_SAI_FRAME_SYNC_POLARITY_Pos) ///< Frame Sync is active low; User Protocol only (ignored otherwise)
/*----- SAI Configuration (arg1): Frame Sync Early -----*/
#define ARM_SAI_FRAME_SYNC_EARLY (1U << 19) ///< Frame Sync one bit before the first bit of the frame; User Protocol only (ignored otherwise)
/*----- SAI Configuration (arg1): Slot Count -----*/
#define ARM_SAI_SLOT_COUNT(n) ((((n)-1)&0x1FU) << ARM_SAI_SLOT_COUNT_Pos) ///< Number of slots in frame (1..32); default=1; User Protocol only (ignored otherwise)
/*----- SAI Configuration (arg1): Slot Size -----*/
#define ARM_SAI_SLOT_OFFSET(n) (((n)&0x1FU) << ARM_SAI_SLOT_OFFSET_Pos) ///< Offset of first data bit in slot (0..31); default=0; User Protocol only (ignored otherwise)
/****** SAI Configuration (arg2) *****/
/*----- SAI Control Codes: Configuration Parameters: Audio Frequency (Master only) -----*/
#define ARM_SAI_AUDIO_FREQ_Msk (0x0FFFFFU) ///< Audio frequency mask
/*----- SAI Control Codes: Configuration Parameters: Master Clock Prescaler (Master only and MCLK Pin) -----*/