Re: omap3isp: BT.656 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 24, 2011 at 12:47 PM, Gary Thomas <gary@xxxxxxxxxxxx> wrote:
> On 2011-10-23 13:15, Boris Todorov wrote:
>>
>> On Thu, Oct 20, 2011 at 5:36 PM, Stefan Herbrechtsmeier
>> <sherbrec@xxxxxxxxxxxxxxxxxxxxxxx>  wrote:
>>>
>>> Am 20.10.2011 14:14, schrieb Boris Todorov:
>>>>
>>>> On Thu, Oct 20, 2011 at 12:03 PM, Stefan Herbrechtsmeier
>>>> <sherbrec@xxxxxxxxxxxxxxxxxxxxxxx>  wrote:
>>>>>
>>>>> Am 20.10.2011 08:56, schrieb Boris Todorov:
>>>>>>
>>>>>> On Wed, Oct 19, 2011 at 7:26 PM, Stefan Herbrechtsmeier
>>>>>> <sherbrec@xxxxxxxxxxxxxxxxxxxxxxx>  wrote:
>>>>>>>
>>>>>>> Am 18.10.2011 15:33, schrieb Boris Todorov:
>>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> I'm trying to run OMAP + TVP5151 in BT656 mode.
>>>>>>>>
>>>>>>>> I'm using omap3isp-omap3isp-yuv
>>>>>>>> (git.linuxtv.org/pinchartl/media.git).
>>>>>>>> Plus the following patches:
>>>>>>>>
>>>>>>>> TVP5151:
>>>>>>>>
>>>>>>>> https://github.com/ebutera/meta-igep/tree/testing-v2/recipes-kernel/linux/linux-3.0+3.1rc/tvp5150
>>>>>>>>
>>>>>>>> The latest RFC patches for BT656 support:
>>>>>>>>
>>>>>>>> Enrico Butera (2):
>>>>>>>>   omap3isp: ispvideo: export isp_video_mbus_to_pix
>>>>>>>>   omap3isp: ispccdc: configure CCDC registers and add BT656 support
>>>>>>>>
>>>>>>>> Javier Martinez Canillas (1):
>>>>>>>>   omap3isp: ccdc: Add interlaced field mode to platform data
>>>>>>>>
>>>>>>>>
>>>>>>>> I'm able to configure with media-ctl:
>>>>>>>>
>>>>>>>> media-ctl -v -r -l '"tvp5150 3-005c":0->"OMAP3 ISP CCDC":0[1],
>>>>>>>> "OMAP3
>>>>>>>> ISP CCDC":1->"OMAP3 ISP CCDC output":0[1]'
>>>>>>>> media-ctl -v --set-format '"tvp5150 3-005c":0 [UYVY2X8 720x525]'
>>>>>>>> media-ctl -v --set-format '"OMAP3 ISP CCDC":0 [UYVY2X8 720x525]'
>>>>>>>> media-ctl -v --set-format '"OMAP3 ISP CCDC":1 [UYVY2X8 720x525]'
>>>>>>>>
>>>>>>>> But
>>>>>>>> ./yavta -f UYVY -s 720x525 -n 4 --capture=4 -F /dev/video4
>>>>>>>>
>>>>>>>> sleeps after
>>>>>>>> ...
>>>>>>>> Buffer 1 mapped at address 0x4021d000.
>>>>>>>> length: 756000 offset: 1515520
>>>>>>>> Buffer 2 mapped at address 0x402d6000.
>>>>>>>> length: 756000 offset: 2273280
>>>>>>>> Buffer 3 mapped at address 0x4038f000.
>>>>>>>>
>>>>>>>> Anyone with the same issue??? This happens with every other v4l test
>>>>>>>> app I used.
>>>>>>>
>>>>>>> I had the same issue.
>>>>>>>
>>>>>>> Make sure that you disable the xclk when you remove your sensor
>>>>>>> driver.
>>>>>>>
>>>>>>> isp->platform_cb.set_xclk(isp, 0, ISP_XCLK_A)
>>>>>>
>>>>>> How exactly did you solved your problem? I don't see how XCLK in
>>>>>> _remove will help. Pls explain.
>>>>>
>>>>> Sorry, I mean deactive / power off your sensor.
>>>>>>
>>>>>> Btw I'm feeding TVP with external clock (not from xtal pins) -
>>>>>> omap.cam_xclk ->  tvp.clk_in
>>>>>
>>>>> I mean the cam_xclk.
>>>>>>
>>>>>> And I'm using kind of hack to get it:
>>>>>> isp_probe()
>>>>>> + isp_set_xclk(isp, 27000000, 1);
>>>>>
>>>>> This is your problem.
>>>>>
>>>>> You should control the clock via board / platform callback from your
>>>>> driver.
>>>>> Example:
>>>>> http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg56627.html
>>>>>
>>>>> It is important that you set the clock to zero when your driver is not
>>>>> in use.
>>>>>
>>>>> The problem is connected to the use count of the ISP and some
>>>>> initialisation which only happen when the counter change between zero
>>>>> and one.
>>>>>
>>>> tvp_probe() needs clock for i2c detected/config. tvp5150_s_power call
>>>> happens when video starts streaming and if tvp is not configured ->
>>>> kernel panic.
>>>
>>> I use an other sensor and driver and this config the sensor during start
>>> stream.
>>>>
>>>> And what about the case when TVP is used with OSC on XTAL pins and
>>>> CLK_IN is not used at all?
>>>
>>> Then your system will work, as you never call isp_set_xclk.
>>>
>>> The problem is not the clock, but how the isp driver works.
>>> It expects, that the sensor driver disable the cam_xclk, if the sensor
>>> is not used.
>>>>
>>>> Maybe I don't fully understand what is happening...
>>>> or isp_set_xclk() use is messing up with ISP
>>>
>>> On my system I have the same issues as you if I don't set the cam_xclk
>>> to zero
>>> during stop streaming.
>>>
>>> I haven't investigate in the real cause for the issue. I only released,
>>> that this
>>> issue stick together with an always enabled cam_xclk.
>>>
>>> Regards,
>>>    Stefan
>>
>> Thanks Stefan. Now I have IRQs and I'm able to get some image from TVP.
>
> How did you end up fixing this?  I ask only to enlighten the list, not to
> embarrass
> you, as others and I have had no troubles making this go from the start.

I just followed Stefan's example - added .s_power callback to control xclk.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux