mibin, дошли руки до выбора канала стандартным методом ioctl VIDIOC_S_INPUT. На почту выслал 2 патча (на ядро 2.6.35, взятое отсюда), которые добавляют обработку методов VIDIOC_S_INPUT и VIDIOC_G_INPUT. VIDIOC_ENUMINPUT не стал реализовывать, его обрабатывает mxc_v4l2_capture.c.
После того как пропатчите ядро будет возможность выбрать вход ADV7180 с помощью битов input[7..4], а биты input[3..0] по прежнему отвечают за выбор пути картинки: 0 - через IC, 1 - напрямую в память.
Так для пути 1 будут следующие номера каналов ADV7180:
AIN1 - input=0x01
AIN2 - input=0x11
AIN3 - input=0x21
и т.д.
У меня сложилось впечатление (из другой вашей ветки), что вы хотите через входной мультиплексор ADV7180 реализовать работу одновременно с несколькими камерами. Если это так, то стоит понимать, что помимо деления 25fps на N переключаемых камер, будут возникать дополнительные задержки из-за несинхронности кадров от камер. В самом худшем случае возможна задержка между двумя "соседними" камерами в целый кадр, в итоге общая производитеьльность может упасть до 25fps/N/2.
Кроме того придется делать переключение камеры по прерыванию о готовности кадра в CSI, дабы еще больше не усугубить ситуацию переключением канала посреди кадра.
Приемлемость такого подхода, конечно, зависит от решаемой задачи. Например, у меня китайский тюнер мостит плитку из вяло меняющихся каналов, что позволяет выбрать канал для просмотра. Если вы хотите сделать что-то подобное с камерами, то этот подход подойдет, а вот полноценную видеозапись по всем камерам, безусловно, не сделаешь.
В любом случае, интересно, что из всего этого выйдет.
Пожалуй, все гораздо хуже со скоростью переключения каналов...
Наткнулся на статью на сайте Analog Devices - http://ez.analog.com/docs/DOC-2643. Там приложен скрипт для "быстрого" переключения каналов - в пределах 250мс. Пишут, что без этого скрипта задержки могут доходить до 1 секунды и более - http://ez.analog.com/thread/16769.