Hi,
I'm working with the I2C FIFO operation (without DMA for now), and discovered what I think is a bug in the datasheet. The device I have is the TM4C1294NCPDT on the Connected LaunchPad. The datasheet I'm looking at is dated June 18, 2014 and is what TI currently links to from the MCU product page.
On pages 1350-1351 you'll find the register description for I2CFIFOCTL. The datasheet says that the RX trigger level is defined by bits 18:16 and TX by 2:0. Thus, the effective values one can write to those bits range from 0 to 7.
When I look at the current version of TivaWare (2.1.0.12573, past it's 1st birthday, by the way), in driverlib/i2c.h on lines 246-263 I can see the definitions for the RX/TX trigger levels. What baffles me are the _RX/TX_TRIG_8 options, as they occupy bits 19 and 3, respectively.
Now, given the general quality of the current TivaWare, I thought it's just another bug. But I decided to look further - hooked up a logic analyzer and set up an interrupt handler for I2C_MASTER_INT_RX_FIFO_REQ. It appears that at least _RX_TRIG_8 does indeed work as expected - didn't test any of the TX triggers. Also, _RX_NO_TRIG seems to equal _RX_TRIG_1.
For what it's worth, I tried all _RX_TRIG_n/_RX_NO_TRIG options and with the exception of _RX_NO_TRIG, they function as one would expect. And if it makes any difference, I used GPIO_PN5_I2C2SCL + GPIO_PN4_I2C2SDA and the slave device was an Atmel 24C256 EEPROM.
So, are bits 19 and 3 in I2CFIFOCTL indeed operational contrary to what the datasheet says? The author of the TivaWare I2C driver seems to know their true function... The TM4C129 errata doesn't list any I2C related issues.