All of lore.kernel.org
 help / color / mirror / Atom feed
* OMAP3 ISP and tvp5151 driver.
@ 2010-12-27 16:24 Enric Balletbò i Serra
  2010-12-28 20:46 ` Laurent Pinchart
  0 siblings, 1 reply; 16+ messages in thread
From: Enric Balletbò i Serra @ 2010-12-27 16:24 UTC (permalink / raw)
  To: linux-media, laurent.pinchart

Hello all,

I'm new on media and camera, I try to use the OMAP3 ISP driver on
OMAP3530 with media framework. I've a TVP5151 connected on ISP port
though the parallel interface on own custom board

   Against which repository/branch should I start the development ?
   Should I port tvp5150 driver to new tvp5151 device and new media
framework ? Any driver as reference ?

Hopefully, somebody can give me some tips. Thanks

Thanks in advance,
   Enric

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2010-12-27 16:24 OMAP3 ISP and tvp5151 driver Enric Balletbò i Serra
@ 2010-12-28 20:46 ` Laurent Pinchart
  2011-01-12 11:58   ` Enric Balletbò i Serra
  0 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2010-12-28 20:46 UTC (permalink / raw)
  To: Enric Balletbò i Serra; +Cc: linux-media

Hi Enric,

On Monday 27 December 2010 17:24:13 Enric Balletbò i Serra wrote:
> Hello all,
> 
> I'm new on media and camera, I try to use the OMAP3 ISP driver on
> OMAP3530 with media framework. I've a TVP5151 connected on ISP port
> though the parallel interface on own custom board
> 
> Against which repository/branch should I start the development ?

The most up-to-date code is located in the media-0004-omap3isp branch of the 
http://git.linuxtv.org/pinchartl/media.git repository.

> Should I port tvp5150 driver to new tvp5151 device and new media
> framework ?

That would be great :-)

> Any driver as reference ?

The MT9T001 and MT9V032 drivers in the media-0005-sensors branch. I haven't 
tested the MT9T001 driver recently, so my advice would be to use the MT9V032 
driver.

> Hopefully, somebody can give me some tips. Thanks

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2010-12-28 20:46 ` Laurent Pinchart
@ 2011-01-12 11:58   ` Enric Balletbò i Serra
  2011-01-12 12:39     ` Laurent Pinchart
  0 siblings, 1 reply; 16+ messages in thread
From: Enric Balletbò i Serra @ 2011-01-12 11:58 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media, mchehab

Hi all,

As explained in my first mail I would like port the tvp515x driver to
new media framework, I'm a newbie with the v4l2 API and of course with
the new media framework API, so sorry if next questions are stupid or
trivial (please, patience with me).

My idea is follow this link schem:


---------------------------------------
--------------------------------------------
 ---------------------         |    |                              | 1
| ----------> | OMAP3 ISP CCDC OUTPUT |
| TVP515x  | 0 | -----> | 0 | OMAP3 ISP CCDC  --- |
--------------------------------------------
 --------------------          |    |                              | 2 |
                                ---------------------------------------

Where:
 * TVP515x is /dev/v4l-subdev8 c 81 15
 * OMAP3 ISP CCDC is /dev/v4l-subdev2 c 81 4
 * OMAP3 ISP CCDC OUTPUT is /dev/video2 c 81 5

Then activate these links with

 ./media-ctl -r -l '"tvp5150 2-005c":0->"OMAP3 ISP CCDC":0[1], "OMAP3
ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
 Resetting all links to disabled
 Setting up link 16:0 -> 5:0 [1]
 Setting up link 5:1 -> 6:0 [1]

I'm on the right way or I'm completely lost ?

I think the next step is adapt the tvp515x driver to new media
framework, I'm not sure how to do this, someone can give some points ?

Once this is done, I suppose I can test using gstreamer, for example
using something like this.

   gst-launch v4l2src device=/dev/video2 ! ffmpegcolorspace ! xvimagesink

I'm right in this point ?

Any help will be apreciated.

Thanks in advance,
   Enric

2010/12/28 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> Hi Enric,
>
> On Monday 27 December 2010 17:24:13 Enric Balletbò i Serra wrote:
>> Hello all,
>>
>> I'm new on media and camera, I try to use the OMAP3 ISP driver on
>> OMAP3530 with media framework. I've a TVP5151 connected on ISP port
>> though the parallel interface on own custom board
>>
>> Against which repository/branch should I start the development ?
>
> The most up-to-date code is located in the media-0004-omap3isp branch of the
> http://git.linuxtv.org/pinchartl/media.git repository.
>
>> Should I port tvp5150 driver to new tvp5151 device and new media
>> framework ?
>
> That would be great :-)
>
>> Any driver as reference ?
>
> The MT9T001 and MT9V032 drivers in the media-0005-sensors branch. I haven't
> tested the MT9T001 driver recently, so my advice would be to use the MT9V032
> driver.
>
>> Hopefully, somebody can give me some tips. Thanks
>
> --
> Regards,
>
> Laurent Pinchart
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-01-12 11:58   ` Enric Balletbò i Serra
@ 2011-01-12 12:39     ` Laurent Pinchart
  2011-01-13 12:27       ` Enric Balletbò i Serra
  0 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2011-01-12 12:39 UTC (permalink / raw)
  To: Enric Balletbò i Serra; +Cc: linux-media, mchehab

Hi Enric,

On Wednesday 12 January 2011 12:58:04 Enric Balletbò i Serra wrote:
> Hi all,
> 
> As explained in my first mail I would like port the tvp515x driver to
> new media framework, I'm a newbie with the v4l2 API and of course with
> the new media framework API, so sorry if next questions are stupid or
> trivial (please, patience with me).
> 
> My idea is follow this link schem:
> 
> ---------------------------------------
> --------------------------------------------
>  ---------------------         |    |                              | 1
> 
> | ----------> | OMAP3 ISP CCDC OUTPUT |
> | TVP515x  | 0 | -----> | 0 | OMAP3 ISP CCDC  --- |
> 
> --------------------------------------------
>  --------------------          |    |                              | 2 |
>                                 ---------------------------------------

ASCII art would look much better if you drew it in a non-proportional font, 
with 80 character per line at most.

> Where:
>  * TVP515x is /dev/v4l-subdev8 c 81 15
>  * OMAP3 ISP CCDC is /dev/v4l-subdev2 c 81 4
>  * OMAP3 ISP CCDC OUTPUT is /dev/video2 c 81 5
> 
> Then activate these links with
> 
>  ./media-ctl -r -l '"tvp5150 2-005c":0->"OMAP3 ISP CCDC":0[1], "OMAP3
> ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
>  Resetting all links to disabled
>  Setting up link 16:0 -> 5:0 [1]
>  Setting up link 5:1 -> 6:0 [1]
> 
> I'm on the right way or I'm completely lost ?

That's correct.

> I think the next step is adapt the tvp515x driver to new media
> framework, I'm not sure how to do this, someone can give some points ?

You need to implement subdev pad operations. get_fmt and set_fmt are required.

> Once this is done, I suppose I can test using gstreamer, for example
> using something like this.
> 
>    gst-launch v4l2src device=/dev/video2 ! ffmpegcolorspace ! xvimagesink
> 
> I'm right in this point ?

You need to specify the format explicitly. It must be identical to the format 
configured on pad CCDC:1.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-01-12 12:39     ` Laurent Pinchart
@ 2011-01-13 12:27       ` Enric Balletbò i Serra
  2011-01-14 17:00         ` Laurent Pinchart
  0 siblings, 1 reply; 16+ messages in thread
From: Enric Balletbò i Serra @ 2011-01-13 12:27 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media, mchehab

Hi all,

2011/1/12 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> Hi Enric,
>
> On Wednesday 12 January 2011 12:58:04 Enric Balletbò i Serra wrote:
>> Hi all,
>>
>> As explained in my first mail I would like port the tvp515x driver to
>> new media framework, I'm a newbie with the v4l2 API and of course with
>> the new media framework API, so sorry if next questions are stupid or
>> trivial (please, patience with me).
>>
>> My idea is follow this link schem:
>>
>> ---------------------------------------
>> --------------------------------------------
>>  ---------------------         |    |                              | 1
>>
>> | ----------> | OMAP3 ISP CCDC OUTPUT |
>> | TVP515x  | 0 | -----> | 0 | OMAP3 ISP CCDC  --- |
>>
>> --------------------------------------------
>>  --------------------          |    |                              | 2 |
>>                                 ---------------------------------------
>
> ASCII art would look much better if you drew it in a non-proportional font,
> with 80 character per line at most.
>
>> Where:
>>  * TVP515x is /dev/v4l-subdev8 c 81 15
>>  * OMAP3 ISP CCDC is /dev/v4l-subdev2 c 81 4
>>  * OMAP3 ISP CCDC OUTPUT is /dev/video2 c 81 5
>>
>> Then activate these links with
>>
>>  ./media-ctl -r -l '"tvp5150 2-005c":0->"OMAP3 ISP CCDC":0[1], "OMAP3
>> ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
>>  Resetting all links to disabled
>>  Setting up link 16:0 -> 5:0 [1]
>>  Setting up link 5:1 -> 6:0 [1]
>>
>> I'm on the right way or I'm completely lost ?
>
> That's correct.
>
>> I think the next step is adapt the tvp515x driver to new media
>> framework, I'm not sure how to do this, someone can give some points ?
>
> You need to implement subdev pad operations. get_fmt and set_fmt are required.

I configured the TVP5151 to  8-bit 4:2:3 YCbCr output format. Is 8-bit
4:2:3 YCbCr output format implemented in OMAP3 ISP CCDC  ?

>
>> Once this is done, I suppose I can test using gstreamer, for example
>> using something like this.
>>
>>    gst-launch v4l2src device=/dev/video2 ! ffmpegcolorspace ! xvimagesink
>>
>> I'm right in this point ?
>
> You need to specify the format explicitly. It must be identical to the format
> configured on pad CCDC:1.

Can you give me an example using gstreamer ?

Running yavta I get

# ./yavta -f SGRBG10 -s 720x525 -n 4 --capture=4 --skip 3 -F /dev/video2
Device /dev/video2 opened: OMAP3 ISP CCDC output (media).
Video format set: width: 720 height: 525 buffer size: 756000
Video format: BA10 (30314142) 720x525
4 buffers requested.
length: 756000 offset: 0
Buffer 0 mapped at address 0x400f2000.
length: 756000 offset: 757760
Buffer 1 mapped at address 0x40385000.
length: 756000 offset: 1515520
Buffer 2 mapped at address 0x40466000.
length: 756000 offset: 2273280
Buffer 3 mapped at address 0x405ed000.
Unable to start streaming: 22.
Unable to dequeue buffer (22).
4 buffers released.

I know the format is not correct, but, is the "Unable to start
streaming: 22" error related to the format or is related to another
problem ?

Thanks in advance,
   Enric

>
> --
> Regards,
>
> Laurent Pinchart
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-01-13 12:27       ` Enric Balletbò i Serra
@ 2011-01-14 17:00         ` Laurent Pinchart
  2011-01-18  9:20           ` Enric Balletbò i Serra
  0 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2011-01-14 17:00 UTC (permalink / raw)
  To: Enric Balletbò i Serra; +Cc: linux-media, mchehab

Hi Enric,

On Thursday 13 January 2011 13:27:43 Enric Balletbò i Serra wrote:
> 2011/1/12 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> > On Wednesday 12 January 2011 12:58:04 Enric Balletbò i Serra wrote:
> >> Hi all,
> >> 
> >> As explained in my first mail I would like port the tvp515x driver to
> >> new media framework, I'm a newbie with the v4l2 API and of course with
> >> the new media framework API, so sorry if next questions are stupid or
> >> trivial (please, patience with me).
> >> 
> >> My idea is follow this link schem:
> >> 
> >> ---------------------------------------
> >> --------------------------------------------
> >>  ---------------------         |    |                              | 1
> >> 
> >> | ----------> | OMAP3 ISP CCDC OUTPUT |
> >> | TVP515x  | 0 | -----> | 0 | OMAP3 ISP CCDC  --- |
> >> 
> >> --------------------------------------------
> >>  --------------------          |    |                              | 2 |
> >>                                 ---------------------------------------
> > 
> > ASCII art would look much better if you drew it in a non-proportional
> > font, with 80 character per line at most.
> > 
> >> Where:
> >>  * TVP515x is /dev/v4l-subdev8 c 81 15
> >>  * OMAP3 ISP CCDC is /dev/v4l-subdev2 c 81 4
> >>  * OMAP3 ISP CCDC OUTPUT is /dev/video2 c 81 5
> >> 
> >> Then activate these links with
> >> 
> >>  ./media-ctl -r -l '"tvp5150 2-005c":0->"OMAP3 ISP CCDC":0[1], "OMAP3
> >> ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
> >>  Resetting all links to disabled
> >>  Setting up link 16:0 -> 5:0 [1]
> >>  Setting up link 5:1 -> 6:0 [1]
> >> 
> >> I'm on the right way or I'm completely lost ?
> > 
> > That's correct.
> > 
> >> I think the next step is adapt the tvp515x driver to new media
> >> framework, I'm not sure how to do this, someone can give some points ?
> > 
> > You need to implement subdev pad operations. get_fmt and set_fmt are
> > required.
> 
> I configured the TVP5151 to  8-bit 4:2:3 YCbCr output format. Is 8-bit
> 4:2:3 YCbCr output format implemented in OMAP3 ISP CCDC  ?

I suppose you mean 4:2:2. The CCDC doesn't support that yet.

> >> Once this is done, I suppose I can test using gstreamer, for example
> >> using something like this.
> >> 
> >>    gst-launch v4l2src device=/dev/video2 ! ffmpegcolorspace !
> >> xvimagesink
> >> 
> >> I'm right in this point ?
> > 
> > You need to specify the format explicitly. It must be identical to the
> > format configured on pad CCDC:1.
> 
> Can you give me an example using gstreamer ?

I'm not a gstreamer expert, sorry.

> Running yavta I get
> 
> # ./yavta -f SGRBG10 -s 720x525 -n 4 --capture=4 --skip 3 -F /dev/video2
> Device /dev/video2 opened: OMAP3 ISP CCDC output (media).
> Video format set: width: 720 height: 525 buffer size: 756000
> Video format: BA10 (30314142) 720x525
> 4 buffers requested.
> length: 756000 offset: 0
> Buffer 0 mapped at address 0x400f2000.
> length: 756000 offset: 757760
> Buffer 1 mapped at address 0x40385000.
> length: 756000 offset: 1515520
> Buffer 2 mapped at address 0x40466000.
> length: 756000 offset: 2273280
> Buffer 3 mapped at address 0x405ed000.
> Unable to start streaming: 22.
> Unable to dequeue buffer (22).
> 4 buffers released.
> 
> I know the format is not correct, but, is the "Unable to start
> streaming: 22" error related to the format or is related to another
> problem ?

That usually means that the format configured on the video device node 
(SGRBG10 720x525 in this case) is different than the format setup on the 
connected subdev output (CCDC pad 1 in this case). My guess is that you 
probably forgot to setup formats on the subdev pads (using media-ctl -f).

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-01-14 17:00         ` Laurent Pinchart
@ 2011-01-18  9:20           ` Enric Balletbò i Serra
  2011-01-18  9:36             ` Laurent Pinchart
  0 siblings, 1 reply; 16+ messages in thread
From: Enric Balletbò i Serra @ 2011-01-18  9:20 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media, mchehab

Hi Laurent,

2011/1/14 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> Hi Enric,
>
> On Thursday 13 January 2011 13:27:43 Enric Balletbò i Serra wrote:
>> 2011/1/12 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
>> > On Wednesday 12 January 2011 12:58:04 Enric Balletbò i Serra wrote:
>> >> Hi all,
>> >>
>> >> As explained in my first mail I would like port the tvp515x driver to
>> >> new media framework, I'm a newbie with the v4l2 API and of course with
>> >> the new media framework API, so sorry if next questions are stupid or
>> >> trivial (please, patience with me).
>> >>
>> >> My idea is follow this link schem:
>> >>
>> >> ---------------------------------------
>> >> --------------------------------------------
>> >>  ---------------------         |    |                              | 1
>> >>
>> >> | ----------> | OMAP3 ISP CCDC OUTPUT |
>> >> | TVP515x  | 0 | -----> | 0 | OMAP3 ISP CCDC  --- |
>> >>
>> >> --------------------------------------------
>> >>  --------------------          |    |                              | 2 |
>> >>                                 ---------------------------------------
>> >
>> > ASCII art would look much better if you drew it in a non-proportional
>> > font, with 80 character per line at most.
>> >
>> >> Where:
>> >>  * TVP515x is /dev/v4l-subdev8 c 81 15
>> >>  * OMAP3 ISP CCDC is /dev/v4l-subdev2 c 81 4
>> >>  * OMAP3 ISP CCDC OUTPUT is /dev/video2 c 81 5
>> >>
>> >> Then activate these links with
>> >>
>> >>  ./media-ctl -r -l '"tvp5150 2-005c":0->"OMAP3 ISP CCDC":0[1], "OMAP3
>> >> ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
>> >>  Resetting all links to disabled
>> >>  Setting up link 16:0 -> 5:0 [1]
>> >>  Setting up link 5:1 -> 6:0 [1]
>> >>
>> >> I'm on the right way or I'm completely lost ?
>> >
>> > That's correct.
>> >
>> >> I think the next step is adapt the tvp515x driver to new media
>> >> framework, I'm not sure how to do this, someone can give some points ?
>> >
>> > You need to implement subdev pad operations. get_fmt and set_fmt are
>> > required.
>>
>> I configured the TVP5151 to  8-bit 4:2:3 YCbCr output format. Is 8-bit
>> 4:2:3 YCbCr output format implemented in OMAP3 ISP CCDC  ?
>
> I suppose you mean 4:2:2. The CCDC doesn't support that yet.
>
>> >> Once this is done, I suppose I can test using gstreamer, for example
>> >> using something like this.
>> >>
>> >>    gst-launch v4l2src device=/dev/video2 ! ffmpegcolorspace !
>> >> xvimagesink
>> >>
>> >> I'm right in this point ?
>> >
>> > You need to specify the format explicitly. It must be identical to the
>> > format configured on pad CCDC:1.
>>
>> Can you give me an example using gstreamer ?
>
> I'm not a gstreamer expert, sorry.
>
>> Running yavta I get
>>
>> # ./yavta -f SGRBG10 -s 720x525 -n 4 --capture=4 --skip 3 -F /dev/video2
>> Device /dev/video2 opened: OMAP3 ISP CCDC output (media).
>> Video format set: width: 720 height: 525 buffer size: 756000
>> Video format: BA10 (30314142) 720x525
>> 4 buffers requested.
>> length: 756000 offset: 0
>> Buffer 0 mapped at address 0x400f2000.
>> length: 756000 offset: 757760
>> Buffer 1 mapped at address 0x40385000.
>> length: 756000 offset: 1515520
>> Buffer 2 mapped at address 0x40466000.
>> length: 756000 offset: 2273280
>> Buffer 3 mapped at address 0x405ed000.
>> Unable to start streaming: 22.
>> Unable to dequeue buffer (22).
>> 4 buffers released.
>>
>> I know the format is not correct, but, is the "Unable to start
>> streaming: 22" error related to the format or is related to another
>> problem ?
>
> That usually means that the format configured on the video device node
> (SGRBG10 720x525 in this case) is different than the format setup on the
> connected subdev output (CCDC pad 1 in this case). My guess is that you
> probably forgot to setup formats on the subdev pads (using media-ctl -f).

Right and solved, thanks, one little step more.

Now seems yavta is blocked dequeuing a buffer ( VIDIOC_DQBUF ), with
strace I get

$ strace ./yavta -f SGRBG10 -s 720x525 -n 1 --capture=1 -F /dev/video2

mmap2(NULL, 756000, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x4011f000
write(1, "Buffer 0 mapped at address 0x401"..., 39Buffer 0 mapped at
address 0x4011f000.
) = 39
ioctl(3, VIDIOC_QBUF or VT_SETACTIVATE, 0xbede36cc) = 0
ioctl(3, VIDIOC_STREAMON, 0xbede365c)   = 0
gettimeofday({10879, 920196}, NULL)     = 0
ioctl(3, VIDIOC_DQBUF

and the code where stops is here

ispqueue.c
913	buf = list_first_entry(&queue->queue, struct isp_video_buffer, stream);
914	ret = isp_video_buffer_wait(buf, nonblocking);

Any idea ?

Thanks in advance
   Enric

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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-01-18  9:20           ` Enric Balletbò i Serra
@ 2011-01-18  9:36             ` Laurent Pinchart
  2011-01-19 11:05               ` Enric Balletbò i Serra
  0 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2011-01-18  9:36 UTC (permalink / raw)
  To: Enric Balletbò i Serra; +Cc: linux-media, mchehab

Hi Enric,

On Tuesday 18 January 2011 10:20:43 Enric Balletbò i Serra wrote:
> 
> Now seems yavta is blocked dequeuing a buffer ( VIDIOC_DQBUF ), with
> strace I get
> 
> $ strace ./yavta -f SGRBG10 -s 720x525 -n 1 --capture=1 -F /dev/video2
> 
> mmap2(NULL, 756000, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x4011f000
> write(1, "Buffer 0 mapped at address 0x401"..., 39Buffer 0 mapped at
> address 0x4011f000.
> ) = 39
> ioctl(3, VIDIOC_QBUF or VT_SETACTIVATE, 0xbede36cc) = 0
> ioctl(3, VIDIOC_STREAMON, 0xbede365c)   = 0
> gettimeofday({10879, 920196}, NULL)     = 0
> ioctl(3, VIDIOC_DQBUF
> 
> and the code where stops is here
> 
> ispqueue.c
> 913	buf = list_first_entry(&queue->queue, struct isp_video_buffer, stream);
> 914	ret = isp_video_buffer_wait(buf, nonblocking);
> 
> Any idea ?

My guess is that the CCDC doesn't receive the amount of lines it expects.

The CCDC generates an interrupt at 2/3 of the image and another one at the 
beginning of the last line. Start by checking if the ISP generates any 
interrupt to the host with cat /proc/interrupts. If it doesn't, then the CCDC 
receives less than 2/3 of the expected number of lines. If it does, it 
probably receives between 2/3 and 3/3. You can add printk statements in 
ispccdc_vd0_isr() and ispccdc_vd1_isr() to confirm this.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-01-18  9:36             ` Laurent Pinchart
@ 2011-01-19 11:05               ` Enric Balletbò i Serra
  2011-01-19 11:20                 ` Laurent Pinchart
  0 siblings, 1 reply; 16+ messages in thread
From: Enric Balletbò i Serra @ 2011-01-19 11:05 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media, mchehab

Hi Laurent,

2011/1/18 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> Hi Enric,
>
> On Tuesday 18 January 2011 10:20:43 Enric Balletbò i Serra wrote:
>>
>> Now seems yavta is blocked dequeuing a buffer ( VIDIOC_DQBUF ), with
>> strace I get
>>
>> $ strace ./yavta -f SGRBG10 -s 720x525 -n 1 --capture=1 -F /dev/video2
>>
>> mmap2(NULL, 756000, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x4011f000
>> write(1, "Buffer 0 mapped at address 0x401"..., 39Buffer 0 mapped at
>> address 0x4011f000.
>> ) = 39
>> ioctl(3, VIDIOC_QBUF or VT_SETACTIVATE, 0xbede36cc) = 0
>> ioctl(3, VIDIOC_STREAMON, 0xbede365c)   = 0
>> gettimeofday({10879, 920196}, NULL)     = 0
>> ioctl(3, VIDIOC_DQBUF
>>
>> and the code where stops is here
>>
>> ispqueue.c
>> 913   buf = list_first_entry(&queue->queue, struct isp_video_buffer, stream);
>> 914   ret = isp_video_buffer_wait(buf, nonblocking);
>>
>> Any idea ?
>
> My guess is that the CCDC doesn't receive the amount of lines it expects.
>
> The CCDC generates an interrupt at 2/3 of the image and another one at the
> beginning of the last line. Start by checking if the ISP generates any
> interrupt to the host with cat /proc/interrupts. If it doesn't, then the CCDC
> receives less than 2/3 of the expected number of lines. If it does, it
> probably receives between 2/3 and 3/3. You can add printk statements in
> ispccdc_vd0_isr() and ispccdc_vd1_isr() to confirm this.

Looks like my problem is that  ispccdc_vd0_isr() and ispccdc_vd1_isr()
are never called, adding printk in these functions I see only a lots
of ispccdc_hs_vs_isr(), Seems the CCDC receives less than 2/3 of
expected number lines. Using an oscilloscope I see VS and HS data
lines of the camera interface, so seems physical interface is working.

I guess I'm missing something to configure in tvp5150 driver but I
don't know. Any help ?

Here is a CCDC Register dump

[ 6211.404205] *** ccdc_configure : height 525
[ 6211.404205] *** ccdc_configure : width 720
[ 6211.404205] omap3isp omap3isp: -------------CCDC Register dump-------------
[ 6211.411315] omap3isp omap3isp: ###CCDC PCR=0x00000001
[ 6211.416381] omap3isp omap3isp: ###CCDC SYN_MODE=0x00000001
[ 6211.421905] omap3isp omap3isp: ###CCDC HD_VD_WID=0x00000000
[ 6211.427520] omap3isp omap3isp: ###CCDC PIX_LINES=0x00000000
[ 6211.433135] omap3isp omap3isp: ###CCDC HORZ_INFO=0x0000028f
[ 6211.438751] omap3isp omap3isp: ###CCDC VERT_START=0x00000000
[ 6211.444458] omap3isp omap3isp: ###CCDC VERT_LINES=0x00000000
[ 6211.450164] omap3isp omap3isp: ###CCDC CULLING=0x00000000
[ 6211.455566] omap3isp omap3isp: ###CCDC HSIZE_OFF=0x00000000
[ 6211.461181] omap3isp omap3isp: ###CCDC SDOFST=0x00000000
[ 6211.466552] omap3isp omap3isp: ###CCDC SDR_ADDR=0x00000000
[ 6211.472076] omap3isp omap3isp: ###CCDC CLAMP=0x00000000
[ 6211.477325] omap3isp omap3isp: ###CCDC DCSUB=0x00000000
[ 6211.482604] omap3isp omap3isp: ###CCDC COLPTN=0x00000000
[ 6211.487945] omap3isp omap3isp: ###CCDC BLKCMP=0x00000000
[ 6211.493286] omap3isp omap3isp: ###CCDC FPC=0x80000000
[ 6211.498382] omap3isp omap3isp: ###CCDC FPC_ADDR=0x00000000
[ 6211.503906] omap3isp omap3isp: ###CCDC VDINT=0x0000002a
[ 6211.509155] omap3isp omap3isp: ###CCDC ALAW=0x00000000
[ 6211.514343] omap3isp omap3isp: ###CCDC REC656IF=0x00020000
[ 6211.519866] omap3isp omap3isp: ###CCDC CFG=0x0000b210
[ 6211.524932] omap3isp omap3isp: ###CCDC FMTCFG=0x00000000
[ 6211.530303] omap3isp omap3isp: ###CCDC FMT_HORZ=0x000002d0
[ 6211.535827] omap3isp omap3isp: ###CCDC FMT_VERT=0x00000200
[ 6211.541351] omap3isp omap3isp: ###CCDC PRGEVEN0=0x00013210
[ 6211.546875] omap3isp omap3isp: ###CCDC PRGEVEN1=0x00000000
[ 6211.552398] omap3isp omap3isp: ###CCDC PRGODD0=0x00000000
[ 6211.557830] omap3isp omap3isp: ###CCDC PRGODD1=0x00000000
[ 6211.563262] omap3isp omap3isp: ###CCDC VP_OUT=0x04182d00
[ 6211.568603] omap3isp omap3isp: ###CCDC LSC_CONFIG=0x00000000
[ 6211.574310] omap3isp omap3isp: ###CCDC LSC_INITIAL=0x00000000
[ 6211.580108] omap3isp omap3isp: ###CCDC LSC_TABLE_BASE=0x00000000
[ 6211.586151] omap3isp omap3isp: ###CCDC LSC_TABLE_OFFSET=0x00000000
[ 6211.592376] omap3isp omap3isp: --------------------------------------------

Thanks in advance,
    Enric

>
> --
> Regards,
>
> Laurent Pinchart
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-01-19 11:05               ` Enric Balletbò i Serra
@ 2011-01-19 11:20                 ` Laurent Pinchart
  2011-03-29 15:19                   ` Enric Balletbò i Serra
  0 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2011-01-19 11:20 UTC (permalink / raw)
  To: Enric Balletbò i Serra; +Cc: linux-media, mchehab

Hi Enric,

On Wednesday 19 January 2011 12:05:54 Enric Balletbò i Serra wrote:
> 2011/1/18 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> > On Tuesday 18 January 2011 10:20:43 Enric Balletbò i Serra wrote:
> >> Now seems yavta is blocked dequeuing a buffer ( VIDIOC_DQBUF ), with
> >> strace I get
> >> 
> >> $ strace ./yavta -f SGRBG10 -s 720x525 -n 1 --capture=1 -F /dev/video2
> >> 
> >> mmap2(NULL, 756000, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x4011f000
> >> write(1, "Buffer 0 mapped at address 0x401"..., 39Buffer 0 mapped at
> >> address 0x4011f000.
> >> ) = 39
> >> ioctl(3, VIDIOC_QBUF or VT_SETACTIVATE, 0xbede36cc) = 0
> >> ioctl(3, VIDIOC_STREAMON, 0xbede365c)   = 0
> >> gettimeofday({10879, 920196}, NULL)     = 0
> >> ioctl(3, VIDIOC_DQBUF
> >> 
> >> and the code where stops is here
> >> 
> >> ispqueue.c
> >> 913   buf = list_first_entry(&queue->queue, struct isp_video_buffer,
> >> stream); 914   ret = isp_video_buffer_wait(buf, nonblocking);
> >> 
> >> Any idea ?
> > 
> > My guess is that the CCDC doesn't receive the amount of lines it expects.
> > 
> > The CCDC generates an interrupt at 2/3 of the image and another one at
> > the beginning of the last line. Start by checking if the ISP generates
> > any interrupt to the host with cat /proc/interrupts. If it doesn't, then
> > the CCDC receives less than 2/3 of the expected number of lines. If it
> > does, it probably receives between 2/3 and 3/3. You can add printk
> > statements in ispccdc_vd0_isr() and ispccdc_vd1_isr() to confirm this.
> 
> Looks like my problem is that  ispccdc_vd0_isr() and ispccdc_vd1_isr()
> are never called, adding printk in these functions I see only a lots
> of ispccdc_hs_vs_isr(), Seems the CCDC receives less than 2/3 of
> expected number lines. Using an oscilloscope I see VS and HS data
> lines of the camera interface, so seems physical interface is working.
> 
> I guess I'm missing something to configure in tvp5150 driver but I
> don't know. Any help ?

Try to hack the ISP driver to generate the VD1 interrupt much earlier (after a 
couple of lines only). If you get it, then modify the number of lines to see 
how many lines the CCDC receives. This should hopefully give you a hint.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-01-19 11:20                 ` Laurent Pinchart
@ 2011-03-29 15:19                   ` Enric Balletbò i Serra
  2011-03-29 20:41                     ` Laurent Pinchart
  0 siblings, 1 reply; 16+ messages in thread
From: Enric Balletbò i Serra @ 2011-03-29 15:19 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media, mchehab

Hello all,

2011/1/19 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> Hi Enric,
>
> On Wednesday 19 January 2011 12:05:54 Enric Balletbò i Serra wrote:
>> 2011/1/18 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
>> > On Tuesday 18 January 2011 10:20:43 Enric Balletbò i Serra wrote:
>> >> Now seems yavta is blocked dequeuing a buffer ( VIDIOC_DQBUF ), with
>> >> strace I get
>> >>
>> >> $ strace ./yavta -f SGRBG10 -s 720x525 -n 1 --capture=1 -F /dev/video2
>> >>
>> >> mmap2(NULL, 756000, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x4011f000
>> >> write(1, "Buffer 0 mapped at address 0x401"..., 39Buffer 0 mapped at
>> >> address 0x4011f000.
>> >> ) = 39
>> >> ioctl(3, VIDIOC_QBUF or VT_SETACTIVATE, 0xbede36cc) = 0
>> >> ioctl(3, VIDIOC_STREAMON, 0xbede365c)   = 0
>> >> gettimeofday({10879, 920196}, NULL)     = 0
>> >> ioctl(3, VIDIOC_DQBUF
>> >>
>> >> and the code where stops is here
>> >>
>> >> ispqueue.c
>> >> 913   buf = list_first_entry(&queue->queue, struct isp_video_buffer,
>> >> stream); 914   ret = isp_video_buffer_wait(buf, nonblocking);
>> >>
>> >> Any idea ?
>> >
>> > My guess is that the CCDC doesn't receive the amount of lines it expects.
>> >
>> > The CCDC generates an interrupt at 2/3 of the image and another one at
>> > the beginning of the last line. Start by checking if the ISP generates
>> > any interrupt to the host with cat /proc/interrupts. If it doesn't, then
>> > the CCDC receives less than 2/3 of the expected number of lines. If it
>> > does, it probably receives between 2/3 and 3/3. You can add printk
>> > statements in ispccdc_vd0_isr() and ispccdc_vd1_isr() to confirm this.
>>
>> Looks like my problem is that  ispccdc_vd0_isr() and ispccdc_vd1_isr()
>> are never called, adding printk in these functions I see only a lots
>> of ispccdc_hs_vs_isr(), Seems the CCDC receives less than 2/3 of
>> expected number lines. Using an oscilloscope I see VS and HS data
>> lines of the camera interface, so seems physical interface is working.
>>
>> I guess I'm missing something to configure in tvp5150 driver but I
>> don't know. Any help ?
>
> Try to hack the ISP driver to generate the VD1 interrupt much earlier (after a
> couple of lines only). If you get it, then modify the number of lines to see
> how many lines the CCDC receives. This should hopefully give you a hint.

After a parenthesis, back to work with tvp5151.

I programmed tvp5151 as 8-bit ITU-R BT.656 parallel interface and
capture PAL-B, D, G, H, I standard ( Pixels per line: 864,  Active
pixels per line: 720, Line per frame: 625 )

As Laurent's suggest I modified the number of lines to see how many
lines the CCDC receives and I get 312 lines, he did the trick. I think
this is because the tvp5151 sends the images in interlaced mode, so
the first frame I receive contains the odd lines and the second frame
the even lines. Still having some issues but at least I get some
images with yavta and gstreamer using these commands:

$ ./media-ctl --set-format '"tvp5150 2-005c":0 [UYVY 720x312]'
$ ./yavta -f UYVY -s 720x312 -n 4 --capture=4 --skip 3 -F /dev/video2
$ gst-launch -v v4l2src device=/dev/video2 queue-size=14 !
video/x-raw-yuv,format=\(fourcc\)UYVY,width=720,height=312 !
ffmpegcolorspace ! xvimagesink

Maybe someone can help me with these questions:

I get a 720x312 image, how can I get 720x525 (the real size) ? The
OMAP ISP can do this ? Gstreamer can do this ? And, maybe a stupid
question, but, why the CCDC generates an interrupt at 2/3 of the image
?

Thanks in advance,
  Enric

>
> --
> Regards,
>
> Laurent Pinchart
>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-03-29 15:19                   ` Enric Balletbò i Serra
@ 2011-03-29 20:41                     ` Laurent Pinchart
       [not found]                       ` <AANLkTikjDOsx6-A75A510k_BY0bF9qmTKKBw_YVyJgBF@mail.gmail.com>
  0 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2011-03-29 20:41 UTC (permalink / raw)
  To: Enric Balletbò i Serra; +Cc: linux-media, mchehab

Hi Enric,

On Tuesday 29 March 2011 17:19:53 Enric Balletbò i Serra wrote:
> 2011/1/19 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> > On Wednesday 19 January 2011 12:05:54 Enric Balletbò i Serra wrote:
> >> 2011/1/18 Laurent Pinchart <laurent.pinchart@ideasonboard.com>:
> >> > On Tuesday 18 January 2011 10:20:43 Enric Balletbò i Serra wrote:
> >> >> Now seems yavta is blocked dequeuing a buffer ( VIDIOC_DQBUF ), with
> >> >> strace I get
> >> >> 
> >> >> $ strace ./yavta -f SGRBG10 -s 720x525 -n 1 --capture=1 -F
> >> >> /dev/video2
> >> >> 
> >> >> mmap2(NULL, 756000, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) =
> >> >> 0x4011f000 write(1, "Buffer 0 mapped at address 0x401"..., 39Buffer
> >> >> 0 mapped at address 0x4011f000.
> >> >> ) = 39
> >> >> ioctl(3, VIDIOC_QBUF or VT_SETACTIVATE, 0xbede36cc) = 0
> >> >> ioctl(3, VIDIOC_STREAMON, 0xbede365c)   = 0
> >> >> gettimeofday({10879, 920196}, NULL)     = 0
> >> >> ioctl(3, VIDIOC_DQBUF
> >> >> 
> >> >> and the code where stops is here
> >> >> 
> >> >> ispqueue.c
> >> >> 913   buf = list_first_entry(&queue->queue, struct isp_video_buffer,
> >> >> stream); 914   ret = isp_video_buffer_wait(buf, nonblocking);
> >> >> 
> >> >> Any idea ?
> >> > 
> >> > My guess is that the CCDC doesn't receive the amount of lines it
> >> > expects.
> >> > 
> >> > The CCDC generates an interrupt at 2/3 of the image and another one at
> >> > the beginning of the last line. Start by checking if the ISP generates
> >> > any interrupt to the host with cat /proc/interrupts. If it doesn't,
> >> > then the CCDC receives less than 2/3 of the expected number of lines.
> >> > If it does, it probably receives between 2/3 and 3/3. You can add
> >> > printk statements in ispccdc_vd0_isr() and ispccdc_vd1_isr() to
> >> > confirm this.
> >> 
> >> Looks like my problem is that  ispccdc_vd0_isr() and ispccdc_vd1_isr()
> >> are never called, adding printk in these functions I see only a lots
> >> of ispccdc_hs_vs_isr(), Seems the CCDC receives less than 2/3 of
> >> expected number lines. Using an oscilloscope I see VS and HS data
> >> lines of the camera interface, so seems physical interface is working.
> >> 
> >> I guess I'm missing something to configure in tvp5150 driver but I
> >> don't know. Any help ?
> > 
> > Try to hack the ISP driver to generate the VD1 interrupt much earlier
> > (after a couple of lines only). If you get it, then modify the number of
> > lines to see how many lines the CCDC receives. This should hopefully
> > give you a hint.
> 
> After a parenthesis, back to work with tvp5151.
> 
> I programmed tvp5151 as 8-bit ITU-R BT.656 parallel interface and
> capture PAL-B, D, G, H, I standard ( Pixels per line: 864,  Active
> pixels per line: 720, Line per frame: 625 )
> 
> As Laurent's suggest I modified the number of lines to see how many
> lines the CCDC receives and I get 312 lines, he did the trick. I think
> this is because the tvp5151 sends the images in interlaced mode, so
> the first frame I receive contains the odd lines and the second frame
> the even lines.

That seems quite likely.

> Still having some issues but at least I get some images with yavta and
> gstreamer using these commands:
> 
> $ ./media-ctl --set-format '"tvp5150 2-005c":0 [UYVY 720x312]'
> $ ./yavta -f UYVY -s 720x312 -n 4 --capture=4 --skip 3 -F /dev/video2
> $ gst-launch -v v4l2src device=/dev/video2 queue-size=14 !
> video/x-raw-yuv,format=\(fourcc\)UYVY,width=720,height=312 !
> ffmpegcolorspace ! xvimagesink
> 
> Maybe someone can help me with these questions:
> 
> I get a 720x312 image, how can I get 720x525 (the real size) ? The OMAP ISP
> can do this ?

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.

> Gstreamer can do this ? And, maybe a stupid question, but, why the CCDC
> generates an interrupt at 2/3 of the image ?

That's for internal reasons. The driver needs to reconfigure the CCDC before 
the end of the image.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
       [not found]                       ` <AANLkTikjDOsx6-A75A510k_BY0bF9qmTKKBw_YVyJgBF@mail.gmail.com>
@ 2011-03-30 13:32                         ` Laurent Pinchart
  2011-04-20 15:25                           ` Raffaele Recalcati
  0 siblings, 1 reply; 16+ messages in thread
From: Laurent Pinchart @ 2011-03-30 13:32 UTC (permalink / raw)
  To: Loïc Akue; +Cc: Enric Balletbò i Serra, linux-media, mchehab

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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-03-30 13:32                         ` Laurent Pinchart
@ 2011-04-20 15:25                           ` Raffaele Recalcati
  2011-04-20 16:09                             ` Raffaele Recalcati
  2011-04-21  9:43                             ` Laurent Pinchart
  0 siblings, 2 replies; 16+ messages in thread
From: Raffaele Recalcati @ 2011-04-20 15:25 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Loïc Akue, Enric Balletbò i Serra, linux-media, mchehab

Hi Laurent,

On Wed, Mar 30, 2011 at 3:32 PM, Laurent Pinchart
<laurent.pinchart@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 majordomo@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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-04-20 15:25                           ` Raffaele Recalcati
@ 2011-04-20 16:09                             ` Raffaele Recalcati
  2011-04-21  9:43                             ` Laurent Pinchart
  1 sibling, 0 replies; 16+ messages in thread
From: Raffaele Recalcati @ 2011-04-20 16:09 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Loïc Akue, Enric Balletbò i Serra, linux-media, mchehab

Hi Laurent,

On Wed, Apr 20, 2011 at 5:25 PM, Raffaele Recalcati
<lamiaposta71@gmail.com> wrote:
> Hi Laurent,
>
> On Wed, Mar 30, 2011 at 3:32 PM, Laurent Pinchart
> <laurent.pinchart@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 majordomo@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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: OMAP3 ISP and tvp5151 driver.
  2011-04-20 15:25                           ` Raffaele Recalcati
  2011-04-20 16:09                             ` Raffaele Recalcati
@ 2011-04-21  9:43                             ` Laurent Pinchart
  1 sibling, 0 replies; 16+ messages in thread
From: Laurent Pinchart @ 2011-04-21  9:43 UTC (permalink / raw)
  To: Raffaele Recalcati
  Cc: Loïc Akue, Enric Balletbò i Serra, linux-media, mchehab

Hi Raffaele,

On Wednesday 20 April 2011 17:25:58 Raffaele Recalcati wrote:
> On Wed, Mar 30, 2011 at 3:32 PM, Laurent Pinchart wrote:
> > 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?
> 
> 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 ?

My best advice is to get rid of the Arago kernel tree and go for the latest 
mainline kernel version. The OMAP3 ISP driver has been merged into mainline in 
2.6.39-rc1. The version available in the Arago kernel tree is plain crap and 
should never ever be used.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-04-21  9:43 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-27 16:24 OMAP3 ISP and tvp5151 driver Enric Balletbò i Serra
2010-12-28 20:46 ` Laurent Pinchart
2011-01-12 11:58   ` Enric Balletbò i Serra
2011-01-12 12:39     ` Laurent Pinchart
2011-01-13 12:27       ` Enric Balletbò i Serra
2011-01-14 17:00         ` Laurent Pinchart
2011-01-18  9:20           ` Enric Balletbò i Serra
2011-01-18  9:36             ` Laurent Pinchart
2011-01-19 11:05               ` Enric Balletbò i Serra
2011-01-19 11:20                 ` Laurent Pinchart
2011-03-29 15:19                   ` Enric Balletbò i Serra
2011-03-29 20:41                     ` Laurent Pinchart
     [not found]                       ` <AANLkTikjDOsx6-A75A510k_BY0bF9qmTKKBw_YVyJgBF@mail.gmail.com>
2011-03-30 13:32                         ` Laurent Pinchart
2011-04-20 15:25                           ` Raffaele Recalcati
2011-04-20 16:09                             ` Raffaele Recalcati
2011-04-21  9:43                             ` Laurent Pinchart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.