s.assign()用法c++_assign是什么意思
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= ; //(Use LED flash subdev 0)
qcom,mount-angle =<90>; //(mount angle 90 degree)
qcom,sensor-name =“imx111”;// (sensor name)
cam_vdig-supply =;// (Use L3 for VDIG)
cam_vana-supply =;// (Use L23 for VANA)
cam_vio-supply =; //(Use LVS3 for VIO)
cam_vaf-supply =; //(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 =, ;
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是否正常
總結
以上是生活随笔為你收集整理的s.assign()用法c++_assign是什么意思的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 巴特沃斯滤波器应用场合_巴特沃斯数字低通
- 下一篇: airpods pro是按压还是触摸_A