SNIU028D February 2016 – September 2020 UCD3138 , UCD3138064 , UCD3138064A , UCD3138128 , UCD3138A , UCD3138A64
It hasn’t been tested exhaustively for robustness, but it may be possible to use early writes to TXBUF to avoid a clock stretch. The standard PMBus firmware actually writes to TXBUFF early on a read. It writes as soon as the interface receives the repeated start signal. This gives an entire byte delay for the receipt of the slave address with the read bit set for the firmware to respond.
This approach can also be used in an I2C case where the command is first written with a write message, and then the read is done with a simple read address. It is possible to write to the TXBUF register when the command is written, then the read will get the values that were written.
This method doesn’t help, though, with messages that use more than one RXBUF or TXBUF full. In those cases, it is necessary to detect the data request or data ready, and deal with the RXBUF or TXBUF in a half clock cycle. So longer messages will definitely require clock stretching at frequencies over 100 KHz.