Цитата(Ya_Mike @ Oct 17 2011, 15:51)

Ограничение чисто программное - ядро 2.6.32 не поддерживает "блочный" режим (особенность именно для данной платы); железо - плата blueshark с OMAP 3530.
Вроде бы нашёл решение - использование транзакции типа I2C_SMBUS_I2C_BLOCK_BROKEN (из i2c.h). По крайней в этом режиме считываются 4-байтовые значения и не происходит крэш. Правда, на счёт полной корректности пока не уверен... Кто-нибудь может подтвердить правильность такого подхода?
Исправил: уточнил про ядро.
Есть еще I2C_SMBUS_I2C_BLOCK_DATA. Погуглил, похоже это именно то, что мне надо, к тому же работает, как надо. Спасибо за наводящие вопросы и подсказки, сорри за потраченное время. Тему можно закрывать.
Цитата(GDI @ Oct 17 2011, 16:01)

Если ограничение чисто программное, то лучшим решением будет "допилить" драйвер, чтобы он поддерживал требуемый режим на данной плате. Как вариант, поискать в более поздних ядрах, может там это уже реализовано и , либо перейти на другое ядро, либо попытаться импортировать изменения в текущее.
Да, хотел уже братьс за драйвер, но никак не мог поверить, что такая простая вещь, как I2C не работает. Спасибо за советы!
Сообщение отредактировал Ya_Mike - Oct 17 2011, 12:10