基礎:高通bring up camera
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,[email protected] {
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
bring UP 需要做的工作 1、kernelspace sensor driver : 驅動和裝置樹 2、userspace camera 對應的chromatix library 和sensor library 準備工作 1、模組原理圖 2、sensor
linux驅動由淺入深系列:高通sensor架構例項分析之一
本系列導航: 最初的時候晶片廠家對sensor的處理和對待其它外設一樣都是直接掛在processor上,sensor的驅動也和其他linux或android的驅動一樣,生成對應的裝置節點給上層提供資料(關於此類linux基礎驅動的知識,可以參考本部落格其他博文)
更新:高通驍龍處理器排行榜和資料
高通驍龍(Qualcomm Snapdragon)是全球領先移動處理器晶片生產廠商,高通旗下驍龍處理器產品劃分為四大階級:驍龍800、驍龍600、驍龍400、驍龍200,其中以800系列作為高階旗艦晶片,而600系列面向中端和中高階市場,驍龍400定位於低端市場,驍龍200則
【C++】泛型程式設計基礎:模板通識
測試環境: Target: x86_64-linux-gnu gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2.1)什麼是泛型程式設計?為什麼C++會有模板?這一切的一切都要從如何編寫一個通用的加法函式說起。 很久很久
高通camera bring up軟體流程
高通camera bring up分為兩種型別:YUV和bayer bring up yuv sensor1、kernel空間1) vim kernel/driver/media/platform/msm/camera_v2/sensor新增sensor驅動檔案-可參考其
資訊學奧賽一本通演算法(C++版)基礎演算法:高精度計算 高精度加法(大位相加)
2018年資訊學奧賽NOIP資料下載 1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 char a1[100],b1[100]; 6 int a[100],b[100],c[100];/
linux驅動由淺入深系列:camera驅動之二(基於高通平臺的V4L2結構及程式碼分析)
在上一篇文章中介紹了camera的基礎知識和相關概念,我們一起來了解一下驅動相關的程式碼結構。本文以高通+android平臺為示例,首先看一下整體框圖:這張圖是從整體上來看的1,圖中最下面的是kernel層的驅動,其中按照V4L2架構實現了camera sensor等驅動,向
高通平臺手機開發之Bring-up
手機Bring-up 3.1. Linux 部分編譯 高通的程式碼分兩部分:一部分是開源的,可以從codeaurora.org上下載,還有一部分是高通產權的,需要從高通的網站上下載。 將高通產權的程式碼放到:vendor/qcom/proprieta
高通MSM8909 CAMERA TUNING 基礎
轉載自:http://blog.chinaunix.net/uid-7213935-id-5750641.html 一. 重要概念:1.色溫所謂色溫,簡而言之,就是定量地以開爾文溫度(K)來表示色彩。英國著名物理學家開爾文認為,假定某一黑體物質,能夠將落在其上的所有熱量吸
高通平臺 Camera基礎
1. 設定攝像頭方向 2. 開啟執行緒與預覽執行緒 3. 設定引數 4. Camera外設按鍵 5. 自動對焦
linux命令基礎:shell操作符與鍵盤通配符
完整 操作 執行 shel 接收 str abc test 括號 通配符 通配符是一類鍵盤字符 。 當查找文件夾時;當不知道真正字符或者不想鍵入完整名字時,常常使用通配符代替一個或多個真正字符。 * 代替0個或多個字符。 ?
APUE:高級進程間通信
creat conn 核心 sockets desc returns protocol type sin 這一章核心內容:使用 UNIX 域套接字傳送文件描述符。 /* Create two new sockets, of type TYPE in domain DO
高通CEO莫倫科夫:5G手機從2019年開始將成主流(轉)
ceo 進行 新的 智能 商業模式 設備 蘋果 手機加速 com 據路透社9月15日報道,高通公司首席執行官預測,首款符合下一代移動標準的5G手機將於2019年在全球主要市場上市,這比預測時間要早一年。 作為世界頂級智能手機芯片制造商,高通公司首席執行官史蒂文?莫倫科夫
Shell基礎:介紹、歷史命令、命令不全和別名、通配符、輸入輸入重定向、管道發和作業控制
基礎 一個 直接 1.5 寫到 否則 shel attr tle Shell的介紹 zsh、ksh(yum list |grep zsh 進行查看,然後可以相應的進行安裝) 命令歷史1. /root/.b
[Matlab]橢圓濾波器設計:低通、高通、帶通和帶阻
fig atl info grid AR subplot 要求 ear 波紋 橢圓濾波器(Elliptic filter)又稱考爾濾波器(Cauer filter): 這是在通帶和阻帶等波紋的一種濾波器。 橢圓濾波器相比其他類型的濾波器,在階數
camera sensor bring up
camera sensor點亮準備工作: (1)模組原理圖(module spec) (2)sensor datasheet (3)平臺原理圖(camera部分) (4)初始化序列和需要支援的各解析度序列 (5)streamon/off序列 (6)絲印圖(點陣圖) cam
11月8日科技聯播:特斯拉宣佈其CFO接替馬斯克擔任董事長;蘋果拒不和解要和高通對簿公堂
馬斯克讓位,特斯拉現任CFO接任董事長;蘋果拒不和解,要和高通對簿公堂,70億美元專利費矛盾激化;聯想公佈二季度營收,創四年來新高;遊戲審批遇阻,騰訊決定削減營銷預算節省開支,一起來看今天的科技快訊: 特斯拉董事會提CFO出任董事長,即刻生效 據彭博社訊息,特斯拉董事會提名Robyn Denholm出
(基礎:流程一)CDH Solr 一點通
流程一: 啟動 收集器 與 索引生成器 該流程內容包括 一:建立Hbase資料表 <Hbase shell> <!--Hbase表開啟列簇REPLICATION複製功能--> create 'test',{NAME => 'cf',
美國高通 Snapdragon Neural Processing Engine SDK (SNPE) 系列 (1):使用者自定義層JNI實現
轉自:https://blog.csdn.net/guvcolie/article/details/77937786 Snapdragon Neural Processing Engine SDK是美國高通公司出品的神經網路處理引擎(SNP
Bring up interface eth0:Device eth0 does not seem to be present,delaying initialization
近期在學習Linux,由於沒有足夠多的物理機,只能使用vmware虛擬出多臺機器來,為了圖省事,在一臺虛擬機器裝完CentOS後,就克隆了三臺,可是在使用克隆的三臺機器時,發現網路使用時出現了Bring up interface eth0:Device eth0 does not seem to b