[COMMON] fimc-is2: modify 3l2 module files for maestro
authorSangHyun Sim <sanghyun.sim@samsung.com>
Fri, 8 Jun 2018 06:20:40 +0000 (15:20 +0900)
committerWooyeon Kim <wooy88.kim@samsung.com>
Fri, 6 Jul 2018 01:43:24 +0000 (10:43 +0900)
Change-Id: I1c03f3829a5ba1574c2d44f7779692bf81a1157c
Signed-off-by: SangHyun Sim <sanghyun.sim@samsung.com>
drivers/media/platform/exynos/fimc-is2/sensor/module_framework/cis/fimc-is-cis-3l2.c
drivers/media/platform/exynos/fimc-is2/sensor/module_framework/cis/fimc-is-cis-3l2.h
drivers/media/platform/exynos/fimc-is2/sensor/module_framework/modules/fimc-is-device-module-3l2.c

index ca2d0a978c2f4dcdbfccad93e5a7c99961986ed3..e7e518a5d33e0664f31bba6e28612bc3f298bd4f 100644 (file)
@@ -59,7 +59,7 @@ static void sensor_3l2_cis_data_calculation(const struct sensor_pll_info *pll_in
        u32 pll_voc_a = 0, vt_pix_clk_hz = 0;
        u32 frame_rate = 0, max_fps = 0, frame_valid_us = 0;
 
-       FIMC_BUG(!pll_info);
+       FIMC_BUG_VOID(!pll_info);
 
        /* 1. mipi data rate calculation (Mbps/Lane) */
        /* ToDo: using output Pixel Clock Divider Value */
index 603df81a1ae658ea05f86460ce2a001fbc83d94c..0af12fd7f8ca872d92dacb0c44acea0401cf67e3 100644 (file)
@@ -14,7 +14,7 @@
 
 #include "fimc-is-cis.h"
 
-#define EXT_CLK_Mhz (24.37)
+#define EXT_CLK_Mhz (26)
 
 #define SENSOR_3L2_MAX_WIDTH           (4128 + 16)
 #define SENSOR_3L2_MAX_HEIGHT          (3096 + 10)
index 5e0c6f6ca94e5ad4ef142eccc410672b82c63b55..0e42a858ba34743cebb2a5668e9d48e893f731ad 100644 (file)
 
 static struct fimc_is_sensor_cfg config_module_3l2[] = {
        /* 4144x3106@30fps */
-       FIMC_IS_SENSOR_CFG(4144, 3106, 30, 30, 0, CSI_DATA_LANES_4),
+       FIMC_IS_SENSOR_CFG(4144, 3106, 30, 0, 0, CSI_DATA_LANES_4, 1088, CSI_MODE_VC_ONLY, PD_NONE,
+               VC_IN(0, HW_FORMAT_RAW10, 4144, 3106), VC_OUT(HW_FORMAT_RAW10, VC_NOTHING, 0, 0),
+               VC_IN(1, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(2, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(3, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0)),
        /* 4144x2332@30fps */
-       FIMC_IS_SENSOR_CFG(4144, 2332, 30, 30, 1, CSI_DATA_LANES_4),
+       FIMC_IS_SENSOR_CFG(4144, 2332, 30, 0, 1, CSI_DATA_LANES_4, 1088, CSI_MODE_VC_ONLY, PD_NONE,
+               VC_IN(0, HW_FORMAT_RAW10, 4144, 2332), VC_OUT(HW_FORMAT_RAW10, VC_NOTHING, 0, 0),
+               VC_IN(1, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(2, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(3, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0)),
        /* 2072x1552@15fps */
-       FIMC_IS_SENSOR_CFG(2072, 1552, 15, 30, 2, CSI_DATA_LANES_4),
+       FIMC_IS_SENSOR_CFG(2072, 1552, 15, 0, 2, CSI_DATA_LANES_4, 1088, CSI_MODE_VC_ONLY, PD_NONE,
+               VC_IN(0, HW_FORMAT_RAW10, 2072, 1552), VC_OUT(HW_FORMAT_RAW10, VC_NOTHING, 0, 0),
+               VC_IN(1, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(2, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(3, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0)),
        /* 2072x1552@30fps */
-       FIMC_IS_SENSOR_CFG(2072, 1552, 30, 30, 3, CSI_DATA_LANES_4),
+       FIMC_IS_SENSOR_CFG(2072, 1552, 30, 0, 3, CSI_DATA_LANES_4, 897, CSI_MODE_VC_ONLY, PD_NONE,
+               VC_IN(0, HW_FORMAT_RAW10, 2072, 1552), VC_OUT(HW_FORMAT_RAW10, VC_NOTHING, 0, 0),
+               VC_IN(1, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(2, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(3, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0)),
        /* 2072x1166@60fps */
-       FIMC_IS_SENSOR_CFG(2072, 1166, 60, 23, 4, CSI_DATA_LANES_4),
+       FIMC_IS_SENSOR_CFG(2072, 1166, 60, 0, 4, CSI_DATA_LANES_4, 541, CSI_MODE_VC_ONLY, PD_NONE,
+               VC_IN(0, HW_FORMAT_RAW10, 2072, 1166), VC_OUT(HW_FORMAT_RAW10, VC_NOTHING, 0, 0),
+               VC_IN(1, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(2, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(3, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0)),
        /* 1008x754@120fps */
-       FIMC_IS_SENSOR_CFG(1008, 754, 120, 23, 5, CSI_DATA_LANES_4),
+       FIMC_IS_SENSOR_CFG(1008, 754, 120, 0, 5, CSI_DATA_LANES_4, 401, CSI_MODE_VC_ONLY, PD_NONE,
+               VC_IN(0, HW_FORMAT_RAW10, 1008, 754), VC_OUT(HW_FORMAT_RAW10, VC_NOTHING, 0, 0),
+               VC_IN(1, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(2, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(3, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0)),
        /* 1008x568@120fps */
-       FIMC_IS_SENSOR_CFG(1008, 568, 120, 19, 6, CSI_DATA_LANES_4),
-};
-
-static struct fimc_is_vci vci_module_3l2[] = {
-       {
-               .pixelformat = V4L2_PIX_FMT_SBGGR10,
-               .config = {{0, HW_FORMAT_RAW10}, {1, HW_FORMAT_UNKNOWN}, {2, HW_FORMAT_USER}, {3, 0}}
-       }, {
-               .pixelformat = V4L2_PIX_FMT_SBGGR12,
-               .config = {{0, HW_FORMAT_RAW10}, {1, HW_FORMAT_UNKNOWN}, {2, HW_FORMAT_USER}, {3, 0}}
-       }, {
-               .pixelformat = V4L2_PIX_FMT_SBGGR16,
-               .config = {{0, HW_FORMAT_RAW10}, {1, HW_FORMAT_UNKNOWN}, {2, HW_FORMAT_USER}, {3, 0}}
-       }
+       FIMC_IS_SENSOR_CFG(1008, 568, 120, 0, 6, CSI_DATA_LANES_4, 401, CSI_MODE_VC_ONLY, PD_NONE,
+               VC_IN(0, HW_FORMAT_RAW10, 1008, 568), VC_OUT(HW_FORMAT_RAW10, VC_NOTHING, 0, 0),
+               VC_IN(1, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(2, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0),
+               VC_IN(3, HW_FORMAT_UNKNOWN, 0, 0), VC_OUT(HW_FORMAT_UNKNOWN, VC_NOTHING, 0, 0)),
 };
 
 static const struct v4l2_subdev_core_ops core_ops = {
@@ -93,7 +108,6 @@ static const struct v4l2_subdev_ops subdev_ops = {
        .pad = &pad_ops
 };
 
-#if defined(CONFIG_SOC_EXYNOS7570)
 static int sensor_module_3l2_power_setpin(struct platform_device *pdev,
        struct exynos_platform_fimc_is_module *pdata)
 {
@@ -124,115 +138,40 @@ static int sensor_module_3l2_power_setpin(struct platform_device *pdev,
        SET_PIN_INIT(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_ON);
        SET_PIN_INIT(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_OFF);
 
-       /* BACK CAEMRA - POWER ON */
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_reset, "sen_rst low", PIN_OUTPUT, 0, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "AVDD24_CAM_2P8", PIN_REGULATOR, 1, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "VDD23_CAM_CORE_1P2", PIN_REGULATOR, 1, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "VDD28_CAM_AF", PIN_REGULATOR, 1, 12000);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "VDD18_CAM_SENSOR_IO", PIN_REGULATOR, 1, 2000);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "pin", PIN_FUNCTION, 2, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_reset, "sen_rst high", PIN_OUTPUT, 1, 1000);
-
-       /* BACK CAEMRA - POWER OFF */
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "VDD28_CAM_AF", PIN_REGULATOR, 0,1000);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "pin", PIN_FUNCTION, 0, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "pin", PIN_FUNCTION, 1, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "pin", PIN_FUNCTION, 0, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "delay", PIN_NONE, 0, 1500);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_reset, "sen_rst low", PIN_OUTPUT, 0, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "VDD18_CAM_SENSOR_IO", PIN_REGULATOR, 0, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "VDD23_CAM_CORE_1P2", PIN_REGULATOR, 0, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "AVDD24_CAM_2P8", PIN_REGULATOR, 0, 0);
-
-       /* READ_ROM - POWER ON */
-       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_ON, gpio_none, "VDD28_CAM_AF", PIN_REGULATOR, 1, 12000);
-       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_ON, gpio_none, "VDD18_CAM_SENSOR_IO", PIN_REGULATOR, 1, 2000);
-
-       /* READ_ROM - POWER OFF */
-       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_OFF, gpio_none, "VDD28_CAM_AF", PIN_REGULATOR, 0,1000);
-       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_OFF, gpio_none, "VDD18_CAM_SENSOR_IO", PIN_REGULATOR, 0, 0);
-
-       dev_info(dev, "%s X v4\n", __func__);
-
-       return 0;
-}
-#else
-static int sensor_module_3l2_power_setpin(struct platform_device *pdev,
-       struct exynos_platform_fimc_is_module *pdata)
-{
-       struct device *dev;
-       struct device_node *dnode;
-       int gpio_reset = 0;
-       int gpio_none = 0;
-       int gpio_camio_1p8_en = 0;
-       int gpio_camaf_2p8_en = 0;
-       int gpio_cam_1p2_en = 0;
-
-       FIMC_BUG(!pdev);
-
-       dev = &pdev->dev;
-       dnode = dev->of_node;
-
-       dev_info(dev, "%s E v4\n", __func__);
-
-       /* TODO */
-       gpio_reset = of_get_named_gpio(dnode, "gpio_reset", 0);
-       if (!gpio_is_valid(gpio_reset)) {
-               dev_err(dev, "failed to get gpio_reset\n");
-       } else {
-               gpio_request_one(gpio_reset, GPIOF_OUT_INIT_LOW, "CAM_GPIO_OUTPUT_LOW");
-               gpio_free(gpio_reset);
-       }
-
-       gpio_camio_1p8_en = of_get_named_gpio(dnode, "gpio_camio_1p8_en", 0);
-       gpio_camaf_2p8_en = of_get_named_gpio(dnode, "gpio_camaf_2p8_en", 0);
-       gpio_cam_1p2_en = of_get_named_gpio(dnode, "gpio_cam_1p2_en", 0);
-
-       gpio_request_one(gpio_camio_1p8_en, GPIOF_OUT_INIT_LOW, "CAM_GPIO_OUTPUT_LOW");
-       gpio_request_one(gpio_camaf_2p8_en, GPIOF_OUT_INIT_LOW, "CAM_GPIO_OUTPUT_LOW");
-       gpio_request_one(gpio_cam_1p2_en, GPIOF_OUT_INIT_LOW, "CAM_GPIO_OUTPUT_LOW");
-
-       gpio_free(gpio_camio_1p8_en);
-       gpio_free(gpio_camaf_2p8_en);
-       gpio_free(gpio_cam_1p2_en);
-
-       SET_PIN_INIT(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON);
-       SET_PIN_INIT(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF);
-
-       SET_PIN_INIT(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_ON);
-       SET_PIN_INIT(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_OFF);
-
        /* BACK CAEMRA - POWER ON */
        SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_reset, "sen_rst low", PIN_OUTPUT, 0, 0);
 
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "VDD_CAM_SENSOR_A2P8", PIN_REGULATOR, 1, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_cam_1p2_en, "cam_1p2_en", PIN_OUTPUT, 1, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_camaf_2p8_en, "camaf_2p8_en", PIN_OUTPUT, 1, 2000);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_camio_1p8_en, "camio_1p8_en", PIN_OUTPUT, 1, 2000);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "pin", PIN_FUNCTION, 1, 3000);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "CAM0_SVDDA29", PIN_REGULATOR, 1, 0);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "SVDD10", PIN_REGULATOR, 1, 0);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "CAM0_VDD28_AF", PIN_REGULATOR, 1, 2000);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "CAM0_SVDDD18", PIN_REGULATOR, 1, 2000);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "on_i2c", PIN_I2C, 1, 0);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_none, "pin", PIN_FUNCTION, 2, 3000);
        SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_ON, gpio_reset, "sen_rst high", PIN_OUTPUT, 1, 0);
 
        /* BACK CAEMRA - POWER OFF */
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_camaf_2p8_en, "camaf_2p8_en", PIN_OUTPUT, 0, 1000);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "CAM0_VDD28_AF", PIN_REGULATOR, 0, 1000);
        SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "pin", PIN_FUNCTION, 0, 10);
        SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_reset, "sen_rst low", PIN_OUTPUT, 0, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_camio_1p8_en, "camio_1p8_en", PIN_OUTPUT, 0, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_cam_1p2_en, "cam_1p2_en", PIN_OUTPUT, 0, 0);
-       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "VDD_CAM_SENSOR_A2P8", PIN_REGULATOR, 0, 0);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "off_i2c", PIN_I2C, 0, 0);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "CAM0_SVDDD18", PIN_REGULATOR, 0, 0);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "SVDD10", PIN_REGULATOR, 0, 0);
+       SET_PIN(pdata, SENSOR_SCENARIO_NORMAL, GPIO_SCENARIO_OFF, gpio_none, "CAM0_SVDDA29", PIN_REGULATOR, 0, 0);
 
        /* READ_ROM - POWER ON */
-       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_ON, gpio_camaf_2p8_en, "camaf_2p8_en", PIN_OUTPUT, 1, 2000);
-       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_ON, gpio_camio_1p8_en, "camio_1p8_en", PIN_OUTPUT, 1, 2000);
+       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_ON, gpio_none, "CAM0_VDD28_AF", PIN_REGULATOR, 1, 2000);
+       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_ON, gpio_none, "CAM0_SVDDD18", PIN_REGULATOR, 1, 2000);
+       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_ON, gpio_none, "on_i2c", PIN_I2C, 1, 0);
 
        /* READ_ROM - POWER OFF */
-       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_OFF, gpio_camaf_2p8_en, "camaf_2p8_en", PIN_OUTPUT, 0, 10);
-       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_OFF, gpio_camio_1p8_en, "camio_1p8_en", PIN_OUTPUT, 0, 0);
+       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_OFF, gpio_none, "CAM0_VDD28_AF", PIN_REGULATOR, 0, 10);
+       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_OFF, gpio_none, "CAM0_SVDDD18", PIN_REGULATOR, 0, 0);
+       SET_PIN(pdata, SENSOR_SCENARIO_READ_ROM, GPIO_SCENARIO_OFF, gpio_none, "off_i2c", PIN_I2C, 0, 0);
 
        dev_info(dev, "%s X v4\n", __func__);
 
        return 0;
 }
-#endif
 
 static int __init sensor_module_3l2_probe(struct platform_device *pdev)
 {
@@ -287,11 +226,7 @@ static int __init sensor_module_3l2_probe(struct platform_device *pdev)
        module->pixel_height = module->active_height;
        module->max_framerate = 120;
        module->position = pdata->position;
-       module->mode = CSI_MODE_CH0_ONLY;
-       module->lanes = CSI_DATA_LANES_4;
        module->bitwidth = 10;
-       module->vcis = ARRAY_SIZE(vci_module_3l2);
-       module->vci = vci_module_3l2;
        module->sensor_maker = "SLSI";
        module->sensor_name = "S5K3L2";
        module->setfile_name = "setfile_3l2.bin";
@@ -309,7 +244,6 @@ static int __init sensor_module_3l2_probe(struct platform_device *pdev)
        PERI_SET_MODULE(module);
 
        ext = &module->ext;
-       ext->mipi_lane_num = module->lanes;
 
        ext->sensor_con.product_name = module->sensor_id;
        ext->sensor_con.peri_type = SE_I2C;