AnsweredAssumed Answered

16bit BT1120 does not work on MX6Q

Question asked by Robbie Jiang on May 30, 2014
Latest reply on Feb 16, 2015 by Pankaj Dhule

Hi,

I'm currently working on capturing data from ADV7611,

which is connected to CSI0 of MX6Q.

 

The input of adv7611 is 1080P@60HZ,

the output of adv7611 is 16bit BT1120 SDR format,

 

By now, we can't capture any data from CSI0 port.

Here I have some questions:

 

1.  BT1120 standard requires the each video timing reference word to be 10bits.

And according to imx6 RM, page 3252,  for BT1120, bit[0-29] of register IPUx_CSI0_CCIR_CODE_3

should contain the CCIR pre command, which  should be 0x3FF00000.

 

However, in current LTIB L3.0.35_4.1.0_130816, driver/mxc/ipu3/ipu_capture.c,

when the CSI clock mode is IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR,

0xFF0000, instead of 0x3FF00000,  is written into register CSI_CCIR_CODE_3.

Obviously, this is quite different from what is required by BT1120 standard and the imx61 RM.

 

So what should be the correct value to be written into CSI_CCIR_CODE_3?

 

2.  CSI_CCIR_CODE1 and CSI_CCIR_CODE2 should also be correctly setup to make BT1120 work.

For 1080P, we only concern on CS

Hi,

I'm currently working on capturing data from ADV7611,

which is connected to CSI0 of MX6Q.

 

The input of adv7611 is 1080P@60HZ,

the output of adv7611 is 16bit BT1120 SDR format,

 

By now, we can't capture any data from CSI0 port.

Here I have some questions:

 

1.  BT1120 standard requires the each video timing reference word to be 10bits.

And according to imx6 RM, page 3252,  for BT1120, bit[0-29] of register IPUx_CSI0_CCIR_CODE_3

should contain the CCIR pre command, which  should be 0x3FF00000.

 

However, in current LTIB L3.0.35_4.1.0_130816, driver/mxc/ipu3/ipu_capture.c,

when the CSI clock mode is IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR,

0xFF0000, instead of 0x3FF00000,  is written into register CSI_CCIR_CODE_3.

Obviously, this is quite different from what is required by BT1120 standard and the imx61 RM.

 

So what should be the correct value to be written into CSI_CCIR_CODE_3?

 

2.  CSI_CCIR_CODE1 and CSI_CCIR_CODE2 should also be correctly setup to make BT1120 work.

For 1080P, we only concern on CSI_CCIR_CODE1 register.

The question is , what is the correct order  ( of  'F' 'V' 'H' )  for

field CSI0_STRT_FLD0_ACTV,  CSI0_END_FLD0_ACTV and

CSI0_STRT_FLD0_BLNK_1ST?

Is it  'H-V-F' or 'F-V-H'?

What is the correct bit order?

Fo BT656 interleaved mode, seems the correct order is 'H-V-F'.

Does it still hold for BT1120?

 

 

3. We have set up adv7611 to output data in 16bit YUV422 format.

On page 37.4.3.9  of imx6 RM,  there is a short section about "16 bit camera support".

 

16 bit YUV422:

"

In this mode the CSI receives 2 components per cycle. The CSI is programmed to

accept the data as 16 bit generic data. The captured data will be stored in the memory

through the SMFC. The IDMAC needs to be programmed to store 16bit generic data.

When the data is read back from the memory for further processing in the IPU it will

be read as YUV422 data.

 

 

Does it mean that field  CSI0_SENS_PRTCL in register  IPUx_CSI0_SENS_CONF

has to be "011"  in order to accept Bayer or Generic data?

And also the input chanel must be from CSI to memory directly, and no IC can be used?

And how to program IDMAC in order to store 16bit generic data,

so that when the data is read back as YUV422 data?

Outcomes