Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c45066aa authored by Jeyaprakash Soundrapandian's avatar Jeyaprakash Soundrapandian Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: camera: Add shared gpio and flash support" into dev/msm-4.9-camx

parents 1bae3050 3d8ee902
Loading
Loading
Loading
Loading
+24 −0
Original line number Original line Diff line number Diff line
@@ -54,6 +54,21 @@ Optional properties:
- hw-trdhld : should contain internal hold time for SDA
- hw-trdhld : should contain internal hold time for SDA
- hw-tsp : should contain filtering of glitches
- hw-tsp : should contain filtering of glitches


* Qualcomm Technologies, Inc. MSM Camera Sensor Resource Manager

MSM camera sensor resource manager node contains properties of shared camera
sensor resource.

Required properties:
- compatible : should be manufacturer name followed by sensor name
  - "qcom,cam-res-mgr"
Optional properties:
- shared-gpios : should contain the gpios which are used by two or more
  cameras, and these cameras may be opened together.
- pinctrl-names: List of names to assign the shared pin state defined in pinctrl device node
- pinctrl-<0..n>: Lists phandles each pointing to the pin configuration node within a pin
  controller. These pin configurations are installed in the pinctrl device node.

* Qualcomm Technologies, Inc. MSM Sensor
* Qualcomm Technologies, Inc. MSM Sensor


MSM sensor node contains properties of camera sensor
MSM sensor node contains properties of camera sensor
@@ -334,6 +349,15 @@ qcom,cci@0xfda0c000 {
         rgltr-load-current = <100000>;
         rgltr-load-current = <100000>;
    };
    };


    qcom,cam-res-mgr {
         compatible = "qcom,cam-res-mgr";
         status = "ok";
         shared-gpios = <18 19>;
         pinctrl-names = "cam_res_mgr_default", "cam_res_mgr_suspend";
         pinctrl-0 = <&cam_res_mgr_active>;
         pinctrl-1 = <&cam_res_mgr_suspend>;
    };

    qcom,cam-sensor@0 {
    qcom,cam-sensor@0 {
         cell-index = <0>;
         cell-index = <0>;
         compatible = "qcom,camera";
         compatible = "qcom,camera";
+1 −0
Original line number Original line Diff line number Diff line
obj-$(CONFIG_SPECTRA_CAMERA) += cam_res_mgr/
obj-$(CONFIG_SPECTRA_CAMERA) += cam_sensor_utils/
obj-$(CONFIG_SPECTRA_CAMERA) += cam_sensor_utils/
obj-$(CONFIG_SPECTRA_CAMERA) += cam_cci/
obj-$(CONFIG_SPECTRA_CAMERA) += cam_cci/
obj-$(CONFIG_SPECTRA_CAMERA) += cam_sensor_io/
obj-$(CONFIG_SPECTRA_CAMERA) += cam_sensor_io/
+1 −0
Original line number Original line Diff line number Diff line
ccflags-y += -Idrivers/media/platform/msm/camera/cam_cpas/include
ccflags-y += -Idrivers/media/platform/msm/camera/cam_cpas/include
ccflags-y += -Idrivers/media/platform/msm/camera/cam_core
ccflags-y += -Idrivers/media/platform/msm/camera/cam_core
ccflags-y += -Idrivers/media/platform/msm/camera/cam_req_mgr
ccflags-y += -Idrivers/media/platform/msm/camera/cam_req_mgr
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_res_mgr
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_cci
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_cci
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_io
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_io
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_utils
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_utils
+3 −2
Original line number Original line Diff line number Diff line
@@ -15,6 +15,7 @@
#include "cam_actuator_core.h"
#include "cam_actuator_core.h"
#include "cam_sensor_util.h"
#include "cam_sensor_util.h"
#include "cam_trace.h"
#include "cam_trace.h"
#include "cam_res_mgr_api.h"


static int32_t cam_actuator_vreg_control(
static int32_t cam_actuator_vreg_control(
	struct cam_actuator_ctrl_t *a_ctrl,
	struct cam_actuator_ctrl_t *a_ctrl,
@@ -66,7 +67,7 @@ static int32_t cam_actuator_power_up(struct cam_actuator_ctrl_t *a_ctrl)
	if (soc_info->gpio_data &&
	if (soc_info->gpio_data &&
		gpio_num_info &&
		gpio_num_info &&
		gpio_num_info->valid[SENSOR_VAF] == 1) {
		gpio_num_info->valid[SENSOR_VAF] == 1) {
		gpio_set_value_cansleep(
		cam_res_mgr_gpio_set_value(
			gpio_num_info->gpio_num[SENSOR_VAF],
			gpio_num_info->gpio_num[SENSOR_VAF],
			1);
			1);
	}
	}
@@ -94,7 +95,7 @@ static int32_t cam_actuator_power_down(struct cam_actuator_ctrl_t *a_ctrl)
		gpio_num_info &&
		gpio_num_info &&
		gpio_num_info->valid[SENSOR_VAF] == 1) {
		gpio_num_info->valid[SENSOR_VAF] == 1) {


		gpio_set_value_cansleep(
		cam_res_mgr_gpio_set_value(
			gpio_num_info->gpio_num[SENSOR_VAF],
			gpio_num_info->gpio_num[SENSOR_VAF],
			GPIOF_OUT_INIT_LOW);
			GPIOF_OUT_INIT_LOW);
	}
	}
+1 −0
Original line number Original line Diff line number Diff line
ccflags-y += -Idrivers/media/platform/msm/camera/cam_utils
ccflags-y += -Idrivers/media/platform/msm/camera/cam_utils
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sync
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sync
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_res_mgr
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_utils
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_utils
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_io
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_sensor_io
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_cci
ccflags-y += -Idrivers/media/platform/msm/camera/cam_sensor_module/cam_cci
Loading