This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP-L138 vpif_mmap_loopback tvp5147 routing error

Other Parts Discussed in Thread: OMAP-L138

I'm trying to capture video from analog cam, connected to OMAP-L138 LCDK via composite-in.
When I'm executing vpif application as  vpif_mmap_loopback -m 1 -p 0 the following error appears 

______________________________________________________________________________

VIDIOC_S_INPUT
: Invalid argument
Error in opening capture device for channel 0

______________________________________________________________________________

I've decide to debug program and source of the problem  is in tvp function tvp514x_s_routing

As I undrstand vpif_mmap_loopback -m 1 -p 0 calls vpif_capture driver to set correct video input. In function vpif_s_input vpif driver calls tvp514x_s_routing through v4l2_subdev_call. And when tvp tries to sync up with input, it cannot do it, because when it's checking REG_STATUS1, it don't coincident with lock_mask.
Lock_mask is 00001110. It means that values in 1,2 and 3 bits in REG_STATUS1 should be set in 1, but register number 3, that I have, always set in 0. And cause of this input can't be set correctly.
Debug log and some code listing are attached below.
In this code try_count = 5, LOCK_RETRY_DELAY= 200.
In code we can see, that if sync_lock_status & lock_mask=00001110, than it's ok, because Color subcarrier, Vertical sync and  Horizontal sync is locked.
But in debug prints we can see, that register number 3 =0, and therefore, Color subcarrier don't locked.
How can I fix this problem?



6607.debug_log.txt
-v4l2_subdev_call-
-------tvp514x s routing--------
-------tvp514x s stream--------
--tvp514x write in register=0x0 value=0x5--
--tvp514x read from 0x33 value=00000000
--tvp514x write in register=0x33 value=0x0--
--tvp514x write in register=0x39 value=0x1--
--tvp514x read from 0x3a value=01100110
--tvp514x read from 0x3a value=01100110
--tvp514x read from 0x3a value=01100110
--tvp514x read from 0x3a value=01100110
--tvp514x read from 0x3a value=01100110
-Failed to set up input-
VIDIOC_S_INPUT---vpif release---

: Invalid argument
<end detect input>
Error in opening capture device for channel 0