Qualcomm Camera 开发遇到的错误及解决方法

1. Camera module probe error:    (2011.6.28)

I2C slave address:0x48 not connected.

I2C read transfer failed.

Root cause: 

I2C slave address error. The default sub camera i2c slave address for i2c read/write is 0x48, while the right address for Aptina MT9V115 is 0x3D (i.e, 0x7A >> 1).


Reference from Aptina MT9V115 specification:

 The twolines used for CCI communication are the serial data line (SDA) and the serialclock line (SCL). The CCI bus is only used for control signals. No image datais transferred through the CCI bus.

The CCIbus is designed to manage fast (400 kHz) CCI communication.

 CCI address

The CCI slave address is 0111101, i.e., themodule is addressed by 0111101X, where X = 0 when writing to the camera and X =1 when reading from it. The read and write addresses are given by Table below:

Read address

7Bh

Write address

7Ah

 

2. After chat camera sensor is probed successfully, camera application can not start up. (2011.7.4)

Root cause: 

sensor module ID was read out from sensor during probe, and saved in user space for finding related .dat file when starting camera app. The code related with reading sensor module ID is skipped for new sensor MT9V115(since I'm reusing code from MT9V114, no code exists regarding to reading sensor module). Null is passed to and saved in user space, which leads to error when camera app starting up. 

Solution:

Fill sensor module ID, and pass the right module name to user space. 


 3. When start camera, exception occoured and force close.  (2011.7.5)

Root cause:

Sensor initilization sequence is not correct. MT9V114 sequence does not work for MT9V115, since 115 supports MIPI and parrallel for data output, while 114 supports only signal mode. Register settings are quite different especially regarding to MIPI and PLL clock settings.

Solution:

Contact vendor VFE to get correct sequence.


4. Initial sequence is correct, but sensor register can be writen/read, only if sensor reset/soft standby is performed.

Root cause:

The hardware STANDBY pin to sensor is enabled by mistake when sensor is powered on. 

Sensor STANDBY pin is reused from previous CAM_RESET function pin, which is active low and has to keep high during normal operation. While HIGH in this pin leads to sensor HW STANDBY, then sensor can not be software reset or wake up.

Solution: Set the pin to LOW when sensor on, as below.

/* CHAT_CAM_RST_N release(GPIO25 = HIGH) */
ret = camera_gpio_access(
g_camera_ctrl->sensordata->sub_sensor_reset, GPIO_LO);


5. Sensor can be initialized for YUV, MIPI mode. But got VFE error below when receiving first frame:

<3>[ 145.969467] irq        errorIrq

<3>[ 145.969660] msm_control: done rc = 0

<3>[ 145.975270] vfe31_irq: camif errors

<3>[ 145.978810] camifStatus  = 0x1e00500

Root cause:

CSI settings not configured during sensor initilization.

Solution: 

Add function below after sensor reset:     mt9v115_set_csi_setting();


6. VFE error disappears, but frame data still can't be received, error below: (2011.8.15)

E [HCF] VFE irq violation.

Rootcause: mt9v115 output bayer data 648*488, but QCT camera driver requires clipping in VFE before calculating zoom. The clipping size is:

cut 6 pixels off at begin/end of each line, 3 lines off top/bottom of each frame. This way, size becomes 636*482. Width is shorter than required 640. 

This will leads to wrong value when calculating VFE_Camif_firstPixel, VFE_Camif_lastPixel, etc, which leads to wrong VFE & camif settings.

Solution: 

1. Reduce preview size to narrower than VGA, such as QVGA(480*320), preview works fine.

2. Let VFE clipping cut less pixels each line, such as 3 instead of 6, preview also works, but in viewfinder, there will be green lines at right or left side.

Recommend, solution 1.


7. On new VSB board, if old and new chat camera are mounted at the same time, old camera will not work.  (2011.7.28)

Root Cause: Standby pin for MT9V115 is sharing the same gpio as RESET pin of MT9M114(old chat sensor). In kernel driver, this pin is set to HIGH after sensor on, to make MT9M114 in normal operation mode. But HIGH forces MT9V115 enter HW Standby mode, then by default MIPI data/clk lines are set to LOW. This affects the MIPI bus and as a result MIPI signal is interfered and goes wrong.

Solution: Remove new chat camera from board. Notes: try not to connect both chat camera at same time.


8. MT9V115 输出VGA bayer,由于高通驱动中需要裁掉一些pixel/line(6 pixels/line,3 line/frame),以使ISP做demosaic,鉴于硬件限制,无法做到VGA preview。所以只好使sensor输出YUV。但目前YUV的问题是,config process block在什么地方,导致_msm_control中等待config status超时。(2011.8.15)


9. MT9V115 输出YUV,每次拍照后显示都会freeze在那。(2011.9.5)

Root Cause: 所用的MT9V115为SoC(System-On-A-Chip) sensor,内部自带有自己的3A,由于QCT baseband侧的ISP3A没有disable掉,导致冲突。

Solution: 关掉ISP3A。



转自:http://blog.csdn.net/laviolette


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值