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> 64 #ifdef ENABLE_LEGACY_TERMINOLOGY 83 #define PDMCC26XX_I2S_MIN_ALLOWED_QUEUE_SIZE 3 89 #define I2S_BLOCK_OVERHEAD_IN_BYTES 16 91 #define I2S_BLOCK_OVERHEAD_IN_BYTES 12 95 #define PDMCC26XX_I2S_CMD_SUCCESS 0 97 #define PDMCC26XX_I2S_CMD_UNDEFINED -1 99 #define PDMCC26XX_I2S_CMD_NO_SUCCESS -2 102 #define PDMCC26XX_I2S_GENERIC_DISABLED 0 104 #define PDMCC26XX_I2S_GENERIC_ENABLED 1 111 typedef void *(*PDMCC26XX_I2S_MallocFxn)(
size_t memSize);
196 #define PDMCC26XX_I2S_DEFAULT_SAMPLE_STAMP_MOD 0x0000FFFF 211 #define PDMCC26XX_I2S_WordClockPhase_Single 0 215 #define PDMCC26XX_I2S_WordClockPhase_Dual 1 219 #define PDMCC26XX_I2S_WordClockPhase_UserDefined 2 229 #define PDMCC26XX_I2S_SampleEdge_Negative 0 233 #define PDMCC26XX_I2S_SampleEdge_Postive 1 243 #define PDMCC26XX_I2S_WordClockSource_Ext 1 247 #define PDMCC26XX_I2S_WordClockSource_Int 2 257 #define PDMCC26XX_I2S_BitClockSource_Ext 0 261 #define PDMCC26XX_I2S_BitClockSource_Int 1 271 #define PDMCC26XX_I2S_ClockSource_Normal 0 275 #define PDMCC26XX_I2S_ClockSource_Inverted 1 286 #define PDMCC26XX_I2S_ADUsageDisabled 0 290 #define PDMCC26XX_I2S_ADUsageInput 1 294 #define PDMCC26XX_I2S_ADUsageOutput 2 314 #define PDMCC26XX_I2S_CHAN0_ACT 0x00000001 316 #define PDMCC26XX_I2S_CHAN1_ACT 0x00000002 318 #define PDMCC26XX_I2S_CHAN2_ACT 0x00000004 320 #define PDMCC26XX_I2S_CHAN3_ACT 0x00000008 322 #define PDMCC26XX_I2S_CHAN4_ACT 0x00000010 324 #define PDMCC26XX_I2S_CHAN5_ACT 0x00000020 326 #define PDMCC26XX_I2S_CHAN6_ACT 0x00000040 328 #define PDMCC26XX_I2S_CHAN7_ACT 0x00000080 330 #define PDMCC26XX_I2S_MONO_MODE 0x00000001 332 #define PDMCC26XX_I2S_STEREO_MODE 0x00000003 334 #define PDMCC26XX_I2S_DISABLED_MODE 0x00000000 336 #define PDMCC26XX_I2S_CHAN_CFG_MASK 0x000000FF 347 #define PDMCC26XX_I2S_WordLengthMin 8 349 #define PDMCC26XX_I2S_WordLength16 16 351 #define PDMCC26XX_I2S_WordLengthMax 24 361 #define PDMCC26XX_I2S_SinglePhase 0 363 #define PDMCC26XX_I2S_DualPhase 1 374 #define PDMCC26XX_I2S_NegativeEdge 0 376 #define PDMCC26XX_I2S_PositiveEdge 1 390 #define PDMCC26XX_I2S_MemLen16bit 0 392 #define PDMCC26XX_I2S_MemLen24bit 1 412 #define PDMCC26XX_I2S_FormatLJF 0 414 #define PDMCC26XX_I2S_FormatI2SandDSP 1 416 #define PDMCC26XX_I2S_FormatRJFmin 2 418 #define PDMCC26XX_I2S_FormatRJFmax 255 494 uint16_t sampleOnPositiveEdge:1;
497 uint16_t wclkPhase:2;
499 uint16_t wclkInverted:1;
501 uint16_t wclkSource:2;
507 uint16_t bclkSource:1;
571 #define PDMCC26XX_I2S_DIR_CHA_M (I2S_LINE_MASK | I2S_CHAN_CFG_MASK) 592 uint8_t wordLength:5;
596 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:458
ADC_Params params
Definition: Driver_Init.h:11
SemaphoreP_Struct blockComplete
Definition: PDMCC26XX_util.h:731
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:686
PDMCC26XX_I2S_Status status
Definition: PDMCC26XX_util.h:657
PDMCC26XX_I2S_Mode
Definitions for various PDMCC26XX_I2S modes of operation.
Definition: PDMCC26XX_util.h:182
PDMCC26XX_I2S_TransferSize blockSizeInSamples
Definition: PDMCC26XX_util.h:720
uint_least8_t ad0Pin
Definition: PDMCC26XX_util.h:462
Definition: PDMCC26XX_util.h:148
Definition: PDMCC26XX_util.h:163
void * bufferHandleIn
Definition: PDMCC26XX_util.h:669
PDMCC26XX_I2S_MallocFxn mallocFxn
Definition: PDMCC26XX_util.h:725
PDMCC26XX_I2S_StreamNotification * currentStream
Definition: PDMCC26XX_util.h:701
Power manager interface for CC26XX/CC13XX.
void const * hwAttrs
Definition: PDMCC26XX_util.h:132
uint16_t ad0
Definition: PDMCC26XX_util.h:541
PDMCC26XX_I2S_AudioPinConfig audioPinCfg
Definition: PDMCC26XX_util.h:729
Definition: PDMCC26XX_util.h:622
uint8_t enableBclkPin
Definition: PDMCC26XX_util.h:561
uint32_t requestTimeout
Definition: PDMCC26XX_util.h:717
PDMCC26XX_I2S_RequestMode requestMode
Definition: PDMCC26XX_util.h:716
Definition: PDMCC26XX_util.h:616
PDMCC26XX_I2S_FreeFxn freeFxn
Definition: PDMCC26XX_util.h:700
uint8_t reserved
Definition: PDMCC26XX_util.h:551
PDMCC26XX_I2S_MallocFxn mallocFxn
Definition: PDMCC26XX_util.h:699
struct PDMCC26XX_I2S_AudioPinConfig::@2 driverLibParams
A PDMCC26XX_I2S_BufferRequest data structure is used with PDMCC26XX_I2S_requestBuffer().
Definition: PDMCC26XX_util.h:653
Definition: PDMCC26XX_util.h:151
PDMCC26XX_I2S_RequestMode requestMode
Definition: PDMCC26XX_util.h:689
Definition: PDMCC26XX_util.h:146
uint16_t ad1
Definition: PDMCC26XX_util.h:539
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:678
Definition: PDMCC26XX_util.h:145
Definition: PDMCC26XX_util.h:166
Definition: PDMCC26XX_util.h:185
PDMCC26XX_I2S_CallbackFxn callbackFxn
Definition: PDMCC26XX_util.h:697
A PDMCC26XX_I2S_BufferRelease data structure is used with PDMCC26XX_I2S_releaseBuffer().
Definition: PDMCC26XX_util.h:667
void * bufferHandleIn
Definition: PDMCC26XX_util.h:656
Definition: PDMCC26XX_util.h:159
bool isOpen
Definition: PDMCC26XX_util.h:712
PDMCC26XX_I2S_Config * PDMCC26XX_I2S_Handle
A handle that is returned from a PDMCC26XX_I2S_open() call.
Definition: PDMCC26XX_util.h:138
uint8_t blockCount
Definition: PDMCC26XX_util.h:713
PDMCC26XX_I2S_RequestMode
PDMCC26XX_I2S Object.
Definition: PDMCC26XX_util.h:610
uint32_t requestTimeout
Definition: PDMCC26XX_util.h:688
bool PDMCC26XX_I2S_stopStream(PDMCC26XX_I2S_Handle handle)
Function for stopping an I2S interface.
uint16_t wclkDiv
Definition: PDMCC26XX_util.h:490
PDMCC26XX_I2S_StreamNotification * currentStream
Definition: PDMCC26XX_util.h:727
uint16_t blockSizeInBytes
Definition: PDMCC26XX_util.h:715
PDMCC26XX_I2S_AudioClockConfig audioClkCfg
Definition: PDMCC26XX_util.h:733
uint8_t ad1NumOfChannels
Definition: PDMCC26XX_util.h:553
Definition: PDMCC26XX_util.h:172
PDMCC26XX_I2S_TransferSize blockSizeInSamples
Definition: PDMCC26XX_util.h:690
SemaphoreP_Struct semStopping
Definition: PDMCC26XX_util.h:732
PDMCC26XX I2S Parameters are used when calling PDMCC26XX_I2S_open().
Definition: PDMCC26XX_util.h:684
uint8_t enableWclkPin
Definition: PDMCC26XX_util.h:559
uint8_t ad0Usage
Definition: PDMCC26XX_util.h:557
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:119
int32_t sampleRate
Definition: PDMCC26XX_util.h:718
uint_least8_t wclkPin
Definition: PDMCC26XX_util.h:460
void * arg
Definition: PDMCC26XX_util.h:632
PDMCC26XX_I2S_Status
Status codes that are set by the I2S driver.
Definition: PDMCC26XX_util.h:143
uint8_t ad1Usage
Definition: PDMCC26XX_util.h:547
PDMCC26XX_I2S Object.
Definition: PDMCC26XX_util.h:710
bool PDMCC26XX_I2S_startStream(PDMCC26XX_I2S_Handle handle)
Function for starting an I2S interface.
Definition: PDMCC26XX_util.h:184
void PDMCC26XX_I2S_close(PDMCC26XX_I2S_Handle handle)
Function to close a given CC26XX I2S peripheral specified by the I2S handle.
uint_least8_t cclkPin
Definition: PDMCC26XX_util.h:456
Definition: PDMCC26XX_util.h:147
void * object
Definition: PDMCC26XX_util.h:129
PDMCC26XX_I2S_FreeFxn freeFxn
Definition: PDMCC26XX_util.h:726
PDMCC26XX_I2S Audio Clock configuration.
Definition: PDMCC26XX_util.h:487
uint8_t ad0ChannelMask
Definition: PDMCC26XX_util.h:565
HwiP_Struct hwi
Definition: PDMCC26XX_util.h:730
PowerCC26XX_Resource powerMngrId
Definition: PDMCC26XX_util.h:454
A PDMCC26XX_I2S_StreamNotification data structure is used with PDMCC26XX_I2S_CallbackFxn(). Provides notification about available buffers and potential errors.
Definition: PDMCC26XX_util.h:630
void * bufferIn
Definition: PDMCC26XX_util.h:655
PDMCC26XX_I2S Hardware attributes.
Definition: PDMCC26XX_util.h:447
uint8_t enableCclkPin
Definition: PDMCC26XX_util.h:549
uint8_t ad0NumOfChannels
Definition: PDMCC26XX_util.h:563
The PDMCC26XX_I2S_Config structure contains a set of pointers used to characterize the PDMCC26XX_I2S ...
Definition: PDMCC26XX_util.h:126
uint8_t ad1ChannelMask
Definition: PDMCC26XX_util.h:555
Definition: PDMCC26XX_util.h:156
struct PDMCC26XX_I2S_AudioPinConfig::@3 bitFields
PDMCC26XX_I2S Audio Pin configuration.
Definition: PDMCC26XX_util.h:533
PDMCC26XX_I2S_AudioFormatConfig audioFmtCfg
Definition: PDMCC26XX_util.h:728
uint8_t intNum
Definition: PDMCC26XX_util.h:450
uint8_t intPriority
Definition: PDMCC26XX_util.h:452
union PDMCC26XX_I2S_AudioPinConfig PDMCC26XX_I2S_AudioPinConfig
PDMCC26XX_I2S Audio Pin configuration.
uint32_t PDMCC26XX_I2S_TransferSize
Definition: PDMCC26XX_util.h:421
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:111
PDMCC26XX_I2S_Status status
Definition: PDMCC26XX_util.h:633
uint32_t baseAddr
Definition: PDMCC26XX_util.h:464
Provide a translation layer for legacy terminology.
void PDMCC26XX_I2S_init(PDMCC26XX_I2S_Handle handle)
I2S CC26XX initialization.
PDMCC26XX_I2S_CallbackFxn callbackFxn
Definition: PDMCC26XX_util.h:724