Clock Stretching Hardware

Clock stretching allows a client device to hold the clock line, preventing further bus communication. This allows time for the client device, which may be operating at a slower speed than the host, to process data. The client device can hold the clock line low until it is ready to continue communications.

Clock stretching in the stand-alone I2C module can be enabled or disabled via the Clock Stretching Disable (CSD) bit. Clock stretching can be performed under several conditions:

In addition to the Client mode clock stretching feature, stand-alone hardware may also stretch the clock during certain conditions in Host mode as indicated by the Host Data Request (MDR) bit.