54 #ifndef ti_drivers_i2s_PDMCC26XX_I2S__include 55 #define ti_drivers_i2s_PDMCC26XX_I2S__include 61 #include <ti/drivers/dpl/HwiP.h> 62 #include <ti/drivers/dpl/SemaphoreP.h> 79 #define PDMCC26XX_I2S_MIN_ALLOWED_QUEUE_SIZE 3 85 #define I2S_BLOCK_OVERHEAD_IN_BYTES 16 87 #define I2S_BLOCK_OVERHEAD_IN_BYTES 12 91 #define PDMCC26XX_I2S_CMD_SUCCESS 0 93 #define PDMCC26XX_I2S_CMD_UNDEFINED -1 95 #define PDMCC26XX_I2S_CMD_NO_SUCCESS -2 98 #define PDMCC26XX_I2S_GENERIC_DISABLED 0 100 #define PDMCC26XX_I2S_GENERIC_ENABLED 1 107 typedef void *(*PDMCC26XX_I2S_MallocFxn)(
size_t memSize);
189 #define PDMCC26XX_I2S_DEFAULT_SAMPLE_STAMP_MOD 0x0000FFFF 204 #define PDMCC26XX_I2S_WordClockPhase_Single 0 208 #define PDMCC26XX_I2S_WordClockPhase_Dual 1 212 #define PDMCC26XX_I2S_WordClockPhase_UserDefined 2 222 #define PDMCC26XX_I2S_SampleEdge_Negative 0 226 #define PDMCC26XX_I2S_SampleEdge_Postive 1 236 #define PDMCC26XX_I2S_WordClockSource_Ext 1 240 #define PDMCC26XX_I2S_WordClockSource_Int 2 250 #define PDMCC26XX_I2S_BitClockSource_Ext 0 254 #define PDMCC26XX_I2S_BitClockSource_Int 1 264 #define PDMCC26XX_I2S_ClockSource_Normal 0 268 #define PDMCC26XX_I2S_ClockSource_Inverted 1 279 #define PDMCC26XX_I2S_ADUsageDisabled 0 283 #define PDMCC26XX_I2S_ADUsageInput 1 287 #define PDMCC26XX_I2S_ADUsageOutput 2 307 #define PDMCC26XX_I2S_CHAN0_ACT 0x00000001 309 #define PDMCC26XX_I2S_CHAN1_ACT 0x00000002 311 #define PDMCC26XX_I2S_CHAN2_ACT 0x00000004 313 #define PDMCC26XX_I2S_CHAN3_ACT 0x00000008 315 #define PDMCC26XX_I2S_CHAN4_ACT 0x00000010 317 #define PDMCC26XX_I2S_CHAN5_ACT 0x00000020 319 #define PDMCC26XX_I2S_CHAN6_ACT 0x00000040 321 #define PDMCC26XX_I2S_CHAN7_ACT 0x00000080 323 #define PDMCC26XX_I2S_MONO_MODE 0x00000001 325 #define PDMCC26XX_I2S_STEREO_MODE 0x00000003 327 #define PDMCC26XX_I2S_DISABLED_MODE 0x00000000 329 #define PDMCC26XX_I2S_CHAN_CFG_MASK 0x000000FF 340 #define PDMCC26XX_I2S_WordLengthMin 8 342 #define PDMCC26XX_I2S_WordLength16 16 344 #define PDMCC26XX_I2S_WordLengthMax 24 354 #define PDMCC26XX_I2S_SinglePhase 0 356 #define PDMCC26XX_I2S_DualPhase 1 367 #define PDMCC26XX_I2S_NegativeEdge 0 369 #define PDMCC26XX_I2S_PositiveEdge 1 383 #define PDMCC26XX_I2S_MemLen16bit 0 385 #define PDMCC26XX_I2S_MemLen24bit 1 405 #define PDMCC26XX_I2S_FormatLJF 0 407 #define PDMCC26XX_I2S_FormatI2SandDSP 1 409 #define PDMCC26XX_I2S_FormatRJFmin 2 411 #define PDMCC26XX_I2S_FormatRJFmax 255 485 uint16_t sampleOnPositiveEdge:1;
487 uint16_t wclkPhase:2;
489 uint16_t wclkInverted:1;
491 uint16_t wclkSource:2;
497 uint16_t bclkSource:1;
558 #define PDMCC26XX_I2S_DIR_CHA_M (I2S_LINE_MASK | I2S_CHAN_CFG_MASK) 578 uint8_t wordLength:5;
582 uint8_t sampleEdge:1;
uint8_t PIN_Id
Pin identifier data type.
Definition: PIN.h:584
void PDMCC26XX_I2S_releaseBuffer(PDMCC26XX_I2S_Handle handle, PDMCC26XX_I2S_BufferRelease *bufferRelease)
Function for releasing buffer.
ADC_Params params
Definition: Driver_Init.h:11
SemaphoreP_Struct blockComplete
Definition: PDMCC26XX_util.h:708
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.
uint8_t blockCount
Definition: PDMCC26XX_util.h:668
PDMCC26XX_I2S_Status status
Definition: PDMCC26XX_util.h:641
PDMCC26XX_I2S_Mode
Definitions for various PDMCC26XX_I2S modes of operation.
Definition: PDMCC26XX_util.h:176
PDMCC26XX_I2S_TransferSize blockSizeInSamples
Definition: PDMCC26XX_util.h:698
Definition: PDMCC26XX_util.h:142
Definition: PDMCC26XX_util.h:157
void * bufferHandleIn
Definition: PDMCC26XX_util.h:652
PDMCC26XX_I2S_MallocFxn mallocFxn
Definition: PDMCC26XX_util.h:702
PDMCC26XX_I2S_StreamNotification * currentStream
Definition: PDMCC26XX_util.h:682
Power manager interface for CC26XX/CC13XX.
void const * hwAttrs
Definition: PDMCC26XX_util.h:127
uint16_t ad0
Definition: PDMCC26XX_util.h:529
PDMCC26XX_I2S_AudioPinConfig audioPinCfg
Definition: PDMCC26XX_util.h:706
Definition: PDMCC26XX_util.h:608
uint8_t enableBclkPin
Definition: PDMCC26XX_util.h:548
uint32_t requestTimeout
Definition: PDMCC26XX_util.h:695
PIN_Id ad0Pin
Definition: PDMCC26XX_util.h:454
PDMCC26XX_I2S_RequestMode requestMode
Definition: PDMCC26XX_util.h:694
Definition: PDMCC26XX_util.h:602
PDMCC26XX_I2S_FreeFxn freeFxn
Definition: PDMCC26XX_util.h:681
uint8_t reserved
Definition: PDMCC26XX_util.h:538
PDMCC26XX_I2S_MallocFxn mallocFxn
Definition: PDMCC26XX_util.h:680
A PDMCC26XX_I2S_BufferRequest data structure is used with PDMCC26XX_I2S_requestBuffer().
Definition: PDMCC26XX_util.h:638
Definition: PDMCC26XX_util.h:145
PDMCC26XX_I2S_RequestMode requestMode
Definition: PDMCC26XX_util.h:670
Definition: PDMCC26XX_util.h:140
uint16_t ad1
Definition: PDMCC26XX_util.h:527
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:661
PIN_Id wclkPin
Definition: PDMCC26XX_util.h:452
Definition: PDMCC26XX_util.h:139
Definition: PDMCC26XX_util.h:160
Definition: PDMCC26XX_util.h:178
PDMCC26XX_I2S_CallbackFxn callbackFxn
Definition: PDMCC26XX_util.h:678
A PDMCC26XX_I2S_BufferRelease data structure is used with PDMCC26XX_I2S_releaseBuffer().
Definition: PDMCC26XX_util.h:651
PIN_Id mclkPin
Definition: PDMCC26XX_util.h:448
void * bufferHandleIn
Definition: PDMCC26XX_util.h:640
Definition: PDMCC26XX_util.h:153
bool isOpen
Definition: PDMCC26XX_util.h:691
PDMCC26XX_I2S_Config * PDMCC26XX_I2S_Handle
A handle that is returned from a PDMCC26XX_I2S_open() call.
Definition: PDMCC26XX_util.h:133
uint8_t blockCount
Definition: PDMCC26XX_util.h:692
PDMCC26XX_I2S_RequestMode
PDMCC26XX_I2S Object.
Definition: PDMCC26XX_util.h:597
Device-specific pin & GPIO driver for CC26xx family [def].
uint32_t requestTimeout
Definition: PDMCC26XX_util.h:669
bool PDMCC26XX_I2S_stopStream(PDMCC26XX_I2S_Handle handle)
Function for stopping an I2S interface.
uint16_t wclkDiv
Definition: PDMCC26XX_util.h:481
PDMCC26XX_I2S_StreamNotification * currentStream
Definition: PDMCC26XX_util.h:704
uint16_t blockSizeInBytes
Definition: PDMCC26XX_util.h:693
PDMCC26XX_I2S_AudioClockConfig audioClkCfg
Definition: PDMCC26XX_util.h:711
uint8_t ad1NumOfChannels
Definition: PDMCC26XX_util.h:540
Definition: PDMCC26XX_util.h:166
PDMCC26XX_I2S_TransferSize blockSizeInSamples
Definition: PDMCC26XX_util.h:671
SemaphoreP_Struct semStopping
Definition: PDMCC26XX_util.h:709
PDMCC26XX I2S Parameters are used when calling PDMCC26XX_I2S_open().
Definition: PDMCC26XX_util.h:667
uint8_t enableWclkPin
Definition: PDMCC26XX_util.h:546
uint8_t ad0Usage
Definition: PDMCC26XX_util.h:544
void(* PDMCC26XX_I2S_FreeFxn)(void *ptr, size_t memSize)
PDMCC26XX_I2S_FreeFxn is a function pointer for the free function to be used by the driver...
Definition: PDMCC26XX_util.h:115
int32_t sampleRate
Definition: PDMCC26XX_util.h:696
PIN_State pinState
Definition: PDMCC26XX_util.h:710
void * arg
Definition: PDMCC26XX_util.h:617
PDMCC26XX_I2S_Status
Status codes that are set by the I2S driver.
Definition: PDMCC26XX_util.h:138
uint8_t ad1Usage
Definition: PDMCC26XX_util.h:534
underlying data structure for type PIN_State
Definition: PIN.h:714
PDMCC26XX_I2S Object.
Definition: PDMCC26XX_util.h:690
bool PDMCC26XX_I2S_startStream(PDMCC26XX_I2S_Handle handle)
Function for starting an I2S interface.
Definition: PDMCC26XX_util.h:177
struct PDMCC26XX_I2S_AudioPinConfig::@2 bitFields
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:141
void * object
Definition: PDMCC26XX_util.h:124
PDMCC26XX_I2S_FreeFxn freeFxn
Definition: PDMCC26XX_util.h:703
PDMCC26XX_I2S Audio Clock configuration.
Definition: PDMCC26XX_util.h:479
uint8_t ad0ChannelMask
Definition: PDMCC26XX_util.h:552
HwiP_Struct hwi
Definition: PDMCC26XX_util.h:707
PowerCC26XX_Resource powerMngrId
Definition: PDMCC26XX_util.h:446
A PDMCC26XX_I2S_StreamNotification data structure is used with PDMCC26XX_I2S_CallbackFxn(). Provides notification about available buffers and potential errors.
Definition: PDMCC26XX_util.h:616
void * bufferIn
Definition: PDMCC26XX_util.h:639
PDMCC26XX_I2S Hardware attributes.
Definition: PDMCC26XX_util.h:440
PIN_Handle pinHandle
Definition: PDMCC26XX_util.h:697
uint8_t ad0NumOfChannels
Definition: PDMCC26XX_util.h:550
The PDMCC26XX_I2S_Config structure contains a set of pointers used to characterize the PDMCC26XX_I2S ...
Definition: PDMCC26XX_util.h:122
uint8_t ad1ChannelMask
Definition: PDMCC26XX_util.h:542
Definition: PDMCC26XX_util.h:150
PDMCC26XX_I2S Audio Pin configuration.
Definition: PDMCC26XX_util.h:523
PDMCC26XX_I2S_AudioFormatConfig audioFmtCfg
Definition: PDMCC26XX_util.h:705
uint8_t intNum
Definition: PDMCC26XX_util.h:442
uint8_t intPriority
Definition: PDMCC26XX_util.h:444
union PDMCC26XX_I2S_AudioPinConfig PDMCC26XX_I2S_AudioPinConfig
PDMCC26XX_I2S Audio Pin configuration.
uint32_t PDMCC26XX_I2S_TransferSize
Definition: PDMCC26XX_util.h:414
void *(* PDMCC26XX_I2S_MallocFxn)(size_t memSize)
PDMCC26XX_I2S_MallocFxn is a function pointer for the malloc function to be used by the driver...
Definition: PDMCC26XX_util.h:107
PDMCC26XX_I2S_Status status
Definition: PDMCC26XX_util.h:618
uint32_t baseAddr
Definition: PDMCC26XX_util.h:456
struct PDMCC26XX_I2S_AudioPinConfig::@1 driverLibParams
PIN_Id bclkPin
Definition: PDMCC26XX_util.h:450
void PDMCC26XX_I2S_init(PDMCC26XX_I2S_Handle handle)
I2S CC26XX initialization.
uint8_t enableMclkPin
Definition: PDMCC26XX_util.h:536
PDMCC26XX_I2S_CallbackFxn callbackFxn
Definition: PDMCC26XX_util.h:701