Part Number: AM13E23019
While working with I2C peripheral using driverlib module from am13e2x SDK version 01.00.00.EA2, we had some findings about the following:
- DL_I2CC_DMA_INTERRUPT_TXFIFO_TRIGGER
This definition mapped to non-existent UNICOMMI2CC_DMA_TRIG1_IMASK_TXTRG_SET. It seems that it should be UNICOMMI2CC_DMA_TRIG0_IMASK_TXTRG_SET. - DL_I2CC_enableDMAEvent
This function accepts DL_I2CC_EVENT_ROUTE and DL_I2CC_DMA_INTERRUPT, which we found hard to untangle.
This isn't a bug or a problem for us, but rather the feedback that we spent some time connecting all the ends:
In the SDK, routes are enumerated as 1 and 2 and fixed to DMA_TRIG1 and DMA_TRIG0 accordingly, while in the TRM, they are not explicitly enumerated. At the same time, each DMA_TRIGx has its own IMASK register (also not explicitly tightened in the TRM description) that serves a specific purpose -- TX or RX irq.
For the SW developers, it would be nice to, perhaps, improve naming (e.g. route_tx, instead of route_rx) or relationship descriptions in the TRM and/or have some mapping in the driverlib for easier work - DL_I2CC_getRXFIFOCounter/DL_I2CC_getTXFIFOCounter
1. These functions are supposed to return the number of bytes that can be read from FIFO, but returns value of SR_BCNT, which seems to serve a different purpose
2. In DL_I2CC_getRXFIFOCounter, the value is not shifted by UNICOMMI2CC_SR_BCNT_OFS
BR,
Oleksandr



