msm: camera: IMX091 sensor kernel driver
This driver includes voltage regulator configuration,
clock configuration, sensor gpio settings and sensor
register settings to enable preview and snapshot for
Sony IMX091 sensor.
Change-Id: Ib974e78bdb4310350c27eda20e0cc49e4c34916e
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-8064-camera.c b/arch/arm/mach-msm/board-8064-camera.c
index d335978..157c939 100644
--- a/arch/arm/mach-msm/board-8064-camera.c
+++ b/arch/arm/mach-msm/board-8064-camera.c
@@ -463,6 +463,39 @@
.camera_type = BACK_CAMERA_2D,
.actuator_info = &imx074_actuator_info
};
+static struct msm_camera_csi_lane_params imx091_csi_lane_params = {
+ .csi_lane_assign = 0xE4,
+ .csi_lane_mask = 0xF,
+};
+
+static struct camera_vreg_t apq_8064_imx091_vreg[] = {
+ {"cam_vana", REG_LDO, 2800000, 2850000, 85600},
+ {"cam_vaf", REG_LDO, 2800000, 2850000, 300000},
+ {"cam_vdig", REG_LDO, 1200000, 1200000, 105000},
+ {"cam_vio", REG_VS, 0, 0, 0},
+};
+
+static struct msm_camera_sensor_flash_data flash_imx091 = {
+ .flash_type = MSM_CAMERA_FLASH_NONE,
+};
+
+static struct msm_camera_sensor_platform_info sensor_board_info_imx091 = {
+ .mount_angle = 0,
+ .cam_vreg = apq_8064_imx091_vreg,
+ .num_vreg = ARRAY_SIZE(apq_8064_imx091_vreg),
+ .gpio_conf = &apq8064_back_cam_gpio_conf,
+ .i2c_conf = &apq8064_back_cam_i2c_conf,
+ .csi_lane_params = &imx091_csi_lane_params,
+};
+
+static struct msm_camera_sensor_info msm_camera_sensor_imx091_data = {
+ .sensor_name = "imx091",
+ .pdata = &msm_camera_csi_device_data[0],
+ .flash_data = &flash_imx091,
+ .sensor_platform_info = &sensor_board_info_imx091,
+ .csi_if = 1,
+ .camera_type = BACK_CAMERA_2D,
+};
static struct camera_vreg_t apq_8064_mt9m114_vreg[] = {
{"cam_vio", REG_VS, 0, 0, 0},
@@ -562,6 +595,10 @@
{
I2C_BOARD_INFO("sc628a", 0x6E),
},
+ {
+ I2C_BOARD_INFO("imx091", 0x34),
+ .platform_data = &msm_camera_sensor_imx091_data,
+ },
};
struct msm_camera_board_info apq8064_camera_board_info = {