Qualcomm Technologies, Inc.
多媒体驱动程序开发和调通指南 – 摄像头
80-NU323-2SC 版本 H
2017 年 1 月 31 日
机密和专有信息—Qualcomm Technologies, Inc.
禁止公开披露:如若发现本文档在公共服务器或网站上发布,请报告至:DocCtrlAgent@qualcomm.com。
限制分发:未经 Qualcomm 配置管理部门的明确批准,不得向 Qualcomm Technologies, Inc. 或其关联公司的员工之外的任何人分发。
未经 Qualcomm Technologies, Inc. 的明确书面许可,不得使用、复印、复制或修改其全部或部分内容,或以任何方式向其他人泄露其
内容。
Qualcomm 是 Qualcomm Incorporated 在美国及其他国家/地区所注册的商标。其他产品和品牌名称可能是其各自所有者的商标或注
册商标。
本技术资料可能受美国和国际出口、再出口或转让(统称“出口”)法律的约束。严禁违反美国和国际法律。
Qualcomm Technologies, Inc.
5775 Morehouse Drive
San Diego, CA 92121
U.S.A.
© 2014-2017 Qualcomm Technologies, Inc. 版权所有。
修订记录
版本
A
B
C
D
E
F
G
H
日期
2014 年 11 月
2015 年 1 月
2015 年 2 月
2015 年 4 月
2015 年 12 月
2016 年 5 月
2016 年 11 月
2017 年 1 月
说明
初始版本
针对 MSM8992 芯片组进行了更新
更新了第 7 章
针对 MSM8952 和 MSM8996 芯片组进行了更新
更新了第 3.3.2.7.1 节
更新了以下内容:
第 3.1 节
第 7 章标题中包含了 MSM8998
更新了第 3.3.2.4 节和第 3.3.2.7.1 节
新增了第 3.3.2.7.2 节
更新了第 3.3.2.7.1 节
更新了第 3.3.2.4 节中的表
更新了第 9.2.1 节
更新了以下内容,以包括 SDM660/SDM630:
第 3.1 节中的注释
第 7 章
80-NU323-2SC 版本 H
机密和专有信息 – Qualcomm Technologies, Inc.
2
可能包含美国和国际出口管制信息
目录
1 简介 ................................................................................................................... 6
1.1 用途 .............................................................................................................................. 6
1.2 约定 .............................................................................................................................. 6
1.3 技术协助 ...................................................................................................................... 7
2 预调通指南 ........................................................................................................ 8
2.1 摄像头传感器选择和开发时间指南 ........................................................................... 8
2.2 访问 PVL 驱动程序 ..................................................................................................... 8
2.3 有用资源 ...................................................................................................................... 8
3 传感器驱动程序调通 .......................................................................................... 9
3.1 YUV 和 Bayer 传感器的参考驱动程序 ..................................................................... 9
3.2 添加新驱动程序所需修改的文件 ............................................................................. 10
3.3 源代码解释 ................................................................................................................ 11
3.3.1 内核驱动程序 ................................................................................................. 11
3.3.2 用户空间驱动程序 ......................................................................................... 14
3.3.3 使用 QUP/SPI ................................................................................................. 27
3.3.4 更新 CCI 运行速度 ......................................................................................... 27
4 AF 致动器驱动程序 .......................................................................................... 29
4.1 AF 致动器驱动程序目录结构 .................................................................................. 29
4.2 需要更新/添加的文件 ............................................................................................... 30
4.2.1 更新设备树文件 ............................................................................................. 30
4.2.2 设置 AF 致动器电源 ...................................................................................... 30
4.2.3 为致动器添加可选的 GPIO 控制管脚 .......................................................... 31
4.2.4 更新传感器驱动程序文件 ............................................................................. 32
4.2.5 添加 AF 致动器文件 ...................................................................................... 32
4.2.6 添加 AF 算法调试文件 .................................................................................. 33
80-NU323-2SC 版本 H
机密和专有信息 – Qualcomm Technologies, Inc.
3
可能包含美国和国际出口管制信息
多媒体驱动程序开发和调通指南 – 摄像头
目录
5 LED 闪光灯驱动程序 ....................................................................................... 37
5.1 LED 闪光灯驱动程序目录结构 ................................................................................ 37
5.2 需要修改的文件 ........................................................................................................ 37
5.2.1 更新设备树文件 ............................................................................................. 38
5.2.2 针对基于 CCI 的情形更改 GPIO 管脚编号 ................................................. 41
5.2.3 添加 LED 闪光灯驱动程序文件 .................................................................... 43
5.2.4 添加基于 PWM 的闪光灯驱动程序 .............................................................. 46
6 EEPROM 驱动程序 .......................................................................................... 47
6.1 EEPROM 驱动程序目录结构 ................................................................................... 47
6.2 需要修改的文件 ........................................................................................................ 47
6.2.1 更新设备树文件 ............................................................................................. 47
6.2.2 更新传感器驱动程序文件 ............................................................................. 49
6.2.3 添加 EEPROM 驱动程序文件 ....................................................................... 49
7 MSM8952/MSM8992/MSM8994/MSM8996/MSM8998/
SDM660/SDM630 更新 ................................................................................... 52
7.1 传感器驱动程序更改 ................................................................................................ 52
7.1.1 用户空间更改 ................................................................................................. 52
7.2 LED 闪光灯驱动程序更改 ........................................................................................ 53
7.2.1 基于 PMIC....................................................................................................... 53
7.2.2 基于 I2C/GPIO ................................................................................................ 54
8 针对 MSM8909 的更新 .................................................................................... 55
8.1 无 CCI 硬件 ................................................................................................................ 55
8.2 参考驱动程序 ............................................................................................................ 56
9 故障排除 .......................................................................................................... 57
9.1 传感器故障排除 ........................................................................................................ 57
9.1.1 模块安装 ......................................................................................................... 57
9.1.2 模块探测 ......................................................................................................... 58
9.2 ISP 故障排除 .............................................................................................................. 61
9.2.1 SOF IRQ 超时 ................................................................................................. 61
9.2.2 VFE 溢出 ......................................................................................................... 62
9.2.3 CAMIF 错误状态 ............................................................................................ 63
9.3 CSID 故障排除 .......................................................................................................... 64
9.4 DPHY 故障排除 ......................................................................................................... 65
A 参考资料 ......................................................................................................... 67
A.1 相关文档 .................................................................................................................... 67
A.2 缩略词和术语 ............................................................................................................ 67
80-NU323-2SC 版本 H
机密和专有信息 – Qualcomm Technologies, Inc.
4
可能包含美国和国际出口管制信息
多媒体驱动程序开发和调通指南 – 摄像头
目录
图
图 9-1 SOF IRQ 超时 ................................................................................................................................ 62
图 9-2 VFE 溢出 ........................................................................................................................................ 62
80-NU323-2SC 版本 H
机密和专有信息 – Qualcomm Technologies, Inc.
5
可能包含美国和国际出口管制信息
1 简介
1.1 用途
本文档为摄像头传感器和相关模块提供驱动程序开发指南,介绍如何在 MSM8x26/
MSM8x28、MSM8926/MSM8928、MSM8974、APQ8084、MSM8992、MSM8994、
MSM8996、MSM8909、MSM8916、MSM8952、MSM8936/MSM8939、MSM8998、
SDM660 和 SDM630 Android 平台上调通摄像头。
其他多媒体技术的驱动程序开发指南以及调通步骤,将在以下各个文档中分别进行介绍:
Multimedia Driver Development and Bringup Guide – Audio (80-NU323-1)
Multimedia Driver Development and Bringup Guide – Display (80-NU323-3)
Multimedia Driver Development and Bringup Guide – Video (80-NU323-5)
摄像头传感器框架包括以下各个组件的配置:
传感器
CSIPHY
CSID
摄像头控制接口 (CCI)
致动器
闪光灯
EEPROM
Chromatix™
本文档虽然是基于 MSM8916 代码库编写而成,但文档中的很多信息同样适用于所有
MSM8x26/MSM8x28、MSM8926/MSM8928、MSM8974、APQ8084、MSM8992、MSM8994、
MSM8996、MSM8909、MSM8916、MSM8952 和 MSM8936/MSM8939 芯片组的 Linux 摄
像头代码。芯片组之间特定的差异在各个章节中介绍。
1.2 约定
函数声明、函数名称、类型声明、属性以及代码示例以不同字体表示,例如 #include。
代码变量括在尖括号内,例如 。
要输入的命令以不同字体显示,例如 copy a:*.* b:。
按钮和按键名称以粗体显示,例如,点击 Save 或按 Enter 键。
80-NU323-2SC 版本 H
机密和专有信息 – Qualcomm Technologies, Inc.
6
可能包含美国和国际出口管制信息
多媒体驱动程序开发和调通指南 – 摄像头
简介
带阴影的部分表示本版本文档中新增的或已进行更改的内容。
1.3 技术协助
针对本文档中的信息,如需协助或说明,可通过 https://createpoint.qti.qualcomm.com/
向 Qualcomm Technologies, Inc. (QTI) 提交用例。
如果您无法访问 CDMATech 支持网站,可在注册后进行访问,或者发送电子邮件至
support.cdmatech@qti.qualcomm.com。
80-NU323-2SC 版本 H
机密和专有信息 – Qualcomm Technologies, Inc.
7
可能包含美国和国际出口管制信息
2 预调通指南
本章介绍如何搜索现有 PVL 驱动程序以及了解非 PVL 组件选择对整个摄像头日程的影响。
建议本文档读者在进行摄像头调通前先查阅此信息。
2.1 摄像头传感器选择和开发时间指南
要了解摄像头选择和基于该选择的开发时间/资源投入指南,可查看解决方案 [00028471]。
2.2 访问 PVL 驱动程序
有关如何访问 PVL(推荐供应商列表)驱动程序的指南,可参见 Qualcomm CreatePoint
Hardware Component Quick Start Guide(英文版)(80-NC193-10) 或 Qualcomm CreatePoint
Hardware Component Quick Start Guide(中文版)(80-NC193-10SC)。通过这些指南可以查
询特定芯片组的 PVL 摄像头驱动程序列表,还可以下载一个或多个驱动程序。
2.3 有用资源
查阅列于解决方案 [00028470] 的“传感器调通”部分下的重要文档,然后再开始传感器的
调通工作。如果调通过程中遇到问题,QTI 客户工程部可通过 Salesforce 用例提供帮助。
有关正确识别问题领域的指南,可参见解决方案 [00028523]。
80-NU323-2SC 版本 H
机密和专有信息 – Qualcomm Technologies, Inc.
8
可能包含美国和国际出口管制信息