В общем, все более-менее получилось. Как причешу, сделаю пуш
коммита. Для записи DMA как бы есть, но не больше 255 символов (не на чем проверить просто). Да и обычно это не нужно, чаще требуется лишь 1-2 байта записать, а вот читать - очень требуется. У того же MLX90640 нужно около 1860 байт "за один присест" считывать!
Вот затык с чтением "неправильного" первого символа при использовании DMA нормальным способом решить не получилось, так костыль и остался.
Понемногу удаляю отладочные сообщения.
Сейчас увидел, что на скорости 1.9МГц очень большая пауза (аж 7мкс!) между отправкой адреса регистра и началом считывания данных. Ищу, где косяк. После отправки идентификатора устройства тоже вылезает пауза, около 0.8мкс, но это смахивает на норму (хоть в табличке по таймингам из мануала цифры меньше).