高通camera如何匹配I2C总线

原创 2015年11月17日 16:32:02

1、dts配置

cci: qcom,cci@1b0c000 {

compatible = "qcom,cci";

...

pinctrl-names = "cci_default","cci_suspend";

pinctrl-0= <&cci0_default>;

pinctrl-1= <&cci0_sleep>;

gpios =<&msm_gpio 29 0>,//CAM_I2C_SCL

<&msm_gpio 30 0>;//CAM_I2C_SDA

...

};

2、kernel代码

代码:kernel/drivers/media/platform/msm/camera_v2/sensor/cci/msm_cci.c

static int msm_cci_probe(structplatform_device *pdev)

{

...

v4l2_subdev_init(&new_cci_dev->msm_sd.sd,&msm_cci_subdev_ops);//绑定操作集合

g_cci_subdev =&new_cci_dev->msm_sd.sd; //对外接口

...

}

static struct v4l2_subdev_core_opsmsm_cci_subdev_core_ops = {

.g_chip_ident =&msm_cci_subdev_g_chip_ident,

.ioctl = &msm_cci_subdev_ioctl,//控制接口函数

.interrupt_service_routine =msm_cci_irq_routine,

};

static const struct v4l2_subdev_opsmsm_cci_subdev_ops = {

.core = &msm_cci_subdev_core_ops,

};

static long msm_cci_subdev_ioctl(structv4l2_subdev *sd, unsigned int cmd, void *arg)

{

int32_t rc = 0;

CDBG("%s line %d\n",__func__, __LINE__);

switch (cmd) {

case VIDIOC_MSM_CCI_CFG:

rc = msm_cci_config(sd,arg);//具体的参数配置

break;

case MSM_SD_SHUTDOWN: {

struct msm_camera_cci_ctrlctrl_cmd;

ctrl_cmd.cmd = MSM_CCI_RELEASE;

rc = msm_cci_config(sd,&ctrl_cmd);

break;

}

default:

rc = -ENOIOCTLCMD;

}

CDBG("%s line %d rc %d\n",__func__, __LINE__, rc);

return rc;

}

static int32_t msm_cci_config(structv4l2_subdev *sd, struct msm_camera_cci_ctrl*cci_ctrl)

{

int32_t rc = 0;

CDBG("%s line %d cmd %d\n",__func__, __LINE__, cci_ctrl->cmd);

switch (cci_ctrl->cmd) {

case MSM_CCI_INIT:

rc =msm_cci_init(sd, cci_ctrl); //完成iic初始化

break;

case MSM_CCI_RELEASE:

rc = msm_cci_release(sd);

break;

case MSM_CCI_I2C_READ:

rc =msm_cci_i2c_read_bytes(sd, cci_ctrl); //iic

break;

case MSM_CCI_I2C_WRITE:

rc =msm_cci_i2c_write(sd, cci_ctrl); //iic

break;

case MSM_CCI_GPIO_WRITE:

break;

default:

rc = -ENOIOCTLCMD;

}

CDBG("%s line %d rc %d\n",__func__, __LINE__, rc);

cci_ctrl->status = rc;

return rc;

}

struct v4l2_subdev*msm_cci_get_subdev(void)

{

return g_cci_subdev;

}

注:kernel/drivers/media/platform/msm/camera_v2/sensor/cci/msm_cci.h中会声明struct v4l2_subdev*msm_cci_get_subdev(void);以提供对外接口,当camera相关模块probe时会通过此接口得到g_cci_subdev。

版权声明:本文为博主原创文章,未经博主允许不得转载。

高通msm8926 camera调试笔记

前些天在调试一组高通msm8926上的摄像头,之前ov5648+imx135已正常的点亮了,但是后续需要一个mini配置版本的方案,需要兼容ov2685+ov8865,于是先做好调试的前期准备,跟摄像...
  • canjianfantasy
  • canjianfantasy
  • 2014年08月30日 14:39
  • 7706

高通msm8926 camera调试笔记

http://blog.csdn.net/fantasyhujian/article/details/38943639?utm_source=tuicool 前些天在调试一组高通msm892...
  • qq_20678703
  • qq_20678703
  • 2015年10月13日 11:34
  • 1571

qualcomm camera 学习笔记

高通camera学习笔记概述(一二三四五) http://www.cnblogs.com/potato-coffee/p/4172009.html android camera 预览 app到hal...
  • u014534389
  • u014534389
  • 2016年06月16日 11:28
  • 5574

高通I2C control及gpio模拟添加I2C设备

高通810,要用camera专用的CCI I2C(GPIO19,GPIO20)接口连外设,查看CCI I2C的调用,非常复杂,涉及到camera的子设备什么,不想去研究用法。 GOIO模拟I2c: ...
  • selfmockery
  • selfmockery
  • 2016年08月17日 11:13
  • 1169

高通camera驱动分析

1、Sensor slave配置 结构体msm_camera_sensor_slave_info定义在media/msm_cam_sensor.h中: struct msm_camer...
  • liwei16611
  • liwei16611
  • 2016年12月31日 15:09
  • 5900

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

1. Camera module probe error:    (2011.6.28) I2C slave address:0x48 not connected. I2C read transf...
  • qq69696698
  • qq69696698
  • 2012年03月29日 18:02
  • 4672

【转】在高通平台添加或者移植一个完整的camera

OV8865 1、kernel部分: A、kernel_driver: 把驱动文件ov8865_qtech_f8865ac.c 放到kernel/drivers/media/platform/msm/...
  • superHubin
  • superHubin
  • 2017年06月15日 13:25
  • 527

基于qualcomm平台的camera 驱动详解

前言: 一、Android camera架构 在framework中,camera主要是通过以下库来协同工作的: libandroid_runtime.so、libui.so、libca...
  • weijory
  • weijory
  • 2017年01月19日 13:47
  • 1868

CCI(gpio I2c) 与I2C

转载来自:http://www.cnblogs.com/soc-linux-driver/p/3611622.html 谈谈 cci 与 i2c cci的名字叫, came...
  • qq_20678703
  • qq_20678703
  • 2016年07月02日 12:00
  • 764

缺少{}导致的camera 初始化 iic通信失败

最近调试一款摄像头,prob时sensor id能正确读到,但是进入camera时会出现写camera sensor init失败, [   66.087427] msm_cci_irq:854 MA...
  • u013531497
  • u013531497
  • 2014年01月21日 16:57
  • 2596
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:高通camera如何匹配I2C总线
举报原因:
原因补充:

(最多只允许输入30个字)