Pull to refresh
4K+
2
Александр@SashaTur

Embedded

1
Rating
2
Subscribers
Send message

Чужой сенсор на чужом SoC: что не работает, когда «общий API» общий не до конца

Level of difficultyMedium
Reading time17 min
Reach and readers4.6K

Подключаем модуль камеры Raspberry Pi (Sony IMX708) к камерному SoC Rockchip RV1106. Делаем это в рамках разработки носимой камеры в ITSupportMe. Готового драйвера для IMX708 нет ни в дереве Rockchip, ни в мейнлайне — он живет только в форке Raspberry Pi под другое ядро и другую архитектуру видеотракта.

Формально subdev-API ядра единый: переноси код и пользуйся. Но на практике общего между двумя вендорскими деревьями осталось ровно столько, сколько каждый разработчик сохранил в своем форке. Где именно разошлись пути Rockchip и Raspberry Pi, пришлось выяснять в процессе отладки.

Во-первых, вызов STREAMON намертво падал из-за одного слова, которое в двух кодовых базах отвечало за противоположные вещи. Во-вторых, строка embedded-данных для работы фазового автофокуса (PDAF) оказалась высотой ровно в четыре линии по причине, которую не описывает ни один даташит. В-третьих, нашлось четвертое место в конфигурации, где обязательно нужно прописать новый сенсор, но об этом нет ни слова ни в одном руководстве Rockchip.

Разбираем по порядку, как решались эти проблемы, и как в итоге заставить железо работать вместе.

Читать далее

Information

Rating
2,023-rd
Location
Беларусь
Registered
Activity