diff options
author | Suman Kumar <suman@inforcecomputing.com> | 2013-08-06 18:44:40 +0530 |
---|---|---|
committer | Nicolas Dechesne <nicolas.dechesne@linaro.org> | 2014-05-06 17:48:45 -0700 |
commit | ccaa74aedd881a1025caed32c29a2e05d1d27c4c (patch) | |
tree | 2790bc00234b13344ddd91607ba79c8cbc8aaf2c | |
parent | f74d6413356f01ad6256ed38b604e73f2c3f23e2 (diff) |
mipi csi: ov5640: board specific changes to enable ov5640 primary mipi camera
Change-Id: I0132a91e8c3d8e1f5fac3af28b33cb80d718dfb1
Signed-off-by: Suman Kumar <suman@inforcecomputing.com>
-rw-r--r-- | arch/arm/mach-msm/board-8064-camera.c | 35 | ||||
-rwxr-xr-x | arch/arm/mach-msm/board-8064-pmic.c | 3 | ||||
-rwxr-xr-x | arch/arm/mach-msm/clock-8960.c | 2 | ||||
-rw-r--r-- | drivers/media/video/msm/Kconfig | 14 | ||||
-rw-r--r-- | drivers/media/video/msm/Makefile | 3 | ||||
-rw-r--r-- | drivers/media/video/msm/sensors/Makefile | 1 |
6 files changed, 51 insertions, 7 deletions
diff --git a/arch/arm/mach-msm/board-8064-camera.c b/arch/arm/mach-msm/board-8064-camera.c index bc1ededb4431..51fd1eb25c84 100644 --- a/arch/arm/mach-msm/board-8064-camera.c +++ b/arch/arm/mach-msm/board-8064-camera.c @@ -636,6 +636,35 @@ static struct msm_camera_sensor_info msm_camera_sensor_mt9m114_data = { .sensor_type = YUV_SENSOR, }; +#ifdef CONFIG_OV5640 +static struct msm_camera_sensor_flash_data flash_ov5640 = { + .flash_type = MSM_CAMERA_FLASH_NONE +}; + +static struct msm_camera_csi_lane_params ov5640_csi_lane_params = { + .csi_lane_assign = 0xE4, + .csi_lane_mask = 0x3, +}; + +static struct msm_camera_sensor_platform_info sensor_board_info_ov5640 = +{ + .mount_angle = 0, + .gpio_conf = &apq8064_back_cam_gpio_conf, + .i2c_conf = &apq8064_back_cam_i2c_conf, + .csi_lane_params = &ov5640_csi_lane_params, +}; + +static struct msm_camera_sensor_info msm_camera_sensor_ov5640_data = { + .sensor_name = "ov5640", + .pdata = &msm_camera_csi_device_data[0], + .flash_data = &flash_ov5640, + .sensor_platform_info = &sensor_board_info_ov5640, + .csi_if = 1, + .camera_type = BACK_CAMERA_2D, + .sensor_type = YUV_SENSOR, +}; +#endif + static struct msm_camera_sensor_flash_data flash_ov2720 = { .flash_type = MSM_CAMERA_FLASH_NONE, }; @@ -701,6 +730,12 @@ static struct i2c_board_info apq8064_camera_i2c_boardinfo[] = { I2C_BOARD_INFO("mt9m114", 0x48), .platform_data = &msm_camera_sensor_mt9m114_data, }, +#ifdef CONFIG_OV5640 + { + I2C_BOARD_INFO("ov5640", 0x3C), + .platform_data = &msm_camera_sensor_ov5640_data, + }, +#endif { I2C_BOARD_INFO("ov2720", 0x6C), .platform_data = &msm_camera_sensor_ov2720_data, diff --git a/arch/arm/mach-msm/board-8064-pmic.c b/arch/arm/mach-msm/board-8064-pmic.c index 7c084d247d69..64783b761747 100755 --- a/arch/arm/mach-msm/board-8064-pmic.c +++ b/arch/arm/mach-msm/board-8064-pmic.c @@ -131,6 +131,9 @@ static struct pm8xxx_gpio_init pm8921_gpios[] __initdata = { PM8921_GPIO_INPUT(6, PM_GPIO_PULL_UP_30), /* PCIE_WAKE_N */ PM8921_GPIO_OUTPUT(43, 1, HIGH), PM8921_GPIO_OUTPUT(44, 1, HIGH), +#ifdef CONFIG_OV5640 + PM8921_GPIO_OUTPUT(28,1, MED), +#endif }; static struct pm8xxx_gpio_init pm8921_mtp_kp_gpios[] __initdata = { diff --git a/arch/arm/mach-msm/clock-8960.c b/arch/arm/mach-msm/clock-8960.c index 273109ac01a0..b304a3c02237 100755 --- a/arch/arm/mach-msm/clock-8960.c +++ b/arch/arm/mach-msm/clock-8960.c @@ -5380,6 +5380,7 @@ static struct clk_lookup msm_clocks_8064[] = { CLK_LOOKUP("cam_clk", cam0_clk.c, "4-0034"), CLK_LOOKUP("cam_clk", cam0_clk.c, "4-0020"), CLK_LOOKUP("cam_clk", cam1_clk.c, "4-0048"), + CLK_LOOKUP("cam_clk", cam0_clk.c, "4-003c"), CLK_LOOKUP("cam_clk", cam1_clk.c, "4-006c"), CLK_LOOKUP("csi_src_clk", csi0_src_clk.c, "msm_csid.0"), CLK_LOOKUP("csi_src_clk", csi1_src_clk.c, "msm_csid.1"), @@ -5738,6 +5739,7 @@ static struct clk_lookup msm_clocks_8960_common[] __initdata = { CLK_LOOKUP("core_clk", pmic_ssbi2_clk.c, ""), CLK_LOOKUP("mem_clk", rpm_msg_ram_p_clk.c, ""), CLK_LOOKUP("cam_clk", cam0_clk.c, "4-001a"), + CLK_LOOKUP("cam_clk", cam0_clk.c, "4-003c"), CLK_LOOKUP("cam_clk", cam0_clk.c, "4-006c"), CLK_LOOKUP("cam_clk", cam0_clk.c, "4-0048"), CLK_LOOKUP("cam_clk", cam2_clk.c, NULL), diff --git a/drivers/media/video/msm/Kconfig b/drivers/media/video/msm/Kconfig index 772e055b3eb7..271a53a96a69 100644 --- a/drivers/media/video/msm/Kconfig +++ b/drivers/media/video/msm/Kconfig @@ -36,12 +36,6 @@ config IMX074 depends on MSM_CAMERA ---help--- SONY 13.5 MP Bayer Sensor -config OV5640 - bool "Sensor OV5640 (YUV 5M)" - depends on MSM_CAMERA && !MSM_CAMERA_V4L2 - default n - ---help--- - Omni 5M YUV Sensor config OV5647 bool "Sensor ov5647 (BAYER 5M)" @@ -61,6 +55,14 @@ config WEBCAM_OV7692_QRD default n ---help--- Omni Vision VGA YUV Sensor for QRD Devices + +config OV5640 + bool "Sensor OV5640 (YUV 5M)" + depends on MSM_CAMERA + default y + ---help--- + OmniVision 5 MP YUV Sensor for Inforce APQ8064 dragon boards + config MT9M114 bool "Sensor MT9M114 (YUV 1.26M)" depends on MSM_CAMERA diff --git a/drivers/media/video/msm/Makefile b/drivers/media/video/msm/Makefile index 59216326bd1e..3eb7a9778eda 100644 --- a/drivers/media/video/msm/Makefile +++ b/drivers/media/video/msm/Makefile @@ -51,7 +51,8 @@ endif obj-$(CONFIG_QS_S5K4E1) += qs_s5k4e1.o qs_s5k4e1_reg.o obj-$(CONFIG_VB6801) += vb6801.o obj-$(CONFIG_IMX072) += imx072.o imx072_reg.o -obj-$(CONFIG_OV5640) += ov5640.o +#ov5640 YUV sensor is now moved to sensors/ov5640_v4l2.c in sensors/Makefile +#obj-$(CONFIG_OV5640) += ov5640.o obj-$(CONFIG_MT9D112) += mt9d112.o mt9d112_reg.o obj-$(CONFIG_MT9D113) += mt9d113.o mt9d113_reg.o diff --git a/drivers/media/video/msm/sensors/Makefile b/drivers/media/video/msm/sensors/Makefile index 5e56cce84bdd..0655ee812c5c 100644 --- a/drivers/media/video/msm/sensors/Makefile +++ b/drivers/media/video/msm/sensors/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_OV8825) += ov8825_v4l2.o obj-$(CONFIG_IMX074) += imx074_v4l2.o obj-$(CONFIG_S5K3L1YX) += s5k3l1yx.o obj-$(CONFIG_OV8830) += ov8830_v4l2.o +obj-$(CONFIG_OV5640) += ov5640_v4l2.o obj-$(CONFIG_OV2720) += ov2720.o obj-$(CONFIG_MT9M114) += mt9m114_v4l2.o obj-$(CONFIG_S5K4E1) += s5k4e1_v4l2.o |