3. .default_width = 640, 4. .default_height = 480,
5. .pixelformat = V4L2_PIX_FMT_UYVY, // .freq = 24000000, 6. .is_mipi = 0, 7. }; 8.
9. static struct i2c_board_info GT2005_i2c_info = { 10. I2C_BOARD_INFO(\, 0x78 >> 1), //1、IIC地址 11. .platform_data = >2005_plat, 12. }; 13.
14. static struct s3c_platform_camera GT2005 = { 15. #ifdef CAM_ITU_CH_A
16. .id = CAMERA_PAR_A, 17. #else
18. .id = CAMERA_PAR_B, 19. #endif
20. .type = CAM_TYPE_ITU, //2、数据接口选择(ITU\\MIPI等) 21. .fmt = ITU_601_YCBCR422_8BIT,
22. .order422 = CAM_ORDER422_8BIT_CBYCRY, //3、图像数据格式 23.
24. .i2c_busnum = 1,
25. .info = >2005_i2c_info,
26. .pixelformat = V4L2_PIX_FMT_UYVY,
27. .srclk_name = \, //4、这部分关系到时钟 28. .clk_name = \,
29. .clk_rate = 24000000, /* 24MHz */ 30. .line_length = 640, /* 640*480 */ 31. /* default resol for preview kind of thing */ 32. .width = 640, 33. .height = 480, 34. .window = { 35. .left = 16, 36. .top = 0,
37. .width = (640 - 16), 38. .height = 480, 39. }, 40.
41. /* Polarity */ //5、信号的极
性, .inv_pclk = 0, 42. .inv_vsync = 1, 43. .inv_href = 0, 44. .inv_hsync = 1, 45.
46. .initialized = 0,
47. .cam_power=set_cam2005_main_power 48. }; 49. #endif
注意下面几个参数: (1)、IIC地址
(2)、数据接口选择(ITU\\MIPI等),这几个数据接口我们在前面提到过; (3)、图像数据格式,这就是我们前面提到的YVU\\UVY之类不同的数据顺序; (4)、这部分关系到时钟;
(5)、输出信号的极性,就是我们PCLK、VSYNC、HSVNC这些信号的极性,不正确时会没有图像之类现象,这个也要注意了。
完成这一步确认IIC通信是否正常,如下图所抓到波形:
3、完成上面两步,摄像头基本配置完成,我们确认下输出端PCLK、VHSN、SVSN、D1-D7
二、摄像头调试过程中常遇到的问题
1、录相在预览时正常,播放录像时花屏(程序解释为三星s5pv210/s5pv310是的,其它的可以参考,找相应代码)
原因分析:
(1)录相用fimc2,
在android/device/samsung/proprietary/libcamera/SecCamera.cpp中 int SecCamera::startRecord(void)
[cpp] view plaincopy
1. m_cam_fd_rec = open(CAMERA_DEV_NAME2, O_RDWR); 2.
3. vendor\\sec\\sec_proprietary\\smdkc110\\libcamera\\SecCamera.h 4. #define CAMERA_DEV_NAME2 \
(2)所用的视频格式,在
android/device/samsung/proprietary/libcamera/SecCameraHWInterface.cpp中 void CameraHardwareSec::m_initDefaultParameters(int camera_id)
[cpp] view plaincopy
1. int default_preview_pixel_format = mSecCamera->getPreviewDefaultPixelFormat
();
2. switch (default_preview_pixel_format) { 3. default:
4. case V4L2_PIX_FMT_NV21:
5. p.setPreviewFormat(CameraParameters::PIXEL_FORMAT_YUV420SP); 6. break;
7. case V4L2_PIX_FMT_NV12T: