Part Number: TMS320C6678
Tool/software: TI-RTOS
Dear,
I have two I2C devices connected to C6678, Observed that I2C busy bit is set before starting the transaction itself.
Observed that after removing I2C from out of reset, busy bit is set.
We are configuring the I2C controller in the following way,
/* Set I2C in reset */
I2CR->ICMDR &= (~CSL_I2C_ICMDR_IRS_MASK);
RCI_delaycycles(100);
/* Set Own Address */
I2CR->ICOAR = I2C_OWN_ADDR;
/*
* Set Default I2C High and Low Clock Hold
*/
I2CR->ICPSC = I2C_PRESCALER;
I2CR->ICCLKL = I2C_CLK_LOW;
I2CR->ICCLKH = I2C_CLK_HIGH;
/*
* Enable the Xmt, Master Mode
*/
I2CR->ICMDR = ( CSL_I2C_ICMDR_MST_MASK |
CSL_I2C_ICMDR_TRX_MASK |
CSL_I2C_ICMDR_FREE_MASK );
/*
* Take I2C Out of Reset
*/
I2CR->ICMDR |= CSL_I2C_ICMDR_IRS_MASK;
RCI_delaycycles(100);
Could you please share me the reasons for the busy bit to be set.
NOTE: We removed both devices from the I2C chain,
Thanks you,
Mounika