Re: OMAP3 ISP and tvp5151 driver.

2011-04-20 Thread Raffaele Recalcati
Hi Laurent,

On Wed, Mar 30, 2011 at 3:32 PM, Laurent Pinchart
laurent.pinch...@ideasonboard.com wrote:
 Hi Loïc,

 On Wednesday 30 March 2011 13:05:08 Loïc Akue wrote:
 Hi Laurent,

  The OMAP3 ISP should support interleaving interlaced frames, but that's
  not implemented in the driver. You will need to at least implement
  interlaced frames support in the CCDC module to report field identifiers
  to userspace.

 Are you saying that the OMAP ISP could be configured to provide some full
 field frames on the CCDC output? I'm looking at the ISP's TRM but I can't
 find anything interesting.

 Look at the Line-Output Control section in the OMAP3 TRM (SWPU177B, page
 1201).

 Or is it the job of the user space application to recompose the image with
 the interleaved frames?

 --
 Regards,

 Laurent Pinchart
 --
 To unsubscribe from this list: send the line unsubscribe linux-media in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


I'm using tvp5151 in DaVinci with the drivers/media/video/tvp5150.c
driver with little modification to enhance v4l2 interface.
It works.
Now I'm moving to dm3730 and I see that evm dm3730 uses tvp514x-int.c
from Arago tree, that is really different from tvp514x.c .
I'm trying to understand if I need to create a tvp5150-int.c using the
call v4l2_int_device_register instead of v4l2_i2c_subdev_init.
The drivers/media/video/omap34xxcam.c driver calls
v4l2_int_device_register and so it needs v4l2_int_device_register.

Maybe you have done some modifications to
drivers/media/video/tvp5150.c that I could merge with mines ?

Bye,
Raffaele
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: OMAP3 ISP and tvp5151 driver.

2011-04-20 Thread Raffaele Recalcati
Hi Laurent,

On Wed, Apr 20, 2011 at 5:25 PM, Raffaele Recalcati
lamiapost...@gmail.com wrote:
 Hi Laurent,

 On Wed, Mar 30, 2011 at 3:32 PM, Laurent Pinchart
 laurent.pinch...@ideasonboard.com wrote:
 Hi Loïc,

 On Wednesday 30 March 2011 13:05:08 Loïc Akue wrote:
 Hi Laurent,

  The OMAP3 ISP should support interleaving interlaced frames, but that's
  not implemented in the driver. You will need to at least implement
  interlaced frames support in the CCDC module to report field identifiers
  to userspace.

 Are you saying that the OMAP ISP could be configured to provide some full
 field frames on the CCDC output? I'm looking at the ISP's TRM but I can't
 find anything interesting.

 Look at the Line-Output Control section in the OMAP3 TRM (SWPU177B, page
 1201).

 Or is it the job of the user space application to recompose the image with
 the interleaved frames?

 --
 Regards,

 Laurent Pinchart
 --
 To unsubscribe from this list: send the line unsubscribe linux-media in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


 I'm using tvp5151 in DaVinci with the drivers/media/video/tvp5150.c
 driver with little modification to enhance v4l2 interface.
 It works.
 Now I'm moving to dm3730 and I see that evm dm3730 uses tvp514x-int.c
 from Arago tree, that is really different from tvp514x.c .
 I'm trying to understand if I need to create a tvp5150-int.c using the
 call v4l2_int_device_register instead of v4l2_i2c_subdev_init.
 The drivers/media/video/omap34xxcam.c driver calls
 v4l2_int_device_register and so it needs v4l2_int_device_register.

 Maybe you have done some modifications to
 drivers/media/video/tvp5150.c that I could merge with mines ?

I stop boring you with this item.
I have seen in linuxtv tree the omap3isp directory.
At the moment I think not to move from 2.6.32 to latest linuxtv
kernel, but I keep in mind
this possibility.

Regards,
Raffaele
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


tuner and PAL decoder - runtime suspend

2011-02-28 Thread Raffaele Recalcati
I'm trying to develop the tda9885 poweron + setting paramteres driver,
using the v4l2 structure, that feeds a tvp5151.
I can declare a tvp5151 input as V4L2_INPUT_TYPE_TUNER and than create
a v4l2 subdev driver for tda9885.
I don't know if I need to put code in tvp5151 driver in order to
trigger the tda9885 power on + setting parameters
(v4l2_device_call_all), or if there is an automatic way (I think so)
to do it.
Finally I'll add runtime suspend and resume code for tda9885 and tvp5151.
Is there any recommendation to do this in the right way?

Thx,
Raffaele
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: tvp5150 extension to tvp5151

2010-11-22 Thread Raffaele Recalcati
On Mon, Nov 22, 2010 at 12:32 PM, Mauro Carvalho Chehab
mche...@infradead.org wrote:
 Hi Raffaele,

 Em 19-11-2010 16:26, Raffaele Recalcati escreveu:
 I need to support fully tvp5151.
 So I'm trying to understand your driver, that is ready for VBI and not
 for video acquisition.
 I also take sometimes a look at tvp514x.c, for instance trying to add
 VIDIOC_ENUM_FMT and other ioctls.
 I think we can move from tvp5150.c to tvp515x.c, maybe...
 I don't think is good to have tvp51xx.c because tvp514x.c family is
 more complex (more inputs...).
 By now I'm using tvp5150.c with some modifications and video acquisition 
 works.
 I need to complete the support in order to have gstreamer fully running.
 I'm working on 2.6.32, but I have planned to port it to mainline.

 Renaming it to tvp515x.c and adding support for tvp5051 seems a good way.
 With tvp5150, video acquisition works fine with several devices with em28xx,
 although we may need to add more video formats at the media bus, depending
 on what you're doing. I didn't test VBI support on it, because the devices
 I have are based on em28xx, and I didn't find any way to capture the VBI
 decoded packages and sent to userspace with that design. So, the basic stuff
 is there, but maybe some adjusts may be needed for VBI.

 Do you have any suggestion for my work?

 The better is to submit the patches you have, for us to apply upstream.

Thx for your reply..
I have added many v4l2 support similar to tvp514x.
I need to test them, hoping they work.
When all we'll be ok I'll send patches.
So I go on renaming all strings from tvp5150 to tvp515x.

Thx,
Raffaele
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


tvp5150 extension to tvp5151

2010-11-19 Thread Raffaele Recalcati
I need to support fully tvp5151.
So I'm trying to understand your driver, that is ready for VBI and not
for video acquisition.
I also take sometimes a look at tvp514x.c, for instance trying to add
VIDIOC_ENUM_FMT and other ioctls.
I think we can move from tvp5150.c to tvp515x.c, maybe...
I don't think is good to have tvp51xx.c because tvp514x.c family is
more complex (more inputs...).
By now I'm using tvp5150.c with some modifications and video acquisition works.
I need to complete the support in order to have gstreamer fully running.
I'm working on 2.6.32, but I have planned to port it to mainline.
Do you have any suggestion for my work?

Thx,
Raffaele
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] davinci: dm365: Added swap between y and c data in isif port.

2010-06-28 Thread Raffaele Recalcati
From: Raffaele Recalcati raffaele.recalc...@bticino.it

Added the possibility to change the position of y and c
data in the isif port.
This patch has been developed against the
http://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci.git
git tree and tested on bmx board.

Signed-off-by: Raffaele Recalcati raffaele.recalc...@bticino.it
---
 drivers/media/video/davinci/isif.c |6 +-
 include/media/davinci/isif.h   |2 ++
 include/media/davinci/vpfe_types.h |8 
 3 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/drivers/media/video/davinci/isif.c 
b/drivers/media/video/davinci/isif.c
index 29c29c6..02a8bdb 100644
--- a/drivers/media/video/davinci/isif.c
+++ b/drivers/media/video/davinci/isif.c
@@ -105,6 +105,7 @@ static struct isif_oper_config {
.hd_pol = VPFE_PINPOL_POSITIVE,
.pix_order = CCDC_PIXORDER_CBYCRY,
.buf_type = CCDC_BUFTYPE_FLD_INTERLEAVED,
+   .ycswap = YCIN_NOT_SWP,
},
.bayer = {
.pix_fmt = CCDC_PIXFMT_RAW,
@@ -864,6 +865,7 @@ static void isif_setfbaddr(unsigned long addr)
 static int isif_set_hw_if_params(struct vpfe_hw_if_param *params)
 {
isif_cfg.if_type = params-if_type;
+   isif_cfg.ycbcr.ycswap = params-ycswap;
 
switch (params-if_type) {
case VPFE_BT656:
@@ -914,7 +916,9 @@ static int isif_config_ycbcr(void)
}
modeset |= (VPFE_PINPOL_NEGATIVE  ISIF_VD_POL_SHIFT);
regw(3, REC656IF);
-   ccdcfg = ccdcfg | ISIF_DATA_PACK8 | ISIF_YCINSWP_YCBCR;
+   ccdcfg = ccdcfg | ISIF_DATA_PACK8;
+   if (params-ycswap == YCIN_SWP)
+   ccdcfg |= ISIF_YCINSWP_YCBCR;
break;
case VPFE_BT656_10BIT:
if (params-pix_fmt != CCDC_PIXFMT_YCBCR_8BIT) {
diff --git a/include/media/davinci/isif.h b/include/media/davinci/isif.h
index b0b74ad..b123f2c 100644
--- a/include/media/davinci/isif.h
+++ b/include/media/davinci/isif.h
@@ -466,6 +466,8 @@ struct isif_ycbcr_config {
enum vpfe_pin_pol hd_pol;
/* isif pix order. Only used for ycbcr capture */
enum ccdc_pixorder pix_order;
+   /* ccdc data connection. 8 bit ycbcr data bus connection */
+   enum vpfe_data_swap ycswap;
/* isif buffer type. Only used for ycbcr capture */
enum ccdc_buftype buf_type;
 };
diff --git a/include/media/davinci/vpfe_types.h 
b/include/media/davinci/vpfe_types.h
index 76fb74b..337c917 100644
--- a/include/media/davinci/vpfe_types.h
+++ b/include/media/davinci/vpfe_types.h
@@ -40,12 +40,20 @@ enum vpfe_hw_if_type {
VPFE_BT656_10BIT
 };
 
+/* 8 bit interface can be swapped */
+enum vpfe_data_swap {
+   YCIN_NOT_SWP,
+   YCIN_SWP,
+};
+
 /* interface description */
 struct vpfe_hw_if_param {
enum vpfe_hw_if_type if_type;
enum vpfe_pin_pol hdpol;
enum vpfe_pin_pol vdpol;
+   enum vpfe_data_swap ycswap;
 };
 
+
 #endif
 #endif
-- 
1.7.0.4

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html