I.mx6sx CSI1 input error

cancel
Showing results for 
Search instead for 
Did you mean: 

I.mx6sx CSI1 input error

Jump to solution
782 Views
moowonlee
Contributor II

Analog CAM  ====nstc====>Tw9900 ====BT656 =====> imx6sx CSI1 

( Already VADC is used by CSI0 )

 

I made Tw9900 driver. and It is working 

currently, I have a problem. 

This picture is dumped from csi buffer Using DQueue 

 when  It was  "csi_buf_stride_set(cam, 720); " "csi_deinterlace_enable(cam, false);" in csi_v4l2_catpure.c, I  dumped picture.

166101_166101.pngpastedImage_1.png

 

  when I revise  "csi_buf_stride_set(cam, 0); " "csi_deinterlace_enable(cam, false);" in csi_v4l2_catpure.c, I  dumped picture.

 166100_166100.pngpastedImage_1.png

 

I think CSI driver dosen`t  find start of frame. 

let me know how to resolve this problem.

0 Kudos
1 Solution
185 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Ok, Got it !

   This is my email address: weidong.sun@nxp.com,Send email to me, please!

I send the contents of the unauthorized link to you!

Regards,

weidong

View solution in original post

0 Kudos
9 Replies
185 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Lee,

     Your application is very similar to ADV7180 supported by our Sabre AI board and it's BSP, ADV7180 can't also report the sequence  of frames. The issue you encontered maybe caused by the following reasons:

(1)There is a mismatch between the video standard TW9900 output and standard CSI recieves.

For example, The video standard TW9900 output is NTSC, but on CSI side, standard for revcieving is PAL, so please check and confirm the item.

(2) Power up Sequence

TW9900 should be powered at first, then CSI interface.

Hope above information can help you!

Best Regards,

weidong

0 Kudos
185 Views
moowonlee
Contributor II

hi weidong.sun

 I am using linux-3.10.53 

when  you use ADV7180,  are there revised things in csi_v4l2_capture.c  from original linux-3.10.53?

I think there are some revised things in csi_v4l2_capture.c from original linux-3.10.53.

if there are some revised things, tell me. plz

currently, we planed that  CSI0 use VADC and CSI1  use TW9900 at the same time. is it possible? 

 

 

0 Kudos
185 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Lee,

(1)Why TW9900 sould be powered first?

It is required that camera should be powered up before CSI, here TW9900 is capture IC, it's role is just like digital camera.

(2)we planed that  CSI0 use VADC and CSI1  use TW9900 at the same time. is it possible? 

No, CSI0/CSI1 can't be used simultaneously. We don't have ready-made solution.

(3)when  you use ADV7180,  are there revised things in csi_v4l2_capture.c  from original linux-3.10.53?

On our Sabre AI board based on i.MX6Q, ADV7180 is supported, you can check it's BSP source code in 3.1.53 and compare it's source code with those of TW9900, maybe you can get more stimulation from them. Don't need to do any modification about csi_v4l2_capture.c .

Best Regards,

Weidong

0 Kudos
185 Views
moowonlee
Contributor II

hi weidong.sun

thanks you

"
(2)we planed that CSI0 use VADC and CSI1 use TW9900 at the same time. is it possible?
No, CSI0/CSI1 can't be used simultaneously. We don't have ready-made solution.
"
1) does your comment mean imx6sx use only one csi between CSI0 and CSI1 for capture?

2) we want to use two cameres(NTSC) for capture on our custom board.
For example,
CSI0 <- VADC <- CAM1
CSI1 <- TW9900 <- CAM2
First We use CSI0 for capture from CAM1.
Second After caputreing on CAM1, We use CSI1 for capture from CAM2
Third After caputreing on CAM2, We use CSI0 for capture from CAM1
Fourth After caputreing on CAM1, We use CSI1 for capture from CAM2
(continue...)

 is it possilbe on I.MX6 SoloX?

 

3) In CSI_v4l2_capture.c,

 I think if we use VADC,  we select csi_capture_inputs[1] and if we use TW9900,  we select csi_capture_inputs[0]. 

pastedImage_2.png 

because  in csi_input_selct  func, It enables tvdec(vadc) depend on csi_capture_inputs.name.  So if  we use TW9900,  we select csi_capture_inputs[0]. 

pastedImage_3.png

Is it right? 

4) In fsl_csi.c,

 we planed TW9900 output format is BT656 and interlaced mode. so, I revised FALSE case in csi_tvdec_enable func .

pastedImage_8.png

   Is it right? 

5)  In csi_v4l2_capture.c,

     I found setting bufstride and deinterlaced_mode, deinterlaced_enable  in csi_v4l_s_std function .

 pastedImage_10.png

we tested original source. but application is stopped. I don't know why application is stopped.

   pastedImage_11.png

so I revised it

pastedImage_12.png

and i captured from tw9900(Bt656, interlaced ).

pastedImage_16.png

but caputred image is not corrected. What is wrong? 

0 Kudos
185 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Lee,

2) we want to use two cameres(NTSC) for capture on our custom board.

Your application is to switch image between CSI0 and CSI1, it is no problem.

3) about csi_v4l2_capture.c

You don't need to do any modification about source code of csi_v4l2_capture.c, at first, you should try to make one camera work normally, then debug another.

Regards,

Weidong

0 Kudos
185 Views
moowonlee
Contributor II

thank for your response. 

 i am sucess to capture from csi0 using Vadc.

 but image captured csi1 using tw9900 was incorrect.  please hlep me 

 and DIR you give me is restricted.

pastedImage_1.png

0 Kudos
186 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Ok, Got it !

   This is my email address: weidong.sun@nxp.com,Send email to me, please!

I send the contents of the unauthorized link to you!

Regards,

weidong

View solution in original post

0 Kudos
185 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello Lee,

  About TV in, you can also refer to the link:

https://community.nxp.com/docs/DOC-330092

Weidong

0 Kudos
185 Views
moowonlee
Contributor II

thanks for your reply

I will check "the video standard" from TW9900 and from CSI input

but I wonder "power up Sequence".

Why TW9900 sould be powered first?

0 Kudos