最近调了一个驱动,是关于双摄像头切换的。
一边是cmos接vpfe,一边是模拟摄像头过tvp5150接vpfe。
在vpfe前面有一个二选一的开关控制摄像头。
调了两种方案。
方案一:
tvp5150走行场分离的ycbcr422模式,cmos也走行场分离的ycbcr422模式。
由于之前cmos的驱动是别人调好的,也做过不少测试,所以我的想法是在不改变cmos模式下工作流程的情况下加进tvp5150.
tvp5150和vpfe联调确实不太好调,不过还好有示波器,行场,时钟很快就都搞定了,数据也对了,然后参照vpfe的文档,对interlaced和seprated两种模式做了调整,最后出来了。
方案二:
tvp5150走BT656模式,行场信号座位头信息和数据信息在一起。cmos走以前做好的行场分离的ycbcr422模式。
这种模式我调的比较顺利,很快搞定。
做动态切换的时候比较麻烦,把整调驱动线顺了一下,不是完全理解,不过找了一个ioctl用了一下,做出了用户空间接口,然后写了配套的动态切换摄像头的驱动程序。
搞定,呵呵。