54 #ifndef ti_drivers_i2s_PDMCC26XX_I2S__include
55 #define ti_drivers_i2s_PDMCC26XX_I2S__include
69 #define ti_sysbios_family_arm_m3_Hwi__nolocalnames
70 #include <ti/sysbios/knl/Semaphore.h>
71 #include <ti/sysbios/family/arm/m3/Hwi.h>
84 #define PDMCC26XX_I2S_MIN_ALLOWED_QUEUE_SIZE 3
90 #define I2S_BLOCK_OVERHEAD_IN_BYTES 16
92 #define I2S_BLOCK_OVERHEAD_IN_BYTES 12
96 #define PDMCC26XX_I2S_CMD_SUCCESS 0
98 #define PDMCC26XX_I2S_CMD_UNDEFINED -1
100 #define PDMCC26XX_I2S_CMD_NO_SUCCESS -2
103 #define PDMCC26XX_I2S_GENERIC_DISABLED 0
105 #define PDMCC26XX_I2S_GENERIC_ENABLED 1
164 #define PDMCC26XX_I2S_DEFAULT_SAMPLE_STAMP_MOD 0x0000FFFF
179 #define PDMCC26XX_I2S_WordClockPhase_Single 0
183 #define PDMCC26XX_I2S_WordClockPhase_Dual 1
187 #define PDMCC26XX_I2S_WordClockPhase_UserDefined 2
197 #define PDMCC26XX_I2S_SampleEdge_Negative 0
201 #define PDMCC26XX_I2S_SampleEdge_Postive 1
211 #define PDMCC26XX_I2S_WordClockSource_Ext 1
215 #define PDMCC26XX_I2S_WordClockSource_Int 2
225 #define PDMCC26XX_I2S_BitClockSource_Ext 0
229 #define PDMCC26XX_I2S_BitClockSource_Int 1
239 #define PDMCC26XX_I2S_ClockSource_Normal 0
243 #define PDMCC26XX_I2S_ClockSource_Inverted 1
254 #define PDMCC26XX_I2S_ADUsageDisabled 0
258 #define PDMCC26XX_I2S_ADUsageInput 1
262 #define PDMCC26XX_I2S_ADUsageOutput 2
282 #define PDMCC26XX_I2S_CHAN0_ACT 0x00000001
284 #define PDMCC26XX_I2S_CHAN1_ACT 0x00000002
286 #define PDMCC26XX_I2S_CHAN2_ACT 0x00000004
288 #define PDMCC26XX_I2S_CHAN3_ACT 0x00000008
290 #define PDMCC26XX_I2S_CHAN4_ACT 0x00000010
292 #define PDMCC26XX_I2S_CHAN5_ACT 0x00000020
294 #define PDMCC26XX_I2S_CHAN6_ACT 0x00000040
296 #define PDMCC26XX_I2S_CHAN7_ACT 0x00000080
298 #define PDMCC26XX_I2S_MONO_MODE 0x00000001
300 #define PDMCC26XX_I2S_STEREO_MODE 0x00000003
302 #define PDMCC26XX_I2S_DISABLED_MODE 0x00000000
304 #define PDMCC26XX_I2S_CHAN_CFG_MASK 0x000000FF
315 #define PDMCC26XX_I2S_WordLengthMin 8
317 #define PDMCC26XX_I2S_WordLength16 16
319 #define PDMCC26XX_I2S_WordLengthMax 24
329 #define PDMCC26XX_I2S_SinglePhase 0
331 #define PDMCC26XX_I2S_DualPhase 1
342 #define PDMCC26XX_I2S_NegativeEdge 0
344 #define PDMCC26XX_I2S_PositiveEdge 1
358 #define PDMCC26XX_I2S_MemLen16bit 0
360 #define PDMCC26XX_I2S_MemLen24bit 1
380 #define PDMCC26XX_I2S_FormatLJF 0
382 #define PDMCC26XX_I2S_FormatI2SandDSP 1
384 #define PDMCC26XX_I2S_FormatRJFmin 2
386 #define PDMCC26XX_I2S_FormatRJFmax 255
549 #define PDMCC26XX_I2S_DIR_CHA_M (I2S_LINE_MASK | I2S_CHAN_CFG_MASK)
713 ti_sysbios_family_arm_m3_Hwi_Struct
hwi;
897 #undef ti_sysbios_family_arm_m3_Hwi__nolocalnames
uint8_t PIN_Id
Pin identifier data type.
Definition: PIN.h:557
uint16_t reserved
Definition: PDMCC26XX_util.h:486
PDMCC26XX_I2S_Handle PDMCC26XX_I2S_open(PDMCC26XX_I2S_Handle handle, PDMCC26XX_I2S_Params *params)
Function to open a given CC26XX I2S peripheral specified by the I2S handle.
bool PDMCC26XX_I2S_requestBuffer(PDMCC26XX_I2S_Handle handle, PDMCC26XX_I2S_BufferRequest *bufferRequest)
Function for requesting buffer.
uint32_t ui32conMgtBufTotalSize
Definition: PDMCC26XX_util.h:709
PDMCC26XX_I2S_Status status
Definition: PDMCC26XX_util.h:632
uint16_t wclkInverted
Definition: PDMCC26XX_util.h:480
PDMCC26XX_I2S_Mode
Definitions for various PDMCC26XX_I2S modes of operation.
Definition: PDMCC26XX_util.h:151
struct PDMCC26XX_I2S_AudioPinConfig::@0 driverLibParams
struct PDMCC26XX_I2S_Config PDMCC26XX_I2S_Config
The PDMCC26XX_I2S_Config structure contains a set of pointers used to characterize the PDMCC26XX_I2S ...
struct PDMCC26XX_I2S_AudioClockConfig PDMCC26XX_I2S_AudioClockConfig
PDMCC26XX_I2S Audio Clock configuration.
Semaphore_Struct semStopping
Definition: PDMCC26XX_util.h:715
Definition: PDMCC26XX_util.h:119
Definition: PDMCC26XX_util.h:135
void * bufferHandleIn
Definition: PDMCC26XX_util.h:643
struct PDMCC26XX_I2S_Config * PDMCC26XX_I2S_Handle
A handle that is returned from a PDMCC26XX_I2S_open() call.
Definition: PDMCC26XX_util.h:110
PDMCC26XX_I2S_StreamNotification * currentStream
Definition: PDMCC26XX_util.h:685
Power manager interface for CC26XX.
void const * hwAttrs
Definition: PDMCC26XX_util.h:401
uint16_t ad0
Definition: PDMCC26XX_util.h:520
PDMCC26XX_I2S_AudioPinConfig audioPinCfg
Definition: PDMCC26XX_util.h:701
Definition: PDMCC26XX_util.h:599
uint8_t PowerCC26XX_Resource
Definition: PowerCC26XX.h:66
uint8_t enableBclkPin
Definition: PDMCC26XX_util.h:539
PIN_Id ad0Pin
Definition: PDMCC26XX_util.h:447
PDMCC26XX_I2S_RequestMode requestMode
Definition: PDMCC26XX_util.h:696
Definition: PDMCC26XX_util.h:593
uint8_t reserved
Definition: PDMCC26XX_util.h:529
A PDMCC26XX_I2S_BufferRequest data structure is used with PDMCC26XX_I2S_requestBuffer().
Definition: PDMCC26XX_util.h:629
Definition: PDMCC26XX_util.h:121
PDMCC26XX_I2S_RequestMode requestMode
Definition: PDMCC26XX_util.h:660
Definition: PDMCC26XX_util.h:117
uint16_t wclkPhase
Definition: PDMCC26XX_util.h:478
uint16_t ad1
Definition: PDMCC26XX_util.h:518
void(* PDMCC26XX_I2S_CallbackFxn)(PDMCC26XX_I2S_Handle handle, PDMCC26XX_I2S_StreamNotification *notification)
The definition of a callback function used when wakeup on chip select is enabled. ...
Definition: PDMCC26XX_util.h:652
PIN_Id wclkPin
Definition: PDMCC26XX_util.h:445
Definition: PDMCC26XX_util.h:116
Definition: PDMCC26XX_util.h:137
Definition: PDMCC26XX_util.h:153
PDMCC26XX_I2S_CallbackFxn callbackFxn
Definition: PDMCC26XX_util.h:662
A PDMCC26XX_I2S_BufferRelease data structure is used with PDMCC26XX_I2S_releaseBuffer().
Definition: PDMCC26XX_util.h:642
uint16_t sampleOnPositiveEdge
Definition: PDMCC26XX_util.h:476
PIN_Id mclkPin
Definition: PDMCC26XX_util.h:441
void * bufferHandleIn
Definition: PDMCC26XX_util.h:631
PDMCC26XX_I2S_TransferSize blockSize
Definition: PDMCC26XX_util.h:703
struct PDMCC26XX_I2S_AudioFormatConfig PDMCC26XX_I2S_AudioFormatConfig
PDMCC26XX_I2S Hardware configuration.
bool isOpen
Definition: PDMCC26XX_util.h:721
uint16_t mclkDiv
Definition: PDMCC26XX_util.h:490
PDMCC26XX_I2S_RequestMode
PDMCC26XX_I2S Object.
Definition: PDMCC26XX_util.h:588
Void PDMCC26XX_I2S_releaseBuffer(PDMCC26XX_I2S_Handle handle, PDMCC26XX_I2S_BufferRelease *bufferRelease)
Function for releasing buffer.
Device-specific pin & GPIO driver for CC26xx family [def].
struct PDMCC26XX_I2S_BufferRequest PDMCC26XX_I2S_BufferRequest
A PDMCC26XX_I2S_BufferRequest data structure is used with PDMCC26XX_I2S_requestBuffer().
uint32_t ui32conBufTotalSize
Definition: PDMCC26XX_util.h:707
bool PDMCC26XX_I2S_stopStream(PDMCC26XX_I2S_Handle handle)
Function for stopping an I2S interface.
uint16_t wclkDiv
Definition: PDMCC26XX_util.h:472
void * pvContMgtBuffer
Definition: PDMCC26XX_util.h:678
PDMCC26XX_I2S_StreamNotification * currentStream
Definition: PDMCC26XX_util.h:710
PDMCC26XX_I2S_AudioClockConfig audioClkCfg
Definition: PDMCC26XX_util.h:700
ti_sysbios_family_arm_m3_Hwi_Struct hwi
Definition: PDMCC26XX_util.h:713
uint8_t ad1NumOfChannels
Definition: PDMCC26XX_util.h:531
Definition: PDMCC26XX_util.h:142
uint32_t ui32conMgtBufTotalSize
Definition: PDMCC26XX_util.h:681
uint32_t ui32requestTimeout
Definition: PDMCC26XX_util.h:661
Definition: PDMCC26XX_util.h:127
struct PDMCC26XX_I2S_Params PDMCC26XX_I2S_Params
PDMCC26XX I2S Parameters are used when calling PDMCC26XX_I2S_open().
PDMCC26XX I2S Parameters are used when calling PDMCC26XX_I2S_open().
Definition: PDMCC26XX_util.h:658
void * pvContMgtBuffer
Definition: PDMCC26XX_util.h:708
uint8_t enableWclkPin
Definition: PDMCC26XX_util.h:537
struct PDMCC26XX_I2S_AudioPinConfig::@1 bitFields
uint8_t ad0Usage
Definition: PDMCC26XX_util.h:535
PIN_State pinState
Definition: PDMCC26XX_util.h:718
void * arg
Definition: PDMCC26XX_util.h:608
uint16_t bclkDiv
Definition: PDMCC26XX_util.h:484
PDMCC26XX_I2S_Status
Status codes that are set by the I2S driver.
Definition: PDMCC26XX_util.h:115
uint8_t ad1Usage
Definition: PDMCC26XX_util.h:525
uint16_t wclkSource
Definition: PDMCC26XX_util.h:482
underlying data structure for type PIN_State
Definition: PIN.h:687
PDMCC26XX_I2S Object.
Definition: PDMCC26XX_util.h:694
bool PDMCC26XX_I2S_startStream(PDMCC26XX_I2S_Handle handle)
Function for starting an I2S interface.
Definition: PDMCC26XX_util.h:152
void PDMCC26XX_I2S_close(PDMCC26XX_I2S_Handle handle)
Function to close a given CC26XX I2S peripheral specified by the I2S handle.
Definition: PDMCC26XX_util.h:118
void * pvContBuffer
Definition: PDMCC26XX_util.h:671
void * object
Definition: PDMCC26XX_util.h:398
PDMCC26XX_I2S Audio Clock configuration.
Definition: PDMCC26XX_util.h:470
uint8_t ad0ChannelMask
Definition: PDMCC26XX_util.h:543
uint32_t ui32requestTimeout
Definition: PDMCC26XX_util.h:697
uint16_t bclkSource
Definition: PDMCC26XX_util.h:488
PowerCC26XX_Resource powerMngrId
Definition: PDMCC26XX_util.h:439
A PDMCC26XX_I2S_StreamNotification data structure is used with PDMCC26XX_I2S_CallbackFxn(). Provides notification about available buffers and potential errors.
Definition: PDMCC26XX_util.h:607
void * bufferIn
Definition: PDMCC26XX_util.h:630
struct PDMCC26XX_I2S_HWAttrs PDMCC26XX_I2S_HWAttrs
PDMCC26XX_I2S Hardware attributes.
struct PDMCC26XX_I2S_BufferRelease PDMCC26XX_I2S_BufferRelease
A PDMCC26XX_I2S_BufferRelease data structure is used with PDMCC26XX_I2S_releaseBuffer().
PDMCC26XX_I2S Hardware attributes.
Definition: PDMCC26XX_util.h:431
PIN_Handle pinHandle
Definition: PDMCC26XX_util.h:719
uint8_t ad0NumOfChannels
Definition: PDMCC26XX_util.h:541
The PDMCC26XX_I2S_Config structure contains a set of pointers used to characterize the PDMCC26XX_I2S ...
Definition: PDMCC26XX_util.h:396
struct PDMCC26XX_I2S_StreamNotification PDMCC26XX_I2S_StreamNotification
A PDMCC26XX_I2S_StreamNotification data structure is used with PDMCC26XX_I2S_CallbackFxn(). Provides notification about available buffers and potential errors.
PDMCC26XX_I2S_TransferSize blockSize
Definition: PDMCC26XX_util.h:663
uint8_t ad1ChannelMask
Definition: PDMCC26XX_util.h:533
void * pvContBuffer
Definition: PDMCC26XX_util.h:706
Definition: PDMCC26XX_util.h:125
PDMCC26XX_I2S Audio Pin configuration.
Definition: PDMCC26XX_util.h:514
Semaphore_Struct blockComplete
Definition: PDMCC26XX_util.h:714
PDMCC26XX_I2S_AudioFormatConfig audioFmtCfg
Definition: PDMCC26XX_util.h:702
uint8_t intNum
Definition: PDMCC26XX_util.h:435
int32_t i32SampleRate
Definition: PDMCC26XX_util.h:699
uint8_t intPriority
Definition: PDMCC26XX_util.h:437
union PDMCC26XX_I2S_AudioPinConfig PDMCC26XX_I2S_AudioPinConfig
PDMCC26XX_I2S Audio Pin configuration.
uint32_t ui32conBufTotalSize
Definition: PDMCC26XX_util.h:674
bool PDMCC26XX_I2S_Params_init(PDMCC26XX_I2S_Params *params, PDMCC26XX_I2S_Mode mode, void *modeSpecificParams)
Function to set initialization parameters for the audio interface.
uint32_t PDMCC26XX_I2S_TransferSize
Definition: PDMCC26XX_util.h:389
struct PDMCC26XX_I2S_Object PDMCC26XX_I2S_Object
PDMCC26XX_I2S Object.
PDMCC26XX_I2S_Status status
Definition: PDMCC26XX_util.h:609
uint32_t baseAddr
Definition: PDMCC26XX_util.h:433
const PDMCC26XX_I2S_Config PDMCC26XX_I2S_config[]
PIN_Id bclkPin
Definition: PDMCC26XX_util.h:443
void PDMCC26XX_I2S_init(PDMCC26XX_I2S_Handle handle)
I2S CC26XX initialization.
uint8_t enableMclkPin
Definition: PDMCC26XX_util.h:527
PDMCC26XX_I2S_CallbackFxn callbackFxn
Definition: PDMCC26XX_util.h:698