1. 程式人生 > >基礎:高通bring up camera

基礎:高通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 eth0Device eth0 does not seem to be present,delaying initialization

近期在學習Linux,由於沒有足夠多的物理機,只能使用vmware虛擬出多臺機器來,為了圖省事,在一臺虛擬機器裝完CentOS後,就克隆了三臺,可是在使用克隆的三臺機器時,發現網路使用時出現了Bring up interface eth0:Device eth0 does not seem to b