Jury093Так я ж говорю, все делалось на штатном TI-ном стартер-ките. Поэтому:
1) питание и резисторы там есть и соответствуют параметрам FT5306
2) скорость шины пробовали и 400 и 100 кГц, но в обоих случаях не успевает.
3) Поменять шины i2c мы не можем, у нас уже к этой штатный разъемчик для экрана припаян

Да и смысла нет
4) Осциллографом смотрели времянки, никаких серьезных косяков в сигналах там нет, даже пуллапы вытягивают сигналы до 3В, прежде чем они снова проседают.
Душить проблему скоростью не хочется, так как тач не мышка, у него на порядок больший объем регистров с данными, особенно при мультитаче.
Естественно, что не хотелось бы увеличивать загрузку шины, и ограничиться точечным воздействием на код.
Даже более конкретно могу спросить.
Вот сейчас, насколько я вижу, чтение регистров в драйвере FT5x06 делается вызовом i2c_transfer, состоящем из двух сообщений. Одно на запись, второе на чтение. Что если я разобью один i2c_transfer на i2c_master_send и i2c_master_recv, поставлю задержку между ними? По идее должно получиться именно оно, с той лишь разницей, что это будет не
S Addr|W REG S Addr|R Data P
а
S Addr|W REG P ... S Addr|R Data P
насколько чревато то, что будет один лишний STOP? С точки зрения протокола I2C?