El manual I2C de NXP permite el estiramiento del reloj (manteniendo SCL bajo) por dispositivos esclavos para que el maestro espere a que procesen los datos, las interrupciones y demás. Todo esto está bien y bien, aunque no tener tiempo de espera parece cuestionable.
Ahora, me pregunto si un controlador maestro puede usar el mismo método, por ejemplo, cuando se espera que el procesador host proporcione / recopile datos. Por simplicidad, solo considero una configuración maestra única, aunque no debería importar.
Editar: En aras de la claridad, me preocupan los casos en los que durante una transferencia de varios bytes, el procesador host no puede proporcionar / recopilar datos a / desde el controlador maestro. No es factible emitir una PARADA y, posiblemente, restablecer la máquina de estado del esclavo (contadores de incremento automático, registros internos de 32 bits, etc.).