Other Parts Discussed in Thread: HALCOGEN, RM57L843
Hello TI Team,
We've been working on MIBSPI interface development using TMS570LC4357 device. Even though many things have been understood and developed (using https://www.ti.com/tool/TMDX570LC43HDK), we are facing some challenges.
Query:
We want to use MIBSPI1 of the device transfer 256 bytes of data. We also enabled extended buffer mode using MibSPIEN register. While debugging, we are able to see 00000A01 value in MibSPIEN register, indicating that extended buffer mode has been enabled for MIBSPI1. (Otherwise, this value was 00000501.)
We also modified mibspiSetData() and mibspiGetData() to set data for extended buffers and get data from the extended buffers. The same is shown below.
void mibspiSetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data)
{ ...
uint32 end = (group == 7U) ? (((mibspi->LTGPEND & 0x00007F00U) >> 8U) + 1U) : ((mibspi->TGCTRL[group+1U] >> 8U) & 0xFFU);
...
}
uint32 mibspiGetData(mibspiBASE_t *mibspi, uint32 group, uint16 * data)
{ ...
uint32 end = (group == 7U) ? (((mibspi->LTGPEND & 0x00007F00U) >> 8U) + 1U) : ((mibspi->TGCTRL[group+1U] >> 8U) & 0xFFU);
...
}
However, I'm still not able to use MIBSPI1 in 256 bytes mode. Following is the summary of the implementation for transferring 256 bytes of data using MIBSPI1.
After implementing the workaround you suggested, following is the key configurations in my project:
- MIBSPI1 Buffers:
- MIBSPI1 TG0 buffer: 256
- MIBSPI1 TG1 buffer: 0
- MIBSPI1 TG2 buffer: 0
- MIBSPI1 TG3 buffer: 0
- MIBSPI1 TG4 buffer: 0
- MIBSPI1 TG5 buffer: 0
- MIBSPI1 TG6 buffer: 0
- MIBSPI1 TG7 buffer: 0
- Added this line to MIBSPIINIT() function: mibspiREG1->MIBSPIE = 0xA00;
- Updated value to FF instead of 7F in mibspiSetData() and mibspiGetData().
Can you please suggest the workaround to get this thing working?
Best Regards,
H C Trivedi