高通Camera bring up软件流程【转】
本文转载自:http://blog.csdn.net/liwei16611/article/details/51279658
高通camera bring up分为两种类型:YUV和bayer
bring up yuv sensor
1、kernel空间
1) vim kernel/driver/media/platform/msm/camera_v2/sensor
添加sensor驱动文件-可参考其他
修改Makefile
2) kernel/arch/arm/configs
添加CONFIG_<sensor>定义
3) kernel/driver/media/platform/msm/camera_v2/kconfig
添加选项
4) 设备树文件kernel/arch/arm/boot/dts/qcom/<target>_camera*.dtsi
添加新的条目
gpio set
clk set
power set
i2c slave
2、用户空间
1) mm-camera2/media-controller/modules/sensors/sensor_libs/<snesor>
添加lib文件
2) vendor/qcom/proprietary/common/config/device-vendor.mk
加入新的条目
3)
a、sensor init parameter
2D/3D、前/后置、安装角度
b、sensor output
bayer/yuv、mipi/并口、位数
c、output size
static struct sensor_lib_out_info_t sensor_out_info[] = {
{
/* full size @ 24 fps*/
.x_output = 4208,
.y_output = 3120,
.line_length_pclk = 4572,
.frame_length_lines = 3142,
.vt_pixel_clk = 360000000,
12/26例如
.op_pixel_clk = 360000000,
.binning_factor = 1,
.max_fps = 24.01,
.min_fps = 7.5,
.mode = SENSOR_DEFAULT_MODE,
},
x_output –
sensor 输出有效宽度
y_output – sensor 输出有效高度
line_length_pclk –包含 blanking 的宽度值
frame_length_lines –包含 blanking 的高度值
vt_pixel_clk(video timing clk value) –该虚拟时钟值用于曝光时间计算,用于 AEC 算法
的 banding artifacts 纠正,vt_pixel_clk 的计算如下:
vt_pixel_clk = line_length_pclk * frame_length_lines * frame rate
op_pixel_clk – VFE 时钟,表示每秒 VFE 处理的数据量(in pixel).
op_pixel_clk = (sensor 输出实际比特率)/bits-per-pixel
比如,如果 MIPI DDR
时钟值
(sensor MIPI 的时钟 lane 频率) 为 300Mhz, 同时
sensor 使用 4 个 lane (一组差分信号属于一个lane)传输数据, 每一个 lane 的数据率是 300*2 = 600Mhz. 因此, 总数据
率为 600*4= 2400Mhz. 对于 10bit 的 bayer sensor, op_pixel_clk 值可设置为 2400/10 =
240Mhz.这些值可以从 sensor 的寄存器设置中计算出来。
d、chromatix
e、register addr
f、mipi receiver
g、regiseter setting
高通Camera bring up软件流程【转】的更多相关文章
- 高通camera基本代码架构【转】
本文转载自:http://blog.sina.com.cn/s/blog_c0de2be70102vyn1.html 1 camera基本代码架构 高通平台对于camera的代码组织,大体上还是遵循 ...
- 高通camera结构【转】
本文转载自:http://www.cnblogs.com/whw19818/p/5853407.html 摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上, ...
- 高通camera结构(摄像头基础介绍)
摄像头基础介绍 一.摄像头结构和工作原理. 拍摄景物通过镜头,将生成的光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理,再被送到电脑中进 ...
- 高通Camera驱动分析【转】
本文转载自:http://blog.csdn.net/liwei16611/article/details/53955711 1.Sensor slave配置 结构体msm_camera_sensor ...
- 高通camera学习笔记
http://www.2cto.com/kf/201609/548725.html http://www.android100.org/html/201508/24/176303.html
- 基础:高通bring up camera【转】
本文转载自:http://blog.csdn.net/liwei16611/article/details/53056710 bring UP 需要做的工作 1.kernelspace senso ...
- 高通Android平台硬件调试之Camera篇
之前一段时间有幸在高通android平台上调试2款camera sensor,一款是OV的5M YUV sensor,支持jpeg out,同时也支持AF,调试比较比较简单,因为别的项目已经在使用了, ...
- 高通 MSM8K bootloader : SBL1 .
一. MSM8K Boot Flow 图1: 高通MSM8K平台bootloader启动流程基本类似,但具体各平台,比如MSM8974.MSM8916.MSM8994等,会有微小区别. 从上图,可以看 ...
- 高通 MSM8K bootloader之一: SBL1
MSM8K Boot Flow 转自:http://www.cnblogs.com/liang123/p/6325257.html http://blog.csdn.net/F ...
随机推荐
- freemarker进阶--项目中使用
1.工程引入依赖 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemark ...
- QButtonGroup
单选按钮和多选按钮,存放进QButtonGroup中 QButtonGroup方法来实现分组:将相同功能的按键,设为一个分组,然后可以进行 单选 或 多选 或 互斥单选 QAbstractButton ...
- Linux安装 jdk&maven
JDK安装 1. 下载JDK压缩包http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...
- Rust学习笔记1
这是一份不错的rust教程,目前包括4个block和4个project.全部完成后可以用rust实现一个简单的key-value存储引擎. 注意:Windows下rust貌似会遇到一些bug,强烈建议 ...
- a ^ b mod c 取模运算优化反思(老物)
这是一篇嘲讽我之前的自己采用笨重愚蠢思想去解决问题的日志. RSA 加密与解密涉及到 a ^ b mod c 的问题,如何计算这个值呢? 我会选择 pow(a, b) % c, 事实上在写RSA的时候 ...
- switch语句能否作用在byte,long,string上
switch是java中的多分支结构.在switch(expr)中,expr只能是一个整数表达式,或者是枚举常量,整数表达式可以是int基本类型也可以是Integer包装类型,由于byte,short ...
- css实现斑马线效果
文本实现斑马线效果 <style> p { font-size: 17px; line-height: 25px; background-color: antiquewhite; back ...
- 软件包管理(rpm、yum、dpkg)
一. 大多数Linux应用软件包的命名也有一定的规律,它遵循:名称-版本-修正版-类型,通常Linux应用软件的安装包有三种: 1) tar包,如software-1.2.3-1.tar.gz.以源码 ...
- 二分图最大匹配(匈牙利算法)简介& Example hdu 1150 Machine Schedule
二分图匹配(匈牙利算法) 1.一个二分图中的最大匹配数等于这个图中的最小点覆盖数 König定理是一个二分图中很重要的定理,它的意思是,一个二分图中的最大匹配数等于这个图中的最小点覆盖数.如果你还不知 ...
- 一个错误导致懂了mac系统的PATH环境变量
一个完全不懂mac系统的强迫症小白,由于搭建环境都按照百度走,所以在执行命令echo $PATH查看PATH内容时发现怎么有这样一串东西 /usr/local/bin:/usr/bin:/bin:/u ...