54 #ifndef ti_drivers_i2s_PDMCC26XX_I2S__include 55 #define ti_drivers_i2s_PDMCC26XX_I2S__include 60 #include <ti/drivers/dpl/HwiP.h> 61 #include <ti/drivers/dpl/SemaphoreP.h> 78 #define PDMCC26XX_I2S_MIN_ALLOWED_QUEUE_SIZE 3 84 #define I2S_BLOCK_OVERHEAD_IN_BYTES 16 86 #define I2S_BLOCK_OVERHEAD_IN_BYTES 12 90 #define PDMCC26XX_I2S_CMD_SUCCESS 0 92 #define PDMCC26XX_I2S_CMD_UNDEFINED -1 94 #define PDMCC26XX_I2S_CMD_NO_SUCCESS -2 97 #define PDMCC26XX_I2S_GENERIC_DISABLED 0 99 #define PDMCC26XX_I2S_GENERIC_ENABLED 1 106 typedef void *(*PDMCC26XX_I2S_MallocFxn)(
size_t memSize);
191 #define PDMCC26XX_I2S_DEFAULT_SAMPLE_STAMP_MOD 0x0000FFFF 206 #define PDMCC26XX_I2S_WordClockPhase_Single 0 210 #define PDMCC26XX_I2S_WordClockPhase_Dual 1 214 #define PDMCC26XX_I2S_WordClockPhase_UserDefined 2 224 #define PDMCC26XX_I2S_SampleEdge_Negative 0 228 #define PDMCC26XX_I2S_SampleEdge_Postive 1 238 #define PDMCC26XX_I2S_WordClockSource_Ext 1 242 #define PDMCC26XX_I2S_WordClockSource_Int 2 252 #define PDMCC26XX_I2S_BitClockSource_Ext 0 256 #define PDMCC26XX_I2S_BitClockSource_Int 1 266 #define PDMCC26XX_I2S_ClockSource_Normal 0 270 #define PDMCC26XX_I2S_ClockSource_Inverted 1 281 #define PDMCC26XX_I2S_ADUsageDisabled 0 285 #define PDMCC26XX_I2S_ADUsageInput 1 289 #define PDMCC26XX_I2S_ADUsageOutput 2 309 #define PDMCC26XX_I2S_CHAN0_ACT 0x00000001 311 #define PDMCC26XX_I2S_CHAN1_ACT 0x00000002 313 #define PDMCC26XX_I2S_CHAN2_ACT 0x00000004 315 #define PDMCC26XX_I2S_CHAN3_ACT 0x00000008 317 #define PDMCC26XX_I2S_CHAN4_ACT 0x00000010 319 #define PDMCC26XX_I2S_CHAN5_ACT 0x00000020 321 #define PDMCC26XX_I2S_CHAN6_ACT 0x00000040 323 #define PDMCC26XX_I2S_CHAN7_ACT 0x00000080 325 #define PDMCC26XX_I2S_MONO_MODE 0x00000001 327 #define PDMCC26XX_I2S_STEREO_MODE 0x00000003 329 #define PDMCC26XX_I2S_DISABLED_MODE 0x00000000 331 #define PDMCC26XX_I2S_CHAN_CFG_MASK 0x000000FF 342 #define PDMCC26XX_I2S_WordLengthMin 8 344 #define PDMCC26XX_I2S_WordLength16 16 346 #define PDMCC26XX_I2S_WordLengthMax 24 356 #define PDMCC26XX_I2S_SinglePhase 0 358 #define PDMCC26XX_I2S_DualPhase 1 369 #define PDMCC26XX_I2S_NegativeEdge 0 371 #define PDMCC26XX_I2S_PositiveEdge 1 385 #define PDMCC26XX_I2S_MemLen16bit 0 387 #define PDMCC26XX_I2S_MemLen24bit 1 407 #define PDMCC26XX_I2S_FormatLJF 0 409 #define PDMCC26XX_I2S_FormatI2SandDSP 1 411 #define PDMCC26XX_I2S_FormatRJFmin 2 413 #define PDMCC26XX_I2S_FormatRJFmax 255 489 uint16_t sampleOnPositiveEdge:1;
492 uint16_t wclkPhase:2;
494 uint16_t wclkInverted:1;
496 uint16_t wclkSource:2;
502 uint16_t bclkSource:1;
566 #define PDMCC26XX_I2S_DIR_CHA_M (I2S_LINE_MASK | I2S_CHAN_CFG_MASK) 587 uint8_t wordLength:5;
591 uint8_t sampleEdge:1;
void PDMCC26XX_I2S_releaseBuffer(PDMCC26XX_I2S_Handle handle, PDMCC26XX_I2S_BufferRelease *bufferRelease)
Function for releasing buffer.
uint_least8_t bclkPin
Definition: PDMCC26XX_util.h:453
ADC_Params params
Definition: Driver_Init.h:11
SemaphoreP_Struct blockComplete
Definition: PDMCC26XX_util.h:726
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:681
PDMCC26XX_I2S_Status status
Definition: PDMCC26XX_util.h:652
PDMCC26XX_I2S_Mode
Definitions for various PDMCC26XX_I2S modes of operation.
Definition: PDMCC26XX_util.h:177
PDMCC26XX_I2S_TransferSize blockSizeInSamples
Definition: PDMCC26XX_util.h:715
uint_least8_t ad0Pin
Definition: PDMCC26XX_util.h:457
Definition: PDMCC26XX_util.h:143
Definition: PDMCC26XX_util.h:158
void * bufferHandleIn
Definition: PDMCC26XX_util.h:664
PDMCC26XX_I2S_MallocFxn mallocFxn
Definition: PDMCC26XX_util.h:720
PDMCC26XX_I2S_StreamNotification * currentStream
Definition: PDMCC26XX_util.h:696
Power manager interface for CC26XX/CC13XX.
void const * hwAttrs
Definition: PDMCC26XX_util.h:127
uint16_t ad0
Definition: PDMCC26XX_util.h:536
PDMCC26XX_I2S_AudioPinConfig audioPinCfg
Definition: PDMCC26XX_util.h:724
Definition: PDMCC26XX_util.h:617
uint8_t enableBclkPin
Definition: PDMCC26XX_util.h:556
uint32_t requestTimeout
Definition: PDMCC26XX_util.h:712
PDMCC26XX_I2S_RequestMode requestMode
Definition: PDMCC26XX_util.h:711
Definition: PDMCC26XX_util.h:611
PDMCC26XX_I2S_FreeFxn freeFxn
Definition: PDMCC26XX_util.h:695
uint8_t reserved
Definition: PDMCC26XX_util.h:546
PDMCC26XX_I2S_MallocFxn mallocFxn
Definition: PDMCC26XX_util.h:694
struct PDMCC26XX_I2S_AudioPinConfig::@2 driverLibParams
A PDMCC26XX_I2S_BufferRequest data structure is used with PDMCC26XX_I2S_requestBuffer().
Definition: PDMCC26XX_util.h:648
Definition: PDMCC26XX_util.h:146
PDMCC26XX_I2S_RequestMode requestMode
Definition: PDMCC26XX_util.h:684
Definition: PDMCC26XX_util.h:141
uint16_t ad1
Definition: PDMCC26XX_util.h:534
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:673
Definition: PDMCC26XX_util.h:140
Definition: PDMCC26XX_util.h:161
Definition: PDMCC26XX_util.h:180
PDMCC26XX_I2S_CallbackFxn callbackFxn
Definition: PDMCC26XX_util.h:692
A PDMCC26XX_I2S_BufferRelease data structure is used with PDMCC26XX_I2S_releaseBuffer().
Definition: PDMCC26XX_util.h:662
void * bufferHandleIn
Definition: PDMCC26XX_util.h:651
Definition: PDMCC26XX_util.h:154
bool isOpen
Definition: PDMCC26XX_util.h:707
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:708
PDMCC26XX_I2S_RequestMode
PDMCC26XX_I2S Object.
Definition: PDMCC26XX_util.h:605
uint32_t requestTimeout
Definition: PDMCC26XX_util.h:683
bool PDMCC26XX_I2S_stopStream(PDMCC26XX_I2S_Handle handle)
Function for stopping an I2S interface.
uint16_t wclkDiv
Definition: PDMCC26XX_util.h:485
PDMCC26XX_I2S_StreamNotification * currentStream
Definition: PDMCC26XX_util.h:722
uint16_t blockSizeInBytes
Definition: PDMCC26XX_util.h:710
PDMCC26XX_I2S_AudioClockConfig audioClkCfg
Definition: PDMCC26XX_util.h:728
uint8_t ad1NumOfChannels
Definition: PDMCC26XX_util.h:548
Definition: PDMCC26XX_util.h:167
PDMCC26XX_I2S_TransferSize blockSizeInSamples
Definition: PDMCC26XX_util.h:685
SemaphoreP_Struct semStopping
Definition: PDMCC26XX_util.h:727
PDMCC26XX I2S Parameters are used when calling PDMCC26XX_I2S_open().
Definition: PDMCC26XX_util.h:679
uint8_t enableWclkPin
Definition: PDMCC26XX_util.h:554
uint8_t ad0Usage
Definition: PDMCC26XX_util.h:552
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:114
int32_t sampleRate
Definition: PDMCC26XX_util.h:713
uint_least8_t wclkPin
Definition: PDMCC26XX_util.h:455
void * arg
Definition: PDMCC26XX_util.h:627
PDMCC26XX_I2S_Status
Status codes that are set by the I2S driver.
Definition: PDMCC26XX_util.h:138
uint8_t ad1Usage
Definition: PDMCC26XX_util.h:542
PDMCC26XX_I2S Object.
Definition: PDMCC26XX_util.h:705
bool PDMCC26XX_I2S_startStream(PDMCC26XX_I2S_Handle handle)
Function for starting an I2S interface.
Definition: PDMCC26XX_util.h:179
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:142
void * object
Definition: PDMCC26XX_util.h:124
PDMCC26XX_I2S_FreeFxn freeFxn
Definition: PDMCC26XX_util.h:721
PDMCC26XX_I2S Audio Clock configuration.
Definition: PDMCC26XX_util.h:482
uint8_t ad0ChannelMask
Definition: PDMCC26XX_util.h:560
HwiP_Struct hwi
Definition: PDMCC26XX_util.h:725
PowerCC26XX_Resource powerMngrId
Definition: PDMCC26XX_util.h:449
A PDMCC26XX_I2S_StreamNotification data structure is used with PDMCC26XX_I2S_CallbackFxn(). Provides notification about available buffers and potential errors.
Definition: PDMCC26XX_util.h:625
void * bufferIn
Definition: PDMCC26XX_util.h:650
PDMCC26XX_I2S Hardware attributes.
Definition: PDMCC26XX_util.h:442
uint_least8_t mclkPin
Definition: PDMCC26XX_util.h:451
uint8_t ad0NumOfChannels
Definition: PDMCC26XX_util.h:558
The PDMCC26XX_I2S_Config structure contains a set of pointers used to characterize the PDMCC26XX_I2S ...
Definition: PDMCC26XX_util.h:121
uint8_t ad1ChannelMask
Definition: PDMCC26XX_util.h:550
Definition: PDMCC26XX_util.h:151
struct PDMCC26XX_I2S_AudioPinConfig::@3 bitFields
PDMCC26XX_I2S Audio Pin configuration.
Definition: PDMCC26XX_util.h:528
PDMCC26XX_I2S_AudioFormatConfig audioFmtCfg
Definition: PDMCC26XX_util.h:723
uint8_t intNum
Definition: PDMCC26XX_util.h:445
uint8_t intPriority
Definition: PDMCC26XX_util.h:447
union PDMCC26XX_I2S_AudioPinConfig PDMCC26XX_I2S_AudioPinConfig
PDMCC26XX_I2S Audio Pin configuration.
uint32_t PDMCC26XX_I2S_TransferSize
Definition: PDMCC26XX_util.h:416
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:106
PDMCC26XX_I2S_Status status
Definition: PDMCC26XX_util.h:628
uint32_t baseAddr
Definition: PDMCC26XX_util.h:459
void PDMCC26XX_I2S_init(PDMCC26XX_I2S_Handle handle)
I2S CC26XX initialization.
uint8_t enableMclkPin
Definition: PDMCC26XX_util.h:544
PDMCC26XX_I2S_CallbackFxn callbackFxn
Definition: PDMCC26XX_util.h:719