У меня совершенно случайно получилось портировать драйвер для invensense'овский чипов (MPU6050 и новее) с андроида на ядро 3.9
Оно завелось как как драйвер IIO, со всеми файлами-функциями в /sysfs
Осталось только научить драйвер использовать нужный пин в качестве источника прерыванийи можно будет ждать данные с чипа poll'ом. Красота
В гуглогруппах есть эпичный тред о том, как никому не удалось завести ядрёный драйвер для MPU6050 на БиглБорде
https://groups.google.com/forum/#!topic ... qqecmOjpTUПохоже, текущий ядрёный драйвер для MPU6050 вообще поломан полностью. Поднять его не получилось.
Оказалось, что проще портировать драйвер с андроида. Он там новее и поддерживает больше железок.
Есть подозрение, что этот драйвер есть в дереве ядра linux-next.
Если кому интересно посмотреть, код лежит на гитхабе
https://github.com/eagafonov/v2r-linux- ... nsense-5.1UPD:
Я захардкодил номер IRQ, завёл демо-приложение и о$@#нел - на частоте выдачи 100Hz демка жрёт 2% CPU и ещё 6% жрёт ядрёный обработчик прерываний. Это против 25-40% CPU при опросе датчика через /dev/i2c, при этом получалось опрашивать с частотой 60-70Hz.
Я в ожидаемом шоке, завтра постараюсь дополировать драйвер и демку.