* [PATCH 0/5] OMAP3EVM: Add support for MT9T111 sensor
@ 2011-09-20 14:56 Deepthy Ravi
2011-09-20 14:56 ` [PATCH 1/5] omap3evm: Enable regulators for camera interface Deepthy Ravi
` (4 more replies)
0 siblings, 5 replies; 13+ messages in thread
From: Deepthy Ravi @ 2011-09-20 14:56 UTC (permalink / raw)
To: laurent.pinchart, mchehab, tony, hvaibhav, linux-media, linux,
linux-arm-kernel, kyungmin.park, hverkuil, m.szyprowski,
g.liakhovetski, santosh.shilimkar, khilman, david.woodhouse, akpm,
linux-kernel
Cc: linux-omap, Deepthy Ravi
This patchset
-adds support for MT9T111 sensor on omap3evm.
Currently the sensor driver supports only
VGA resolution.
-enables MT9T111 sensor in omap2plus_defconfig.
This is applied on top of the following patchset
http://www.spinics.net/lists/linux-media/msg37270.html
which adds YUYV input support for OMAP3ISP.
---
Deepthy Ravi (2):
ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and
YUYV8_2X8 formats
omap2plus_defconfig: Enable omap3isp and MT9T111 sensor drivers
Vaibhav Hiremath (3):
omap3evm: Enable regulators for camera interface
[media] v4l: Add mt9t111 sensor driver
omap3evm: Add Camera board init/hookup file
arch/arm/configs/omap2plus_defconfig | 10 +
arch/arm/mach-omap2/Makefile | 5 +
arch/arm/mach-omap2/board-omap3evm-camera.c | 185 ++++
arch/arm/mach-omap2/board-omap3evm.c | 25 +
drivers/media/video/Kconfig | 7 +
drivers/media/video/Makefile | 1 +
drivers/media/video/mt9t111.c | 793 ++++++++++++++++
drivers/media/video/mt9t111_reg.h | 1367 +++++++++++++++++++++++++++
drivers/media/video/omap3isp/ispccdc.c | 11 +-
include/media/mt9t111.h | 45 +
10 files changed, 2446 insertions(+), 3 deletions(-)
create mode 100644 arch/arm/mach-omap2/board-omap3evm-camera.c
create mode 100644 drivers/media/video/mt9t111.c
create mode 100644 drivers/media/video/mt9t111_reg.h
create mode 100644 include/media/mt9t111.h
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/5] omap3evm: Enable regulators for camera interface
2011-09-20 14:56 [PATCH 0/5] OMAP3EVM: Add support for MT9T111 sensor Deepthy Ravi
@ 2011-09-20 14:56 ` Deepthy Ravi
2011-09-20 14:56 ` [PATCH 3/5] omap3evm: Add Camera board init/hookup file Deepthy Ravi
` (3 subsequent siblings)
4 siblings, 0 replies; 13+ messages in thread
From: Deepthy Ravi @ 2011-09-20 14:56 UTC (permalink / raw)
To: laurent.pinchart, mchehab, tony, hvaibhav, linux-media, linux,
linux-arm-kernel, kyungmin.park, hverkuil, m.szyprowski,
g.liakhovetski, santosh.shilimkar, khilman, david.woodhouse, akpm,
linux-kernel
Cc: linux-omap, Deepthy Ravi
From: Vaibhav Hiremath <hvaibhav@ti.com>
Enabled 1v8 and 2v8 regulator output, which is being used by
camera module.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
---
arch/arm/mach-omap2/board-omap3evm.c | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index c452b3f..cf30fff 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -273,6 +273,25 @@ static struct omap_dss_board_info omap3_evm_dss_data = {
.default_device = &omap3_evm_lcd_device,
};
+static struct regulator_consumer_supply omap3evm_vaux3_supply[] = {
+ REGULATOR_SUPPLY("cam_2v8", NULL),
+};
+
+/* VAUX3 for CAM_2V8 */
+static struct regulator_init_data omap3evm_vaux3 = {
+ .constraints = {
+ .min_uV = 2800000,
+ .max_uV = 2800000,
+ .apply_uV = true,
+ .valid_modes_mask = REGULATOR_MODE_NORMAL
+ | REGULATOR_MODE_STANDBY,
+ .valid_ops_mask = REGULATOR_CHANGE_MODE
+ | REGULATOR_CHANGE_STATUS,
+ },
+ .num_consumer_supplies = ARRAY_SIZE(omap3evm_vaux3_supply),
+ .consumer_supplies = omap3evm_vaux3_supply,
+};
+
static struct regulator_consumer_supply omap3evm_vmmc1_supply[] = {
REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
};
@@ -433,6 +452,7 @@ static struct twl4030_keypad_data omap3evm_kp_data = {
/* ads7846 on SPI */
static struct regulator_consumer_supply omap3evm_vio_supply[] = {
REGULATOR_SUPPLY("vcc", "spi1.0"),
+ REGULATOR_SUPPLY("vio_1v8", NULL),
};
/* VIO for ads7846 */
@@ -499,6 +519,7 @@ static struct twl4030_platform_data omap3evm_twldata = {
.vio = &omap3evm_vio,
.vmmc1 = &omap3evm_vmmc1,
.vsim = &omap3evm_vsim,
+ .vaux3 = &omap3evm_vaux3,
};
static int __init omap3_evm_i2c_init(void)
--
1.7.0.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/5] omap3evm: Add Camera board init/hookup file
2011-09-20 14:56 [PATCH 0/5] OMAP3EVM: Add support for MT9T111 sensor Deepthy Ravi
2011-09-20 14:56 ` [PATCH 1/5] omap3evm: Enable regulators for camera interface Deepthy Ravi
@ 2011-09-20 14:56 ` Deepthy Ravi
2011-09-20 14:56 ` [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats Deepthy Ravi
` (2 subsequent siblings)
4 siblings, 0 replies; 13+ messages in thread
From: Deepthy Ravi @ 2011-09-20 14:56 UTC (permalink / raw)
To: laurent.pinchart, mchehab, tony, hvaibhav, linux-media, linux,
linux-arm-kernel, kyungmin.park, hverkuil, m.szyprowski,
g.liakhovetski, santosh.shilimkar, khilman, david.woodhouse, akpm,
linux-kernel
Cc: linux-omap, Deepthy Ravi
From: Vaibhav Hiremath <hvaibhav@ti.com>
Adds board support for MT9T111 sensor.
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
---
arch/arm/mach-omap2/Makefile | 5 +
arch/arm/mach-omap2/board-omap3evm-camera.c | 185 +++++++++++++++++++++++++++
arch/arm/mach-omap2/board-omap3evm.c | 4 +
3 files changed, 194 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/mach-omap2/board-omap3evm-camera.c
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index f343365..a19753c 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -280,3 +280,8 @@ disp-$(CONFIG_OMAP2_DSS) := display.o
obj-y += $(disp-m) $(disp-y)
obj-y += common-board-devices.o twl-common.o
+
+ifeq ($(CONFIG_MACH_OMAP3EVM),y)
+evm-camera-$(CONFIG_VIDEO_OMAP3) := board-omap3evm-camera.o
+obj-y += $(evm-camera-m) $(evm-camera-y)
+endif
diff --git a/arch/arm/mach-omap2/board-omap3evm-camera.c b/arch/arm/mach-omap2/board-omap3evm-camera.c
new file mode 100644
index 0000000..e762f61
--- /dev/null
+++ b/arch/arm/mach-omap2/board-omap3evm-camera.c
@@ -0,0 +1,185 @@
+/*
+ * arch/arm/mach-omap2/board-omap3evm-camera.c
+ *
+ * OMAP3EVM: Driver for Leopard Module Board
+ *
+ * Copyright (C) 2011 Texas Instruments Inc
+ * Author: Vaibhav Hiremath <hvaibhav@ti.com>
+ *
+ * This package is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <linux/io.h>
+#include <linux/i2c.h>
+#include <linux/delay.h>
+#include <linux/gpio.h>
+#include <linux/err.h>
+#include <linux/platform_device.h>
+#include <mach/gpio.h>
+#include <media/mt9t111.h>
+#include <media/omap3isp.h>
+#include <../drivers/media/video/omap3isp/isp.h>
+#include "devices.h"
+
+#define CAM_USE_XCLKA 0
+
+#define T2_GPIO_2 194
+#define nCAM_VD_SEL 157
+#define nCAM_VD_EN 200
+
+/* mux id to enable/disable signal routing to different peripherals */
+enum omap3evm_cam_mux {
+ MUX_EN_TVP5146 = 0,
+ MUX_EN_CAMERA_SENSOR,
+ MUX_EN_EXP_CAMERA_SENSOR,
+ MUX_INVALID,
+};
+
+/**
+ * @brief omap3evm_set_mux - Sets mux to enable/disable signal routing to
+ * different peripherals present on new EVM board
+ *
+ * @param mux_id - enum, mux id to enable/disable
+ * @param value - enum, ENABLE_MUX for enabling and DISABLE_MUX for disabling
+ *
+ */
+static void omap3evm_set_mux(enum omap3evm_cam_mux mux_id)
+{
+ switch (mux_id) {
+ /*
+ * JP1 jumper need to configure to choose between on-board
+ * camera sensor conn and on-board LI-3MC02 camera sensor.
+ */
+ case MUX_EN_CAMERA_SENSOR:
+ /* Set nCAM_VD_EN (T2_GPIO8) = 0 */
+ gpio_set_value_cansleep(nCAM_VD_EN, 0);
+ /* Set nCAM_VD_SEL (GPIO157) = 0 */
+ gpio_set_value(nCAM_VD_SEL, 0);
+ break;
+ case MUX_EN_EXP_CAMERA_SENSOR:
+ /* Set nCAM_VD_EN (T2_GPIO8) = 1 */
+ gpio_set_value_cansleep(nCAM_VD_EN, 1);
+ break;
+ case MUX_EN_TVP5146:
+ default:
+ /* Set nCAM_VD_EN (T2_GPIO8) = 0 */
+ gpio_set_value_cansleep(nCAM_VD_EN, 0);
+ /* Set nCAM_VD_SEL (GPIO157) = 1 */
+ gpio_set_value(nCAM_VD_SEL, 1);
+ break;
+ }
+}
+
+/* MT9T111: 3M sensor */
+static int omap3evm_mt9t111_s_power(struct v4l2_subdev *subdev, u32 on)
+{
+ struct isp_device *isp = v4l2_dev_to_isp_device(subdev->v4l2_dev);
+
+ omap3evm_set_mux(MUX_EN_CAMERA_SENSOR);
+
+ if (on) {
+ /* Enable EXTCLK */
+ if (isp->platform_cb.set_xclk)
+ isp->platform_cb.set_xclk(isp, 24000000, CAM_USE_XCLKA);
+ udelay(5);
+ } else {
+ if (isp->platform_cb.set_xclk)
+ isp->platform_cb.set_xclk(isp, 0, CAM_USE_XCLKA);
+ }
+
+ return 0;
+}
+
+static struct mt9t111_platform_data omap3evm_mt9t111_platform_data = {
+ .s_power = omap3evm_mt9t111_s_power,
+};
+
+
+#define MT9T111_I2C_BUS_NUM 2
+
+static struct i2c_board_info omap3evm_camera_i2c_devices[] = {
+ {
+ I2C_BOARD_INFO(MT9T111_MODULE_NAME, MT9T111_I2C_ADDR),
+ .platform_data = &omap3evm_mt9t111_platform_data,
+ }
+};
+
+static struct isp_subdev_i2c_board_info omap3evm_mt9t111_subdevs[] = {
+ {
+ .board_info = &omap3evm_camera_i2c_devices[0],
+ .i2c_adapter_id = MT9T111_I2C_BUS_NUM,
+ },
+ { NULL, 0 },
+};
+
+static struct isp_v4l2_subdevs_group omap3evm_camera_subdevs[] = {
+ {
+ .subdevs = omap3evm_mt9t111_subdevs,
+ .interface = ISP_INTERFACE_PARALLEL,
+ .bus = {
+ .parallel = {
+ .data_lane_shift = 1,
+ .clk_pol = 0,
+ .hs_pol = 0,
+ .vs_pol = 0,
+ .bridge = 3,
+ .bt656 = 0,
+ },
+ },
+ },
+ { NULL, 0 },
+};
+
+static struct isp_platform_data omap3evm_isp_platform_data = {
+ .subdevs = omap3evm_camera_subdevs,
+};
+
+static struct gpio omap3evm_gpios[] __initdata = {
+ /* First level GPIO enable: T2_GPIO.2 */
+ { T2_GPIO_2, GPIOF_OUT_INIT_LOW, "T2_GPIO.2" },
+ /* nCAM_VD_SEL (GPIO157) */
+ { nCAM_VD_SEL, GPIOF_OUT_INIT_HIGH, "cam_vd_sel" },
+ /*EXP_nCAM_VD_EN (T2_GPIO.8) */
+ { nCAM_VD_EN, GPIOF_OUT_INIT_LOW, "cam_vd_en" },
+};
+
+static int __init omap3evm_cam_init(void)
+{
+ int ret;
+
+ ret = gpio_request_array(omap3evm_gpios,
+ ARRAY_SIZE(omap3evm_gpios));
+ if (ret < 0) {
+ printk(KERN_ERR "Unable to get GPIO pins\n");
+ return ret;
+ }
+
+ omap3_init_camera(&omap3evm_isp_platform_data);
+
+ printk(KERN_INFO "omap3evm camera init done successfully...\n");
+ return 0;
+}
+
+static void __exit omap3evm_cam_exit(void)
+{
+ gpio_free_array(omap3evm_gpios,
+ ARRAY_SIZE(omap3evm_gpios));
+}
+
+module_init(omap3evm_cam_init);
+module_exit(omap3evm_cam_exit);
+
+MODULE_AUTHOR("Texas Instruments");
+MODULE_DESCRIPTION("OMAP3EVM: Driver for Leopard Module Board");
+MODULE_LICENSE("GPL");
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index cf30fff..be15394 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -572,6 +572,8 @@ static struct omap_board_mux omap35x_board_mux[] __initdata = {
OMAP_PIN_OFF_NONE),
OMAP3_MUX(GPMC_WAIT2, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP |
OMAP_PIN_OFF_NONE),
+ OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP |
+ OMAP_PIN_OFF_NONE),
#ifdef CONFIG_WL12XX_PLATFORM_DATA
/* WLAN IRQ - GPIO 149 */
OMAP3_MUX(UART1_RTS, OMAP_MUX_MODE4 | OMAP_PIN_INPUT),
@@ -597,6 +599,8 @@ static struct omap_board_mux omap36x_board_mux[] __initdata = {
OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP |
OMAP_PIN_OFF_INPUT_PULLUP | OMAP_PIN_OFF_OUTPUT_LOW |
OMAP_PIN_OFF_WAKEUPENABLE),
+ OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP |
+ OMAP_PIN_OFF_NONE),
/* AM/DM37x EVM: DSS data bus muxed with sys_boot */
OMAP3_MUX(DSS_DATA18, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
OMAP3_MUX(DSS_DATA19, OMAP_MUX_MODE3 | OMAP_PIN_OFF_NONE),
--
1.7.0.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats
2011-09-20 14:56 [PATCH 0/5] OMAP3EVM: Add support for MT9T111 sensor Deepthy Ravi
2011-09-20 14:56 ` [PATCH 1/5] omap3evm: Enable regulators for camera interface Deepthy Ravi
2011-09-20 14:56 ` [PATCH 3/5] omap3evm: Add Camera board init/hookup file Deepthy Ravi
@ 2011-09-20 14:56 ` Deepthy Ravi
2011-09-20 23:26 ` Laurent Pinchart
2011-09-20 14:56 ` [PATCH 5/5] omap2plus_defconfig: Enable omap3isp and MT9T111 sensor drivers Deepthy Ravi
[not found] ` <1316530612-23075-3-git-send-email-deepthy.ravi@ti.com>
4 siblings, 1 reply; 13+ messages in thread
From: Deepthy Ravi @ 2011-09-20 14:56 UTC (permalink / raw)
To: laurent.pinchart, mchehab, tony, hvaibhav, linux-media, linux,
linux-arm-kernel, kyungmin.park, hverkuil, m.szyprowski,
g.liakhovetski, santosh.shilimkar, khilman, david.woodhouse, akpm,
linux-kernel
Cc: linux-omap, Deepthy Ravi
Configure INPMOD and PACK8 fileds of CCDC_SYN_MODE
register for UYVY8_2X8 and YUYV8_2X8 formats.
Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
---
drivers/media/video/omap3isp/ispccdc.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/media/video/omap3isp/ispccdc.c b/drivers/media/video/omap3isp/ispccdc.c
index 418ba65..1dcf180 100644
--- a/drivers/media/video/omap3isp/ispccdc.c
+++ b/drivers/media/video/omap3isp/ispccdc.c
@@ -985,8 +985,12 @@ static void ccdc_config_sync_if(struct isp_ccdc_device *ccdc,
syn_mode &= ~ISPCCDC_SYN_MODE_INPMOD_MASK;
if (format->code == V4L2_MBUS_FMT_YUYV8_2X8 ||
- format->code == V4L2_MBUS_FMT_UYVY8_2X8)
- syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
+ format->code == V4L2_MBUS_FMT_UYVY8_2X8){
+ if (pdata && pdata->bt656)
+ syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
+ else
+ syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
+ }
else if (format->code == V4L2_MBUS_FMT_YUYV8_1X16 ||
format->code == V4L2_MBUS_FMT_UYVY8_1X16)
syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
@@ -1172,7 +1176,8 @@ static void ccdc_configure(struct isp_ccdc_device *ccdc)
syn_mode &= ~ISPCCDC_SYN_MODE_SDR2RSZ;
/* Use PACK8 mode for 1byte per pixel formats. */
- if (omap3isp_video_format_info(format->code)->width <= 8)
+ if ((omap3isp_video_format_info(format->code)->width <= 8) &&
+ (omap3isp_video_format_info(format->code)->bpp <= 8))
syn_mode |= ISPCCDC_SYN_MODE_PACK8;
else
syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;
--
1.7.0.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/5] omap2plus_defconfig: Enable omap3isp and MT9T111 sensor drivers
2011-09-20 14:56 [PATCH 0/5] OMAP3EVM: Add support for MT9T111 sensor Deepthy Ravi
` (2 preceding siblings ...)
2011-09-20 14:56 ` [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats Deepthy Ravi
@ 2011-09-20 14:56 ` Deepthy Ravi
2011-09-20 23:13 ` Laurent Pinchart
[not found] ` <1316530612-23075-3-git-send-email-deepthy.ravi@ti.com>
4 siblings, 1 reply; 13+ messages in thread
From: Deepthy Ravi @ 2011-09-20 14:56 UTC (permalink / raw)
To: laurent.pinchart, mchehab, tony, hvaibhav, linux-media, linux,
linux-arm-kernel, kyungmin.park, hverkuil, m.szyprowski,
g.liakhovetski, santosh.shilimkar, khilman, david.woodhouse, akpm,
linux-kernel
Cc: linux-omap, Deepthy Ravi
Enables multimedia driver, media controller api,
v4l2-subdev-api, omap3isp and mt9t111 sensor
drivers in omap2plus_defconfig.
Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
---
arch/arm/configs/omap2plus_defconfig | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
index d5f00d7..548823d 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -133,6 +133,16 @@ CONFIG_TWL4030_WATCHDOG=y
CONFIG_REGULATOR_TWL4030=y
CONFIG_REGULATOR_TPS65023=y
CONFIG_REGULATOR_TPS6507X=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_VIDEO_MEDIA=y
+CONFIG_VIDEO_MT9T111=y
+CONFIG_VIDEO_OMAP3=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_MODE_HELPERS=y
--
1.7.0.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 2/5] [media] v4l: Add mt9t111 sensor driver
[not found] ` <1316530612-23075-3-git-send-email-deepthy.ravi@ti.com>
@ 2011-09-20 15:09 ` Guennadi Liakhovetski
2011-09-27 14:07 ` Ravi, Deepthy
0 siblings, 1 reply; 13+ messages in thread
From: Guennadi Liakhovetski @ 2011-09-20 15:09 UTC (permalink / raw)
To: Deepthy Ravi
Cc: laurent.pinchart, mchehab, tony, hvaibhav, linux-media, linux,
linux-arm-kernel, kyungmin.park, hverkuil, m.szyprowski,
santosh.shilimkar, khilman, david.woodhouse, akpm, linux-kernel,
linux-omap
On Tue, 20 Sep 2011, Deepthy Ravi wrote:
> From: Vaibhav Hiremath <hvaibhav@ti.com>
>
> The MT9T111 is a 3.1Mp CMOS sensor from Aptina with
> its latest image signal processing (ISP) and 1.75ÎŒm
> pixel technology.
> The sensor driver currently supports only VGA
> resolution.
>
> Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
> Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
> ---
> drivers/media/video/Kconfig | 7 +
> drivers/media/video/Makefile | 1 +
> drivers/media/video/mt9t111.c | 793 +++++++++++++++++++++
> drivers/media/video/mt9t111_reg.h | 1367 +++++++++++++++++++++++++++++++++++++
> include/media/mt9t111.h | 45 ++
> 5 files changed, 2213 insertions(+), 0 deletions(-)
> create mode 100644 drivers/media/video/mt9t111.c
> create mode 100644 drivers/media/video/mt9t111_reg.h
> create mode 100644 include/media/mt9t111.h
NAK. The mt9t112 driver claims to also support mt9t111. I'm not sure,
whether the driver has indeed been tested with mt9t111, but this is
definitely something to verify. If the chips are indeed similar, please
use the tree at
http://git.linuxtv.org/gliakhovetski/v4l-dvb.git/shortlog/refs/heads/rc1-for-3.2
which has converted the mt9t112 driver to be also used outside ot the
soc-camera subsystem, and use that driver instead of adding another one.
Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/5] omap2plus_defconfig: Enable omap3isp and MT9T111 sensor drivers
2011-09-20 14:56 ` [PATCH 5/5] omap2plus_defconfig: Enable omap3isp and MT9T111 sensor drivers Deepthy Ravi
@ 2011-09-20 23:13 ` Laurent Pinchart
2011-09-20 23:52 ` Tony Lindgren
0 siblings, 1 reply; 13+ messages in thread
From: Laurent Pinchart @ 2011-09-20 23:13 UTC (permalink / raw)
To: Deepthy Ravi
Cc: mchehab, tony, hvaibhav, linux-media, linux, linux-arm-kernel,
kyungmin.park, hverkuil, m.szyprowski, g.liakhovetski,
santosh.shilimkar, khilman, david.woodhouse, akpm, linux-kernel,
linux-omap
Hi Deepthy,
Thanks for the patch.
On Tuesday 20 September 2011 16:56:52 Deepthy Ravi wrote:
> Enables multimedia driver, media controller api,
> v4l2-subdev-api, omap3isp and mt9t111 sensor
> drivers in omap2plus_defconfig.
>
> Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
> ---
> arch/arm/configs/omap2plus_defconfig | 10 ++++++++++
> 1 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/configs/omap2plus_defconfig
> b/arch/arm/configs/omap2plus_defconfig index d5f00d7..548823d 100644
> --- a/arch/arm/configs/omap2plus_defconfig
> +++ b/arch/arm/configs/omap2plus_defconfig
> @@ -133,6 +133,16 @@ CONFIG_TWL4030_WATCHDOG=y
> CONFIG_REGULATOR_TWL4030=y
> CONFIG_REGULATOR_TPS65023=y
> CONFIG_REGULATOR_TPS6507X=y
> +CONFIG_MEDIA_SUPPORT=y
> +CONFIG_MEDIA_CONTROLLER=y
> +CONFIG_VIDEO_DEV=y
> +CONFIG_VIDEO_V4L2_COMMON=y
> +CONFIG_VIDEO_ALLOW_V4L1=y
> +CONFIG_VIDEO_V4L1_COMPAT=y
> +CONFIG_VIDEO_V4L2_SUBDEV_API=y
> +CONFIG_VIDEO_MEDIA=y
> +CONFIG_VIDEO_MT9T111=y
> +CONFIG_VIDEO_OMAP3=y
Shouldn't they be compiled as modules instead ?
> CONFIG_FB=y
> CONFIG_FIRMWARE_EDID=y
> CONFIG_FB_MODE_HELPERS=y
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats
2011-09-20 14:56 ` [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats Deepthy Ravi
@ 2011-09-20 23:26 ` Laurent Pinchart
2011-09-21 5:32 ` Ravi, Deepthy
0 siblings, 1 reply; 13+ messages in thread
From: Laurent Pinchart @ 2011-09-20 23:26 UTC (permalink / raw)
To: Deepthy Ravi
Cc: mchehab, tony, hvaibhav, linux-media, linux, linux-arm-kernel,
kyungmin.park, hverkuil, m.szyprowski, g.liakhovetski,
santosh.shilimkar, khilman, david.woodhouse, akpm, linux-kernel,
linux-omap, Sakari Ailus
Hi Deepthy,
Thanks for the patch.
On Tuesday 20 September 2011 16:56:51 Deepthy Ravi wrote:
> Configure INPMOD and PACK8 fileds of CCDC_SYN_MODE
> register for UYVY8_2X8 and YUYV8_2X8 formats.
>
> Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
> ---
> drivers/media/video/omap3isp/ispccdc.c | 11 ++++++++---
> 1 files changed, 8 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/video/omap3isp/ispccdc.c
> b/drivers/media/video/omap3isp/ispccdc.c index 418ba65..1dcf180 100644
> --- a/drivers/media/video/omap3isp/ispccdc.c
> +++ b/drivers/media/video/omap3isp/ispccdc.c
> @@ -985,8 +985,12 @@ static void ccdc_config_sync_if(struct isp_ccdc_device
> *ccdc,
>
> syn_mode &= ~ISPCCDC_SYN_MODE_INPMOD_MASK;
> if (format->code == V4L2_MBUS_FMT_YUYV8_2X8 ||
> - format->code == V4L2_MBUS_FMT_UYVY8_2X8)
> - syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
> + format->code == V4L2_MBUS_FMT_UYVY8_2X8){
> + if (pdata && pdata->bt656)
> + syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
> + else
> + syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
> + }
> else if (format->code == V4L2_MBUS_FMT_YUYV8_1X16 ||
> format->code == V4L2_MBUS_FMT_UYVY8_1X16)
> syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
> @@ -1172,7 +1176,8 @@ static void ccdc_configure(struct isp_ccdc_device
> *ccdc) syn_mode &= ~ISPCCDC_SYN_MODE_SDR2RSZ;
>
> /* Use PACK8 mode for 1byte per pixel formats. */
> - if (omap3isp_video_format_info(format->code)->width <= 8)
> + if ((omap3isp_video_format_info(format->code)->width <= 8) &&
> + (omap3isp_video_format_info(format->code)->bpp <= 8))
I'm not sure to follow you. This will clear the PACK8 bit for the YUYV8_2X8
formats. Those formats are 8 bits wide, shouldn't PACK8 be set to store
samples on 8 bits instead of 16 bits ?
Is this patch intended to support YUYV8_2X8 sensors in non BT.656 mode with
the bridge enabled ? In that case, what would you think about setting the CCDC
input format to YUYV8_1X16 instead ? This would better reflect the reality, as
the bridge converts YUYV8_2X8 to YUYV8_1X16, and the CCDC is then fed with
YUYV8_1X16.
> syn_mode |= ISPCCDC_SYN_MODE_PACK8;
> else
> syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/5] omap2plus_defconfig: Enable omap3isp and MT9T111 sensor drivers
2011-09-20 23:13 ` Laurent Pinchart
@ 2011-09-20 23:52 ` Tony Lindgren
0 siblings, 0 replies; 13+ messages in thread
From: Tony Lindgren @ 2011-09-20 23:52 UTC (permalink / raw)
To: Laurent Pinchart
Cc: Deepthy Ravi, mchehab, hvaibhav, linux-media, linux,
linux-arm-kernel, kyungmin.park, hverkuil, m.szyprowski,
g.liakhovetski, santosh.shilimkar, khilman, david.woodhouse, akpm,
linux-kernel, linux-omap
* Laurent Pinchart <laurent.pinchart@ideasonboard.com> [110920 15:40]:
> > CONFIG_REGULATOR_TPS65023=y
> > CONFIG_REGULATOR_TPS6507X=y
> > +CONFIG_MEDIA_SUPPORT=y
> > +CONFIG_MEDIA_CONTROLLER=y
> > +CONFIG_VIDEO_DEV=y
> > +CONFIG_VIDEO_V4L2_COMMON=y
> > +CONFIG_VIDEO_ALLOW_V4L1=y
> > +CONFIG_VIDEO_V4L1_COMPAT=y
> > +CONFIG_VIDEO_V4L2_SUBDEV_API=y
> > +CONFIG_VIDEO_MEDIA=y
> > +CONFIG_VIDEO_MT9T111=y
> > +CONFIG_VIDEO_OMAP3=y
>
> Shouldn't they be compiled as modules instead ?
Yes, let's not apply this.
Tony
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats
2011-09-20 23:26 ` Laurent Pinchart
@ 2011-09-21 5:32 ` Ravi, Deepthy
2011-09-21 9:06 ` Laurent Pinchart
0 siblings, 1 reply; 13+ messages in thread
From: Ravi, Deepthy @ 2011-09-21 5:32 UTC (permalink / raw)
To: Laurent Pinchart
Cc: mchehab@infradead.org, tony@atomide.com, Hiremath, Vaibhav,
linux-media@vger.kernel.org, linux@arm.linux.org.uk,
linux-arm-kernel@lists.infradead.org, kyungmin.park@samsung.com,
hverkuil@xs4all.nl, m.szyprowski@samsung.com,
g.liakhovetski@gmx.de, Shilimkar, Santosh,
khilman@deeprootsystems.com, david.woodhouse@intel.com,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
linux-omap@vger.kernel.org, Sakari Ailus
Hi Laurent,
> ________________________________________
> From: Laurent Pinchart [laurent.pinchart@ideasonboard.com]
> Sent: Wednesday, September 21, 2011 4:56 AM
> To: Ravi, Deepthy
> Cc: mchehab@infradead.org; tony@atomide.com; Hiremath, Vaibhav;
> linux-media@vger.kernel.org; linux@arm.linux.org.uk;
> linux-arm-kernel@lists.infradead.org; kyungmin.park@samsung.com;
> hverkuil@xs4all.nl; m.szyprowski@samsung.com; g.liakhovetski@gmx.de;
> Shilimkar, Santosh; khilman@deeprootsystems.com; david.woodhouse@intel.com;
> akpm@linux-foundation.org; linux-kernel@vger.kernel.org;
> linux-omap@vger.kernel.org; Sakari Ailus
> Subject: Re: [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for
> UYVY8_2X8 and YUYV8_2X8 formats
>
> Hi Deepthy,
>
> Thanks for the patch.
>
> On Tuesday 20 September 2011 16:56:51 Deepthy Ravi wrote:
>> Configure INPMOD and PACK8 fileds of CCDC_SYN_MODE
>> register for UYVY8_2X8 and YUYV8_2X8 formats.
>>
>> Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
>> ---
>> drivers/media/video/omap3isp/ispccdc.c | 11 ++++++++---
>> 1 files changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/media/video/omap3isp/ispccdc.c
>> b/drivers/media/video/omap3isp/ispccdc.c index 418ba65..1dcf180 100644
>> --- a/drivers/media/video/omap3isp/ispccdc.c
>> +++ b/drivers/media/video/omap3isp/ispccdc.c
>> @@ -985,8 +985,12 @@ static void ccdc_config_sync_if(struct
>> isp_ccdc_device
>> *ccdc,
>>
>> syn_mode &= ~ISPCCDC_SYN_MODE_INPMOD_MASK;
>> if (format->code == V4L2_MBUS_FMT_YUYV8_2X8 ||
>> - format->code == V4L2_MBUS_FMT_UYVY8_2X8)
>> - syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
>> + format->code == V4L2_MBUS_FMT_UYVY8_2X8){
>> + if (pdata && pdata->bt656)
>> + syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
>> + else
>> + syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
>> + }
>> else if (format->code == V4L2_MBUS_FMT_YUYV8_1X16 ||
>> format->code == V4L2_MBUS_FMT_UYVY8_1X16)
>> syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
>> @@ -1172,7 +1176,8 @@ static void ccdc_configure(struct isp_ccdc_device
>> *ccdc) syn_mode &= ~ISPCCDC_SYN_MODE_SDR2RSZ;
>>
>> /* Use PACK8 mode for 1byte per pixel formats. */
>> - if (omap3isp_video_format_info(format->code)->width <= 8)
>> + if ((omap3isp_video_format_info(format->code)->width <= 8) &&
>> + (omap3isp_video_format_info(format->code)->bpp <=
>> 8))
>
> I'm not sure to follow you. This will clear the PACK8 bit for the YUYV8_2X8
> formats. Those formats are 8 bits wide, shouldn't PACK8 be set to store
> samples on 8 bits instead of 16 bits ?
>
> Is this patch intended to support YUYV8_2X8 sensors in non BT.656 mode with
> the bridge enabled ? In that case, what would you think about setting the
> CCDC
> input format to YUYV8_1X16 instead ? This would better reflect the reality,
> as
> the bridge converts YUYV8_2X8 to YUYV8_1X16, and the CCDC is then fed with
> YUYV8_1X16.
>
[Deepthy Ravi] Yes this is intended for YUYV8_2X8 sensors in non BT.656 with 8 to 16 bit bridge enabled. So the data has to be stored as 16 bits per sample. Thats why PACK8 is cleared . I am not sure about using YUYV8_1X16.
>> syn_mode |= ISPCCDC_SYN_MODE_PACK8;
>> else
>> syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;
>
> --
> Regards,
>
> Laurent Pinchart
>
--
Thanks,
Deepthy Ravi
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats
2011-09-21 5:32 ` Ravi, Deepthy
@ 2011-09-21 9:06 ` Laurent Pinchart
2011-09-23 11:53 ` Ravi, Deepthy
0 siblings, 1 reply; 13+ messages in thread
From: Laurent Pinchart @ 2011-09-21 9:06 UTC (permalink / raw)
To: Ravi, Deepthy
Cc: mchehab@infradead.org, tony@atomide.com, Hiremath, Vaibhav,
linux-media@vger.kernel.org, linux@arm.linux.org.uk,
linux-arm-kernel@lists.infradead.org, kyungmin.park@samsung.com,
hverkuil@xs4all.nl, m.szyprowski@samsung.com,
g.liakhovetski@gmx.de, Shilimkar, Santosh,
khilman@deeprootsystems.com, david.woodhouse@intel.com,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
linux-omap@vger.kernel.org, Sakari Ailus
Hi Deepthy,
On Wednesday 21 September 2011 07:32:44 Ravi, Deepthy wrote:
> On Wednesday, September 21, 2011 4:56 AM Laurent Pinchart wrote:
> > On Tuesday 20 September 2011 16:56:51 Deepthy Ravi wrote:
> >> Configure INPMOD and PACK8 fileds of CCDC_SYN_MODE
> >> register for UYVY8_2X8 and YUYV8_2X8 formats.
> >>
> >> Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
> >> ---
> >>
> >> drivers/media/video/omap3isp/ispccdc.c | 11 ++++++++---
> >> 1 files changed, 8 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/drivers/media/video/omap3isp/ispccdc.c
> >> b/drivers/media/video/omap3isp/ispccdc.c index 418ba65..1dcf180 100644
> >> --- a/drivers/media/video/omap3isp/ispccdc.c
> >> +++ b/drivers/media/video/omap3isp/ispccdc.c
> >> @@ -985,8 +985,12 @@ static void ccdc_config_sync_if(struct
> >> isp_ccdc_device
> >> *ccdc,
> >>
> >> syn_mode &= ~ISPCCDC_SYN_MODE_INPMOD_MASK;
> >> if (format->code == V4L2_MBUS_FMT_YUYV8_2X8 ||
> >>
> >> - format->code == V4L2_MBUS_FMT_UYVY8_2X8)
> >> - syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
> >> + format->code == V4L2_MBUS_FMT_UYVY8_2X8){
> >> + if (pdata && pdata->bt656)
> >> + syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
> >> + else
> >> + syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
> >> + }
> >>
> >> else if (format->code == V4L2_MBUS_FMT_YUYV8_1X16 ||
> >>
> >> format->code == V4L2_MBUS_FMT_UYVY8_1X16)
> >>
> >> syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
> >>
> >> @@ -1172,7 +1176,8 @@ static void ccdc_configure(struct isp_ccdc_device
> >> *ccdc) syn_mode &= ~ISPCCDC_SYN_MODE_SDR2RSZ;
> >>
> >> /* Use PACK8 mode for 1byte per pixel formats. */
> >>
> >> - if (omap3isp_video_format_info(format->code)->width <= 8)
> >> + if ((omap3isp_video_format_info(format->code)->width <= 8) &&
> >> + (omap3isp_video_format_info(format->code)->bpp <=
> >> 8))
> >
> > I'm not sure to follow you. This will clear the PACK8 bit for the
> > YUYV8_2X8 formats. Those formats are 8 bits wide, shouldn't PACK8 be set
> > to store samples on 8 bits instead of 16 bits ?
> >
> > Is this patch intended to support YUYV8_2X8 sensors in non BT.656 mode
> > with the bridge enabled ? In that case, what would you think about setting
> > the CCDC input format to YUYV8_1X16 instead ? This would better reflect
> > the reality, as the bridge converts YUYV8_2X8 to YUYV8_1X16, and the CCDC
> > is then fed with YUYV8_1X16.
>
> Yes this is intended for YUYV8_2X8 sensors in non BT.656 with 8 to 16 bit
> bridge enabled. So the data has to be stored as 16 bits per sample. Thats
> why PACK8 is cleared . I am not sure about using YUYV8_1X16.
My original idea when I wrote the YV support patches was to implement this use
case with YUYV8_2X8 at the sensor output and YUYV8_1X16 at the CCDC input. The
ISP driver could then enable the bridge automatically. I'm not sure if that's
the best solution though, it might be confusing for the users. What I would
like to keep, however, is the idea of enabling the bridge automatically.
Sakari, any opinion on this ?
> >> syn_mode |= ISPCCDC_SYN_MODE_PACK8;
> >> else
> >> syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats
2011-09-21 9:06 ` Laurent Pinchart
@ 2011-09-23 11:53 ` Ravi, Deepthy
0 siblings, 0 replies; 13+ messages in thread
From: Ravi, Deepthy @ 2011-09-23 11:53 UTC (permalink / raw)
To: Laurent Pinchart
Cc: mchehab@infradead.org, tony@atomide.com, Hiremath, Vaibhav,
linux-media@vger.kernel.org, linux@arm.linux.org.uk,
linux-arm-kernel@lists.infradead.org, kyungmin.park@samsung.com,
hverkuil@xs4all.nl, m.szyprowski@samsung.com,
g.liakhovetski@gmx.de, Shilimkar, Santosh,
khilman@deeprootsystems.com, david.woodhouse@intel.com,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
linux-omap@vger.kernel.org, Sakari Ailus
> ________________________________________
> From: Laurent Pinchart [laurent.pinchart@ideasonboard.com]
> Sent: Wednesday, September 21, 2011 2:36 PM
> To: Ravi, Deepthy
> Cc: mchehab@infradead.org; tony@atomide.com; Hiremath, Vaibhav; linux-media@vger.kernel.org; linux@arm.linux.org.uk; linux-arm-kernel@lists.infradead.org; kyungmin.park@samsung.com; hverkuil@xs4all.nl; m.szyprowski@samsung.com; g.liakhovetski@gmx.de; Shilimkar, Santosh; khilman@deeprootsystems.com; david.woodhouse@intel.com; akpm@linux-foundation.org; linux-kernel@vger.kernel.org; linux-omap@vger.kernel.org; Sakari Ailus
> Subject: Re: [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats
>
> Hi Deepthy,
>
> On Wednesday 21 September 2011 07:32:44 Ravi, Deepthy wrote:
>> On Wednesday, September 21, 2011 4:56 AM Laurent Pinchart wrote:
>> > On Tuesday 20 September 2011 16:56:51 Deepthy Ravi wrote:
>> >> Configure INPMOD and PACK8 fileds of CCDC_SYN_MODE
>> >> register for UYVY8_2X8 and YUYV8_2X8 formats.
>> >>
>> >> Signed-off-by: Deepthy Ravi <deepthy.ravi@ti.com>
>> >> ---
>> >>
>> >> drivers/media/video/omap3isp/ispccdc.c | 11 ++++++++---
>> >> 1 files changed, 8 insertions(+), 3 deletions(-)
>> >>
>> >> diff --git a/drivers/media/video/omap3isp/ispccdc.c
>> >> b/drivers/media/video/omap3isp/ispccdc.c index 418ba65..1dcf180 100644
>> >> --- a/drivers/media/video/omap3isp/ispccdc.c
>> >> +++ b/drivers/media/video/omap3isp/ispccdc.c
>> >> @@ -985,8 +985,12 @@ static void ccdc_config_sync_if(struct
>> >> isp_ccdc_device
>> >> *ccdc,
>> >>
>> >> syn_mode &= ~ISPCCDC_SYN_MODE_INPMOD_MASK;
>> >> if (format->code == V4L2_MBUS_FMT_YUYV8_2X8 ||
>> >>
>> >> - format->code == V4L2_MBUS_FMT_UYVY8_2X8)
>> >> - syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
>> >> + format->code == V4L2_MBUS_FMT_UYVY8_2X8){
>> >> + if (pdata && pdata->bt656)
>> >> + syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR8;
>> >> + else
>> >> + syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
>> >> + }
>> >>
>> >> else if (format->code == V4L2_MBUS_FMT_YUYV8_1X16 ||
>> >>
>> >> format->code == V4L2_MBUS_FMT_UYVY8_1X16)
>> >>
>> >> syn_mode |= ISPCCDC_SYN_MODE_INPMOD_YCBCR16;
>> >>
>> >> @@ -1172,7 +1176,8 @@ static void ccdc_configure(struct isp_ccdc_device
>> >> *ccdc) syn_mode &= ~ISPCCDC_SYN_MODE_SDR2RSZ;
>> >>
>> >> /* Use PACK8 mode for 1byte per pixel formats. */
>> >>
>> >> - if (omap3isp_video_format_info(format->code)->width <= 8)
>> >> + if ((omap3isp_video_format_info(format->code)->width <= 8) &&
>> >> + (omap3isp_video_format_info(format->code)->bpp <=
>> >> 8))
>> >
>> > I'm not sure to follow you. This will clear the PACK8 bit for the
>> > YUYV8_2X8 formats. Those formats are 8 bits wide, shouldn't PACK8 be set
>> > to store samples on 8 bits instead of 16 bits ?
>> >
>> > Is this patch intended to support YUYV8_2X8 sensors in non BT.656 mode
>> > with the bridge enabled ? In that case, what would you think about setting
>> > the CCDC input format to YUYV8_1X16 instead ? This would better reflect
>> > the reality, as the bridge converts YUYV8_2X8 to YUYV8_1X16, and the CCDC
>> > is then fed with YUYV8_1X16.
>>
>> Yes this is intended for YUYV8_2X8 sensors in non BT.656 with 8 to 16 bit
>> bridge enabled. So the data has to be stored as 16 bits per sample. Thats
>> why PACK8 is cleared . I am not sure about using YUYV8_1X16.
>
> My original idea when I wrote the YV support patches was to implement this use
> case with YUYV8_2X8 at the sensor output and YUYV8_1X16 at the CCDC input. The
> ISP driver could then enable the bridge automatically. I'm not sure if that's
> the best solution though, it might be confusing for the users. What I would
> like to keep, however, is the idea of enabling the bridge automatically.
>
[Deepthy Ravi] But for streaming to start, the formats on both ends of the link should match. I believe setting different formats at sensor output and ccdc input will give a broken pipe error. Is my understanding correct ? If so, how do you propose to handle the situation ?
> Sakari, any opinion on this ?
>
>> >> syn_mode |= ISPCCDC_SYN_MODE_PACK8;
>> >> else
>> >> syn_mode &= ~ISPCCDC_SYN_MODE_PACK8;
>
> --
> Regards,
>
> Laurent Pinchart
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH 2/5] [media] v4l: Add mt9t111 sensor driver
2011-09-20 15:09 ` [PATCH 2/5] [media] v4l: Add mt9t111 sensor driver Guennadi Liakhovetski
@ 2011-09-27 14:07 ` Ravi, Deepthy
0 siblings, 0 replies; 13+ messages in thread
From: Ravi, Deepthy @ 2011-09-27 14:07 UTC (permalink / raw)
To: Guennadi Liakhovetski
Cc: laurent.pinchart@ideasonboard.com, mchehab@infradead.org,
tony@atomide.com, Hiremath, Vaibhav, linux-media@vger.kernel.org,
linux@arm.linux.org.uk, linux-arm-kernel@lists.infradead.org,
kyungmin.park@samsung.com, hverkuil@xs4all.nl,
m.szyprowski@samsung.com, Shilimkar, Santosh,
khilman@deeprootsystems.com, david.woodhouse@intel.com,
akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
linux-omap@vger.kernel.org
Hi,
> ________________________________________
> From: Gary Thomas [gary@mlbassoc.com]
> Sent: Tuesday, September 27, 2011 7:21 PM
> To: Ravi, Deepthy
> Cc: laurent.pinchart@ideasonboard.com; mchehab@infradead.org; tony@atomide.com; Hiremath, Vaibhav; linux-media@vger.kernel.org; linux@arm.linux.org.uk; linux-arm-kernel@lists.infradead.org; kyungmin.park@samsung.com; hverkuil@xs4all.nl; m.szyprowski@samsung.com; g.liakhovetski@gmx.de; Shilimkar, Santosh; khilman@deeprootsystems.com; linux-kernel@vger.kernel.org; linux-omap@vger.kernel.org
> Subject: Re: [PATCH v2 0/5] OMAP3EVM: Add support for MT9T111 sensor
>
> On 2011-09-27 07:40, Deepthy Ravi wrote:
>> This patchset
>> -adds support for MT9T111 sensor on omap3evm.
>> Currently the sensor driver supports only
>> VGA resolution.
>> -enables MT9T111 sensor in omap2plus_defconfig.
>>
>> This is dependent on the following patchset
>> http://www.spinics.net/lists/linux-media/msg37270.html
>> which adds YUYV input support for OMAP3ISP. And is
>> applied on top of rc1-for-3.2 of gliakhovetski/v4l-dvb.git
>
> Why not use the same base as Lennart?
> The set is based on
> http://git.linuxtv.org/pinchartl/media.git/shortlog/refs/heads/omap3isp-omap3isp-next
>
[Deepthy Ravi] Because the patches for making mt9t112 driver usable outside the soc-camera subsystem are present in that base only . Its not there in Laurent's.
>> ---
>> Changes in v2:
>> As per the discussion here,
>> https://lkml.org/lkml/2011/9/20/280
>> the existing mt9t112 driver is reused for
>> adding support for mt9t111 sensor.
>> Deepthy Ravi (3):
>> [media] v4l: Add support for mt9t111 sensor driver
>> ispccdc: Configure CCDC_SYN_MODE register
>> omap2plus_defconfig: Enable omap3isp and MT9T111 sensor drivers
>>
>> Vaibhav Hiremath (2):
>> omap3evm: Enable regulators for camera interface
>> omap3evm: Add Camera board init/hookup file
>>
>> arch/arm/configs/omap2plus_defconfig | 9 +
>> arch/arm/mach-omap2/Makefile | 5 +
>> arch/arm/mach-omap2/board-omap3evm-camera.c | 185 ++++
>> arch/arm/mach-omap2/board-omap3evm.c | 26 +
>> drivers/media/video/Kconfig | 7 +
>> drivers/media/video/Makefile | 1 +
>> drivers/media/video/mt9t111_reg.h | 1367 +++++++++++++++++++++++++++
>> drivers/media/video/mt9t112.c | 320 ++++++-
>> drivers/media/video/omap3isp/ispccdc.c | 11 +-
>> include/media/mt9t111.h | 45 +
>> 10 files changed, 1937 insertions(+), 39 deletions(-)
>> create mode 100644 arch/arm/mach-omap2/board-omap3evm-camera.c
>> create mode 100644 drivers/media/video/mt9t111_reg.h
>> create mode 100644 include/media/mt9t111.h
>
> --
> ------------------------------------------------------------
> Gary Thomas | Consulting for the
> MLB Associates | Embedded world
> ------------------------------------------------------------
>
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2011-09-27 14:08 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-20 14:56 [PATCH 0/5] OMAP3EVM: Add support for MT9T111 sensor Deepthy Ravi
2011-09-20 14:56 ` [PATCH 1/5] omap3evm: Enable regulators for camera interface Deepthy Ravi
2011-09-20 14:56 ` [PATCH 3/5] omap3evm: Add Camera board init/hookup file Deepthy Ravi
2011-09-20 14:56 ` [PATCH 4/5] ispccdc: Configure CCDC_SYN_MODE register for UYVY8_2X8 and YUYV8_2X8 formats Deepthy Ravi
2011-09-20 23:26 ` Laurent Pinchart
2011-09-21 5:32 ` Ravi, Deepthy
2011-09-21 9:06 ` Laurent Pinchart
2011-09-23 11:53 ` Ravi, Deepthy
2011-09-20 14:56 ` [PATCH 5/5] omap2plus_defconfig: Enable omap3isp and MT9T111 sensor drivers Deepthy Ravi
2011-09-20 23:13 ` Laurent Pinchart
2011-09-20 23:52 ` Tony Lindgren
[not found] ` <1316530612-23075-3-git-send-email-deepthy.ravi@ti.com>
2011-09-20 15:09 ` [PATCH 2/5] [media] v4l: Add mt9t111 sensor driver Guennadi Liakhovetski
2011-09-27 14:07 ` Ravi, Deepthy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).