mtk6572 Camera驱动配置(转载)
mtk6572 mtk还没正式发布,我们也开始整了,本博主要是记录一下自己的调试CAMERA的过程。
step1.移植camera的driver到72平台,发现原来的driver在mtk的新平台上有一个结构体参数没有定义,主要是在gc0329yuv.c的getinfo里面要调用,好像是什么CAMERA_ISO_BINNING_INFO_STRUCT,不知道是干什么用的,先移植过去了(这个地方不知道影不影响后面的绿屏,等待mtk的回复)。其他的移植都是按步就班,没什么好说的。然后配置GPIO口和I2C,下载进去不亮,看log,i2c0 send failed。
step2.根据第一不的log,主要查看i2c部分,对照原理图,发现次i2c是由cam_io来供电(1.8v),在kd_camera_hw.c文件中,只有一个函数kdCISpowerOn,发现mtk都用if(默认的camera名称)条件来控制,打开条件,还是不行。看log,i2c ackerr,id还是为0.
step3、这个过程涉及到一个很纠结的问题,就是系统没有读到camera的id,系统就不会出现camera的菜单,本来是很人性化的一个配置,但是对调驱动的来说就很恶心。这对后续的工作带来不便,就是测量camera的每个引脚了,每次都只能在开机的瞬间来测试一下。不过没办法,还是一个个测来排除问题,首先电压,cam_io 1.8v 正常,vcama,vcamd都正常,1.5 ,2.8。vcam_af电压就不管了,对这里没影响。i2c有scl sda引脚都有输出,基本没问题。再者cmmclk,cmpclk都很正常,cmmclk标准正玄波,cmpclk采样方波。
step4、最后只剩下reset脚和power脚了(我开始根本就没有怀疑这两个角的时序问题,因为mtk默认的yuv是调通过的),最后通过调整这两个脚的时序解决问题。
问题 :最后还有3个问题希望看这片文章的高手帮忙解答。
一 、检测不到camera就不出菜单的代码在哪里?
二、时序问题怎么来调试?(我上面解决问题主要是有对照)
三 、绿屏怎么回事?
问题终于得到解决,绿屏是因为后摄的格式设置错误,原来是yuyv,后来改为uyvy就好了。
原来还有一个问题,插上后摄的话,前摄就有线条。后来fae帮忙查出是mclk上面接了个电容,去掉就好了。
CAMERA_ISO_BINNING_INFO_STRUCT这个是72上专门去掉的吧?我看代码里面是#if 0了的
好文档啊,有这么多问题啊,学习一下
好文档啊,有这么多问题啊,学习一下
接着问一个问题,72的摄像头,摄像时是不是不支持全屏的?我们从照相preview切到摄像,就挂掉,报内存申请失败
我们是480x800的 预览全屏的 刚才看了下,切换到摄像,确实会挂掉
有没有解决办法?
目前还在解决中
我们的改好了
GC2035GetResolution这个之前用的是75的,没有设置video的宽高,用89或72的就可以了
pSensorResolution->SensorVideoWidth=GC2035_IMAGE_SENSOR_PV_WIDTH - 2 * IMAGE_SENSOR_START_GRAB_X;
pSensorResolution->SensorVideoHeight=GC2035_IMAGE_SENSOR_PV_HEIGHT - 2 * IMAGE_SENSOR_START_GRAB_Y;
我也改了这个 还是会挂掉 这个在75 77上不会挂掉 真奇怪
小编 72上cam还没什么特别的没?我现在ID都没读到!量信号发现3路电压都正常了,POWER RESET都有!POWER RESET这时序是从89移过来的!
现在还是没读到ID!
有没有人遇到过72平台上 一些上层参数不加载的问题,比如拍照的显示像素的菜单没有加载!
