高通平台摄像头调试

前言:根据自己摄像头的型号,进行摄像头驱动的调试
1./vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/configs$ vim msm8953_camera.xml

<CameraConfigurationRoot>
-  <CameraModuleConfig>
+  <!--CameraModuleConfig>
     <CameraId>0</CameraId>
-    <SensorName>s5k3p3</SensorName>
-    <ActuatorName>dw9763</ActuatorName>
-    <EepromName>s5k3p3_gt24c32</EepromName>
-    <!--FlashName>pmic</FlashName-->
-    <ChromatixName>s5k3p3_chromatix</ChromatixName>
+    <SensorName>ov5648</SensorName>
+    <ChromatixName>ov5648_chromatix</ChromatixName>
     <ModesSupported>1</ModesSupported>
     <Position>BACK</Position>
     <MountAngle>270</MountAngle>
     <CSIInfo>
       <CSIDCore>0</CSIDCore>
-      <LaneMask>0x1F</LaneMask>
+      <LaneMask>0x7</LaneMask>
       <LaneAssign>0x4320</LaneAssign>
       <ComboMode>0</ComboMode>
     </CSIInfo>
     <LensInfo>
-      <FocalLength>3.57</FocalLength>
-      <FNumber>2.0</FNumber>
+      <FocalLength>1.98</FocalLength>
+      <FNumber>2.4</FNumber>
       <TotalFocusDistance>1.2</TotalFocusDistance>
-      <HorizontalViewAngle>64.7</HorizontalViewAngle>
-      <VerticalViewAngle>48.5</VerticalViewAngle>
+      <HorizontalViewAngle>68.0</HorizontalViewAngle>
+      <VerticalViewAngle>51.0</VerticalViewAngle>
       <MinFocusDistance>0.1</MinFocusDistance>
     </LensInfo>
-  </CameraModuleConfig>
+  </CameraModuleConfig-->
 
   <CameraModuleConfig>
-    <CameraId>2</CameraId>
+    <CameraId>0</CameraId>
     <SensorName>hi843</SensorName>
     <ActuatorName>dw9714</ActuatorName>
-    <!--FlashName>pmic</FlashName-->
+    <FlashName>pmic</FlashName>
     <ChromatixName>hi843_chromatix</ChromatixName>
     <ModesSupported>1</ModesSupported>
-    <Position>FRONT</Position>
+    <Position>BACK</Position>
     <MountAngle>270</MountAngle>
     <CSIInfo>
-      <CSIDCore>1</CSIDCore>
+      <CSIDCore>0</CSIDCore>
       <LaneMask>0x07</LaneMask>
       <LaneAssign>0x4320</LaneAssign>
       <ComboMode>0</ComboMode>

2.添加摄像头的驱动
2.1kernel/msm-4.9/arch/arm64/boot/dts/qcom/msm8953-camera-sensor-mtp.dtsi

 		qcom,csiphy-sd-index = <0>;
 		qcom,csid-sd-index = <0>;
 		qcom,mount-angle = <270>;
-		qcom,eeprom-src = <&eeprom0>;
+		//qcom,eeprom-src = <&eeprom0>;
+        qcom,led-flash-src = <&led_flash0>;
 		qcom,actuator-src = <&actuator0>;
 		cam_vio-supply = <&pm8953_l6>;
-		cam_vdig-supply = <&pm8953_l2>;
+		cam_vdig-supply = <&pm8953_l23>;
 		cam_vaf-supply = <&pm8953_l17>;
 		cam_vana-supply = <&pm8953_l22>;
 		qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vaf",
 						"cam_vana";
-		qcom,cam-vreg-min-voltage = <0 1100000 2850000 2800000>;
-		qcom,cam-vreg-max-voltage = <0 1100000 2850000 2800000>;
+		qcom,cam-vreg-min-voltage = <0 1175000 2850000 2800000>;
+		qcom,cam-vreg-max-voltage = <0 1175000 2850000 2800000>;
 		qcom,cam-vreg-op-mode = <0 105000 100000 80000>;
 		pinctrl-names = "cam_default", "cam_suspend";
 		pinctrl-0 = <&cam_sensor_mclk0_default
@@ -217,17 +218,14 @@
 				&cam_sensor_rear_vana_sleep>;
 		gpios = <&tlmm 26 0>,
 			<&tlmm 40 0>,
-			<&tlmm 39 0>,
-			<&tlmm 3 0>;
+			<&tlmm 39 0>;
 		qcom,gpio-reset = <1>;
 		qcom,gpio-standby = <2>;
-		qcom,gpio-vdig = <3>;
-		qcom,gpio-req-tbl-num = <0 1 2 3>;
-		qcom,gpio-req-tbl-flags = <1 0 0 0>;
+		qcom,gpio-req-tbl-num = <0 1 2>;
+		qcom,gpio-req-tbl-flags = <1 0 0>;
 		qcom,gpio-req-tbl-label = "CAMIF_MCLK0",
 			"CAM_RESET0",
-			"CAM_STANDBY0",
-			"CAM_VDIG";
+			"CAM_STANDBY0";
 		qcom,sensor-position = <0>;
 		qcom,sensor-mode = <0>;
 		qcom,cci-master = <0>;

2.2kernel/msm-4.9/arch/arm64/boot/dts/qcom/msm8953-pinctrl.dtsi

cam_sensor_rear_default: cam_sensor_rear_default {
                        /* RESET, STANDBY */
                        mux {
                                pins = "gpio40", "gpio39";
                                function = "gpio";
                        };

                        config {
                                pins = "gpio40","gpio39";
                                bias-disable; /* No PULL */
                                drive-strength = <2>; /* 2 MA */
                        };
                };

                cam_sensor_rear_sleep: cam_sensor_rear_sleep {
                        /* RESET, STANDBY */
                        mux {
                                pins = "gpio40","gpio39";
                                function = "gpio";
                        };

                        config {
                                pins = "gpio40","gpio39";
                                bias-disable; /* No PULL */
                                drive-strength = <2>; /* 2 MA */
                        };
                };

3.闪光灯驱动
3.1/kernel/msm-4.9/arch/arm64/boot/dts/qcom/msm8953.dtsi

led_flash0: qcom,camera-flash {
                cell-index = <0>;
                compatible = "qcom,camera-flash";
                qcom,flash-type = <2>;
                qcom,flash-en = <&tlmm 0 0x00>;
                qcom,flash-now = <&tlmm 3 0x00>;
        };

3.2/kernel/msm-4.9/drivers/media/platform/msm/camera_v2/sensor/flash/msm_flash.c

if(gpio_is_valid(flash_ctrl->gpio_flash_en)){
                rc = gpio_request(flash_ctrl->gpio_flash_en, "qcom,flash-en");
                if(rc){
                        pr_err("%s:%d request flash en gpio failed!\n", __func__, __LINE__);
                        return rc;
                }
                rc = gpio_direction_output(flash_ctrl->gpio_flash_en, 0);
                if(rc){
                        pr_err("%s:%d flash en gpio set output failed!\n", __func__, __LINE__);
                        return rc;
                }

                rc = gpio_request(flash_ctrl->gpio_flash_now, "qcom,flash-now");
                if(rc){
                        pr_err("%s:%d request flash en gpio failed!\n", __func__, __LINE__);
                        return rc;
                }
                rc = gpio_direction_output(flash_ctrl->gpio_flash_now, 0);
                if(rc){
                        pr_err("%s:%d flash en gpio set output failed!\n", __func__, __LINE__);
                        return rc;
                }
        }

你可能感兴趣的:(高通平台摄像头调试)