Примерно столько боли каждый раз возникает, когда есть желание поскрещивать какой-нибудь SoC с нестандартным сенсором:
https://habr.com/ru/articles/1080626/
(поставьте, пожалуйста, плюсик, кому не жалко)
Проблемы ровно такие же, как и были 15 лет назад (привет, Виртурилка):
— драйверов сенсора в ванильном ядре нет, только в вендорских
— вендорские драйвера опираются на свои подсистемы (порой, очень далеко отбежавшие от ванильных ядер), причем так, что иногда проще забрать драйвер вместе с подсистемой
— на целевой платформе тоже "своя атмосфера" - как физические ограничения, так и специфические требования со стороны SDK. Copy-paste не работает, очень сильно обработать напильником.
Несмотря на всю стандартизацию и унификацию как по физике, так и по логике, пока еще не получается взять любой произвольный SoC и подружить его с любым произвольным сенсором. С одной стороны, это очень редкое событие, которое оправдывает попитую кровушку (и, вообще, берите уже готовое и не выпендривайтесь), с другой - я еще не видел ни одного SDK под SoC, где все строго в рамках ванильного ядра, а все аппаратные пружины подключаются через традиционные механизмы (будь то mediactl или пользовательские утилиты - без разницы). Может они и есть, но встречается только дичайший костылизм.
https://habr.com/ru/articles/1080626/
(поставьте, пожалуйста, плюсик, кому не жалко)
Проблемы ровно такие же, как и были 15 лет назад (привет, Виртурилка):
— драйверов сенсора в ванильном ядре нет, только в вендорских
— вендорские драйвера опираются на свои подсистемы (порой, очень далеко отбежавшие от ванильных ядер), причем так, что иногда проще забрать драйвер вместе с подсистемой
— на целевой платформе тоже "своя атмосфера" - как физические ограничения, так и специфические требования со стороны SDK. Copy-paste не работает, очень сильно обработать напильником.
Несмотря на всю стандартизацию и унификацию как по физике, так и по логике, пока еще не получается взять любой произвольный SoC и подружить его с любым произвольным сенсором. С одной стороны, это очень редкое событие, которое оправдывает попитую кровушку (и, вообще, берите уже готовое и не выпендривайтесь), с другой - я еще не видел ни одного SDK под SoC, где все строго в рамках ванильного ядра, а все аппаратные пружины подключаются через традиционные механизмы (будь то mediactl или пользовательские утилиты - без разницы). Может они и есть, но встречается только дичайший костылизм.