![]() |
![]() |
Functions | |
| CSL_I2sHandle | I2S_open (I2S_Instance i2sInstNum, I2S_OpMode opMode, I2S_ChanType chType) |
| CSL_Status | I2S_setup (CSL_I2sHandle i2sHandle, I2S_Config *i2sHwConfig) |
| CSL_Status | I2S_close (CSL_I2sHandle i2sHandle) |
| CSL_Status | I2S_read (CSL_I2sHandle i2sHandle, Uint16 *readBuff, Uint16 buffLen) |
| CSL_Status | I2S_write (CSL_I2sHandle i2sHandle, Uint16 *writeBuff, Uint16 buffLen) |
| CSL_Status | I2S_reset (CSL_I2sHandle hI2S) |
| CSL_Status | I2S_transEnable (CSL_I2sHandle i2sHandle, Uint16 enableBit) |
| CSL_Status I2S_close | ( | CSL_I2sHandle | hI2s | ) |
===========================================================================
I2S_close
Description
This function closes the specified handle to I2S.
Arguments
i2sHandle Handle to the I2S
Return Value CSL_Status
Pre Condition
None
Post Condition
None
Modifies
None
Example
CSL_I2sHandle hI2S;
CSL_status status;
status = I2S_close(hI2S);
===========================================================================
References CSL_I2sObj::configured, CSL_I2sObj::hwRegs, I2S_INSTANCE0, I2S_INSTANCE1, I2S_INSTANCE2, I2S_INSTANCE3, I2S_InstanceNum, I2S_INVALID, and CSL_I2sObj::i2sNum.
| CSL_I2sHandle I2S_open | ( | I2S_Instance | i2sInstNum, |
| I2S_OpMode | opMode, | ||
| I2S_ChanType | chType | ||
| ) |
===========================================================================
I2S_open
Description
This function returns the handle to the I2S instance. This handle is passed to all other CSL APIs.
Arguments
i2sInstNum Instance number to open.
opMode Mode of operation (intrrupt/Polling/DMA)
chType Channel Type (Stereo/Mono)
Return Value CSL_I2sHandle
Valid I2S handle will be returned if handler value is not equal to NULL.
Pre Condition
Post Condition
1. The status is returned in the status variable. If status returned is
Modifies
1. CSL_I2sObj I2S object structure
2.
Example
I2S_Instance i2sInstNum;
I2S_OpMode opMode;
I2S_ChanType chType;
...
hI2S = I2S_open(I2S_Instance i2sInstNum,
I2S_OpMode opMode,
I2S_ChanType chType);
...
===========================================================================
References CSL_I2sObj::chType, CSL_I2sObj::configured, CSL_I2sObj::firstRead, CSL_I2sObj::hwRegs, I2S_INSTANCE0, I2S_INSTANCE1, I2S_INSTANCE2, I2S_INSTANCE3, I2S_InstanceNum, I2S_INVALID, CSL_I2sObj::i2sNum, and CSL_I2sObj::opMode.
| CSL_Status I2S_read | ( | CSL_I2sHandle | hI2s, |
| Uint16 * | readBuff, | ||
| Uint16 | buffLen | ||
| ) |
===========================================================================
I2S_read
Description
This function Read data form specified device. This function introduces a delay during the first data receive operation. Data latency is calculated as per the I2S hardware specification. This delay is applicable only to polled mode operation. For interrupt mode this function should be called only after getting the receive interrupt from the I2S.
Arguments
i2sHandle Handle to the I2S
readBuff Pointer to the read buffer.
buffLen Maximum read buffer size.
Return Value CSL_Status
Pre Condition
This function has to call after I2S_open function call.
Post Condition
SPI_close can be call after this function call.
Modifies
None
Example
CSL_I2sHandle hI2S;
Uint16 readBuff[size];
Uint16 buffLen;
CSL_status status;
status = I2S_read(hI2S, &readBuff, buffLen);
===========================================================================
References CSL_I2sObj::chType, CSL_I2S_LATENCY_2, CSL_I2S_LATENCY_3, CSL_I2S_LATENCY_5, CSL_I2S_LATENCY_6, CSL_I2sObj::datapack, DMA_INTERRUPT, DMA_POLLED, CSL_I2sObj::firstRead, CSL_I2sObj::fsDiv, fsError, CSL_I2sObj::hwRegs, I2S_CHAN_STEREO, I2S_DATAPACK_ENABLE, I2S_FSDIV8, I2S_INTERRUPT, I2S_LOOPBACK_ENABLE, I2S_POLLED, I2S_WORDLEN_10, I2S_WORDLEN_12, I2S_WORDLEN_14, I2S_WORDLEN_16, I2S_WORDLEN_18, I2S_WORDLEN_20, I2S_WORDLEN_24, I2S_WORDLEN_32, I2S_WORDLEN_8, CSL_I2sObj::loopBackMode, CSL_I2sObj::opMode, ouError, and CSL_I2sObj::wordLen.
| CSL_Status I2S_reset | ( | CSL_I2sHandle | hI2s | ) |
===========================================================================
I2S_reset
Description
This function Reset control and hardware specific register.
Arguments
i2sHandle Handle to the I2S
Return Value CSL_Status
Pre Condition
This function should call after the I2S_config call.
Post Condition
I2S_close function can be call after this function call.
Modifies
None
Example
CSL_I2sHandle hI2S;
CSL_status status;
status = I2S_reset(hI2S);
===========================================================================
References CSL_I2sObj::hwRegs.
| CSL_Status I2S_setup | ( | CSL_I2sHandle | hI2s, |
| I2S_Config * | i2sHwConfig | ||
| ) |
===========================================================================
I2S_setup
Description
It configures the I2S Controller registers of particular handle as per the values passed in the I2S config structure.
Arguments
i2sHandle Handle to the I2S.
i2sHwConfig Pointer to I2S Config structure.
Return Value CSL_Status
Pre Condition
I2S_open has to call, before calling I2S_setup
Post Condition
None
Modifies
1. I2S registers will be updated as per config parameter
2. CSL_I2sObj Object will be updated to store some info as passed config parameter.
Example
CSL_I2sHandle hI2S;
I2S_Config hwConfig;
Int16 status;
status = I2S_setup(hI2S, &hwConfig);
...
===========================================================================
References CSL_I2sObj::chType, I2S_Config::clkDiv, I2S_Config::clkPol, CSL_I2sObj::configured, I2S_Config::datadelay, I2S_Config::datapack, CSL_I2sObj::datapack, I2S_Config::dataType, I2S_Config::FError, I2S_Config::fsDiv, CSL_I2sObj::fsDiv, I2S_Config::fsPol, CSL_I2sObj::hwRegs, I2S_CHAN_MONO, I2S_SLAVE, I2S_Config::i2sMode, I2S_Config::loopBackMode, CSL_I2sObj::loopBackMode, I2S_Config::OuError, I2S_Config::signext, I2S_Config::wordLen, and CSL_I2sObj::wordLen.
| CSL_Status I2S_transEnable | ( | CSL_I2sHandle | hI2s, |
| Uint16 | enableBit | ||
| ) |
===========================================================================
I2S_transEnable
Description
This function Enable or Disable transmission/receive bit
Arguments
i2sHandle Handle to the I2S
Return Value CSL_Status
Pre Condition
This fuction calls before read/write function to enable transnission
Post Condition
This fuction calls before read/write function to disable transnission
Modifies
None
Example
CSL_I2sHandle hI2S;
Uint16 enableBit
CSL_status status;
status = I2S_transEnable(CSL_I2sHandle i2sHandle,
Uint16 enableBit);
===========================================================================
References CSL_I2sObj::firstRead, and CSL_I2sObj::hwRegs.
| CSL_Status I2S_write | ( | CSL_I2sHandle | hI2s, |
| Uint16 * | writeBuff, | ||
| Uint16 | buffLen | ||
| ) |
===========================================================================
I2S_write
Description
This function Write data to specified device.
Arguments
i2sHandle Handle to the I2S
writeBuff Pointer to the write buffer.
buffLen Maximum read buffer size.
Return Value CSL_Status
Pre Condition
This function has to call after I2S_open function call.
Post Condition
SPI_close can be call after this function call.
Modifies
None
Example
CSL_I2sHandle hI2S;
Uint16 writeBuff[size];
Uint16 buffLen;
CSL_status status;
status = I2S_write(hI2S, &writeBuff, buffLen);
===========================================================================
References CSL_I2sObj::chType, DMA_INTERRUPT, DMA_POLLED, fsError, CSL_I2sObj::hwRegs, I2S_CHAN_STEREO, I2S_INTERRUPT, CSL_I2sObj::opMode, and ouError.
1.7.4