imx6q android jb4.3_1.0.0-ga adv7180 can't work in bt656 mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6q android jb4.3_1.0.0-ga adv7180 can't work in bt656 mode

2,213 Views
chuanyanyin
Contributor III

Hi,

I'm work with android 4.3 + adv7180, When adv7180 work in gated mode, I can use camera apk to get image from adv7180, here's is the image I got from adv7180

IMG_20140802_134400.jpg

There is 2 image in the screen because the image is not de-interleaved.

Now I try bt656 mode(don't use Hsync and Vsync), And I get nothing in the sceen, here is th log:

7180 reg ADV7180_STATUS1_ = d

7180 reg ADV7180_0x11_ = 1e

7180 reg ADV7180_  0x12_ = 0

7180 reg ADV7180_0x13_ = 69

ntsc

NTSC case

In MVC: mxc_v4l2_s_fmt mxc_capture_inputs[cam->current_input].name = CSI MEM

ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0

the ioctl_g_ifparm code :

        p->if_type = V4L2_IF_TYPE_BT656; /* This is the only possibility. */

        p->u.bt656.mode = V4L2_IF_TYPE_BT656_MODE_NOBT_8BIT;

        p->u.bt656.nobt_hs_inv = 1;

        p->u.bt656.bt_sync_correct = 0;

        /* ADV7180 has a dedicated clock so no clock settings needed. */

//      p->u.bt656.clock_curr = 27000000;

        p->u.bt656.clock_curr = 0;

In drivers/mxc/ipu3/ipu_capture.c

} else if (width == 720 && (height == 525 || height == 480)) {

                        printk("NTSC case \n");

                        /* NTSC case */

                        /*

                         * Field0BlankEnd = 0x7, Field0BlankStart = 0x3,

                         * Field0ActiveEnd = 0x5, Field0ActiveStart = 0x1

                         */

                        ipu_csi_write(ipu, csi, 0xD07DF, CSI_CCIR_CODE_1);

                        /*

                         * Field1BlankEnd = 0x6, Field1BlankStart = 0x2,

                         * Field1ActiveEnd = 0x4, Field1ActiveStart = 0

                         */

                        ipu_csi_write(ipu, csi, 0x40596, CSI_CCIR_CODE_2);

                        ipu_csi_write(ipu, csi, 0xFF0000, CSI_CCIR_CODE_3);

                } else {

Why I can't get any data in bt656 mode?  I try many times, both camera apk and mxc_v4l2_tvin get time out error. Why?

4 Replies

999 Views
chuanyanyin
Contributor III

The hardware cause EAV/SAV error. I fix some hardareware problem. Now, I got this

1.png \

It look like the picture is mirrored.

0 Kudos

999 Views
mithunk
Contributor II

Hi Chuanyan,

  Can you please share the solution for the EAV/SAV error, as we are facing the same issue while capturing the frames.

  ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0

Regards,

Mithun

999 Views
jamesbone
NXP TechSupport
NXP TechSupport

Usually csi_param.mclk is assigned by TVIN/Camera driver (ioctl_g_ifparm).


The comment is added by the commit for adding ADV7180 support for MX6 SabreAuto, and ADV7180 driver didn't configure clock_curr.
So the mclk divider of CSI0_SENS_CONF was not configured. That's why v4l2 capture driver needs to set mclk.

Besides, if the divider is not configured, the mclk is not divided. So the mclk of CSI should be higher than sensor's pixel clock.
That suppose to work.


Have a great day,
Jaime

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

999 Views
chuanyanyin
Contributor III

Hi, Jaime


  No, you misunderstood, adv7180 has a crystal which work in 28.6363MHZ, so it doesn't need mclk to drive it , these are 2 picture of PAL or NTSC,Called even field and oll field.  Is there any software to put it together?

0 Kudos