基础:高通bring up camera【转】
本文转载自:http://blog.csdn.net/liwei16611/article/details/53056710
bring UP 需要做的工作
1、kernelspace
sensor driver : 驱动和设备树
2、userspace
camera 对应的chromatix library 和sensor library
准备工作
1、模组原理图
2、sensor spec
3、sensor resolution
代码准备
1、kernel
1、设备树
kernel/arch/arm/boot/***-camera-sensor-cdp.dtsi
qcom,camera@20 {
compatible =“qcom,imx111”;
reg = <0x20>;
qcom,slave-id =<0x20 0x0 0x111>; //(slave id – 0x20, chip id address – 0x0, chip id –0x111)
qcom,csiphy-sd-index= <0>; //(Use CSIPHY subdev 0)
qcom,csid-sd-index= <0>; //(Use CSID subdev 0)
qcom,flash-src-index= <&led_flash0>; //(Use LED flash subdev 0)
qcom,mount-angle =<90>; //(mount angle 90 degree)
qcom,sensor-name =“imx111”;// (sensor name)
cam_vdig-supply =<&pm8941_l3>;// (Use L3 for VDIG)
cam_vana-supply =<&pm8941_l23>;// (Use L23 for VANA)
cam_vio-supply =<&pm8941_lvs2>; //(Use LVS3 for VIO)
cam_vaf-supply =<&pm8941_l17>; //(Use L17 for VAF)
qcom,cam-vreg-name= “cam_vdig”, “cam_vio”, “cam_vana”, “cam_vaf”;
qcom,cam-vreg-type= <0 1 0 0>; //(0 – LDO, 1 – LVS)
qcom,cam-vreg-min-voltage= <1225000 0 2850000 2850000>;// (min voltage)
qcom,cam-vreg-max-voltage= <1225000 0 2850000 2850000>;// (max voltage)
qcom,cam-vreg-op-mode= <105000 0 80000 100000>; //(Optimum mode)
qcom,gpio-no-mux =<0>;
gpios =<&msmgpio 15 0>, <&msmgpio 90 0>;
qcom,gpio-reset =<1>; //(Use gpio pin 90 for reset)
qcom,gpio-req-tbl-num= <0 1>; //(0 – pin 15, 1 – pin 90)
qcom,gpio-req-tbl-flags= <1 0>; //(0 – output gpio, 1 – input gpio)
qcom,gpio-req-tbl-label= “CAMIF_MCLK”, “CAM_RESET1”; //(gpio name)
qcom,gpio-set-tbl-num= <1 1>;// (1 – pin 90)
qcom,gpio-set-tbl-flags= <0 2>; //(0 – GPIOF_OUT_INIT_LOW, 2 -
GPIOF_OUT_INIT_HIGH)
qcom,gpio-set-tbl-delay= <1000 4000>; //(delay in micro sec)
qcom,csi-lane-assign= <0x4320>; //(Use 0x4320 for CSI lane assign)
qcom,csi-lane-mask= <0x1F>; //(Use 0x1F for lane mask)
qcom,sensor-position= <0>; //(0 – back camera, 1 – front camera)
qcom,sensor-mode =<1>;// (1 – 2D, 3 – 3D)
qcom,cci-master =<0>; //(0 – Master 0, 1 – Master 1)
status = “ok”;
};
2、驱动
kernel/drivers/media/platform/msm/camera_v2/sensor/imx111.c
vendor(chromatix library)
1、vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/chromatix/0301/libchromatix/chromatix_imx111/
使用高通的chromatix tunning 软件生成头文件。
2、vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/sensor_libs/imx111/
需要配置以下信息:
1)init, start, stop寄存器配置
2)coarse_int_time_addr 、global_gain_addr 寄存器地址
3)x_output 、y_output、line_length_pclk 、frame_length_lines 寄存器地址
4)full/half resolution 寄存器配置
5)配置每个every resolution 对应的Chromatix library
6)配置每个resolution 对应的sensor_out_info
structsensor_lib_out_info_t sensor_out_info[] = {
{
.x_output = 0x0668,
.y_output = 0x04D0,
.line_length_pclk = 0xDD0,
.frame_length_lines = 0x04E6,
.vt_pixel_clk = 134400000,
.op_pixel_clk = 134400000,
.max_fps = 30,
.min_fps = 7.5,
.binning_factor = 1,
.mode = SENSOR_DEFAULT_MODE,
},
调试
1、测量camera的Power supply: AVDD, DOVDD, DVDD, AFVDD是否正确
2、测量MCLK波形是否正常
3、测量camera的PWDN/RESET是否正常
基础:高通bring up camera【转】的更多相关文章
- 高通msm8909耳机调试
http://blog.csdn.net/mike8825/article/details/69489865?locationnum=3&fps=1 1.DTS相应修改: DTS相关代码:ke ...
- 高通camera结构(摄像头基础介绍)
摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进 ...
- 高通Camera bring up软件流程【转】
本文转载自:http://blog.csdn.net/liwei16611/article/details/51279658 高通camera bring up分为两种类型:YUV和bayerbrin ...
- 高通camera结构【转】
本文转载自:http://www.cnblogs.com/whw19818/p/5853407.html 摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上, ...
- 高通Android平台硬件调试之Camera篇
之前一段时间有幸在高通android平台上调试2款camera sensor,一款是OV的5M YUV sensor,支持jpeg out,同时也支持AF,调试比较比较简单,因为别的项目已经在使用了, ...
- Android : 高通平台Camera调试之SetpropKey/camxoverridesettings.txt
高通相关网址:Createpoint: https://createpoint.qti.qualcomm.com(可下载文档,Release Note等)Chipcode: https://chipc ...
- 高通camera基本代码架构【转】
本文转载自:http://blog.sina.com.cn/s/blog_c0de2be70102vyn1.html 1 camera基本代码架构 高通平台对于camera的代码组织,大体上还是遵循 ...
- 高通平台Camera调试(一)【转】
本文转载自:http://www.voidcn.com/blog/Winva/article/p-6044730.html 4.3. Camera 参考文档: 1) 80-NA157-22_PRESE ...
- 高通(QCOM)sensor bring up
高通7150平台 1.添加驱动文件 2.添加编译 3.配置json文件 4.高通默认配置 5.部分sensor外挂电源 6.遇到的问题 1.添加驱动文件 路径:adsp_proc/ssc/sensor ...
随机推荐
- JS中值类型和引用类型
一.值类型 例子: var a=10; var b=a; a=20; console.log(b); 例子中,将a的值赋给了b,b=10,然后改变a的值不会影响b的值,a和b是独立的两份,互不影响. ...
- Java利用Base64编码和解码图片文件
1.编码与解码代码如下所示: import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import jav ...
- 洛谷 P5661 公交换乘 & [NOIP2019普及组] (模拟)
传送门 解题思路 先把所有的数据读下来. 对于地铁,答案直接加,然后把编号放入一个数组a内. 对于公交车,从前往后枚举a数组,然后找到出现最早的且符合价钱大于等于公交车的价钱,然后把这个数删除(变为0 ...
- [多校联考2019(Round 4 T1)][51nod 1295]Xor key(可持久化trie)
[51nod 1295]Xor key(可持久化trie) 题面 给出一个长度为n的正整数数组A,再给出Q个查询,每个查询包括3个数,L, R, X (L <= R).求A[L] 至 A[R] ...
- git命令?
#文件及文件夹创建删除 mkdir 文件名称 (创建文件夹) touch 文件名称 (创建文件) rm -r 文件名称 (递归删除) rm -rf 文 ...
- http协议是无状态协议,它的无状态指的是什么,如何解决这种情况
http是无状态的协议,也是不安全的协议, 它的无状态是指对于事务处理没有记忆能力,缺少状态意味着后续的操作需要前面的信息. 解决办法:1,通过cookie解决,2,通过session会话保存.
- oracle PL/SQL编程基础知识
在oracle中使用pl/sql来扩展SQL的功能,使得SQL能够更加的灵活,功能更加强大,效率更高.pl/sql让sql也能执行判断,循环等操作.主要记录一下pl/sql的基本语法和基本条件判断语句 ...
- JAVA中自定义properties文件介绍
Gradle中的使用 1. 使用gradle.properties buid.gradle 和 gradle.properties可以项目使用,在同一个项目中,build.gradle可以直接获取其同 ...
- Qt项目界面文件(.ui)及其作用(超详细)
http://c.biancheng.net/view/1820.html Qt 项目中,后缀为“.ui”的文件是可视化设计的窗体的定义文件,如 widget.ui.双击项目文件目录树中的文件 wid ...
- Error response from daemon: Container ************** is not running
$ sudo docker run -d centos:last 8022826ebd567e2b1818e90ce33c3b68ea9aeac0286001154eb05fc2283e0238$ s ...