我的bsp版本是L3.0.35_4.1.0_130816_source,摄像头这一块是ADV7181c+IMX6Q,
我按adv7181官网给的参考寄存器配置:输入是RGB,输出时8位的ycbcr
42 03 0C ; Disable TOD
42 05 02 ; Prim_Mode =010b for automatic graphics mode
42 06 0C ; VID_STD=00111b for automatic graphics mode
42 1D 40 ; Disable TRI_LLC
42 3C A8 ; SOG Sync level for atenuated sync, PLL Qpump to default
42 37 00 ; PCLK Polarity
42 47 0A ; Enable Automatic PLL_Qpump and VCO Range
42 68 F2 ; Auto CSC, RGB Out
42 6B F2 ; Setup CPOP_SEL & DE Enable
42 7B 1D ; Turn off EAV and SAV codes
42 7C 00 ; HS/VS Positive
42 7E 03 ; HS Adjust
42 7F 88 ; VS Adjust
42 F4 3F ; Max Drive Strength
42 87 E8 ; Enable Manual PLL Divider Ratio 0x870 = 2160
42 88 70 ; Set PLL Divider Ratio
42 8C 07 ; HS adjust
42 8D 5A ; HS adjust
42 8E 87 ; VBI Adjust
42 8F 01 ; Set Free Run Line Length 0x17E = 382
42 90 7E ; Set Free Run Line Length
42 AB 4E ; Set Line Count Max 0x4E2 = 1250
42 AC 20 ; Set Line Count Max
42 B5 08 ; Deglitch Filter adjust
42 91 10 ; Progressive
我在网上下载了一个v4l2_capture应用程序试图捕获一帧的数据然后保存到一个文件里,按上面的配置的话,我的应用到ioctl(,DQBUF,)的时候就过不去了,报超时的错误。但是我之前默认寄存器配置的0x05地址配成01的话,应用程序是可以通过的,只是显示的图片文件用yuvtool工具打开不对。 |