RN6572 on I.MX6 DualLite using CSI0

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

RN6572 on I.MX6 DualLite using CSI0

Jump to solution
1,654 Views
liyigang
Contributor III

      I am using an imx.6 DualLite to develop a tvin system, Hardware is designed based on Sabrelite, Software is Android 4.4.2 and kernel is 3.0.35 .

      The platform used to access CVBS signal and convert it into bt656 interlaced signal through tw9990, which can display normally.

      Now we need to access the AHD signal and replace the sensor with RN6572.  RN7572 support HD video inputs from AHD1.0 video sources and convert it into 8-bit BT656-like YCBCR 4:2:2 format 720P digital outputs,  

      In order to generate Hsync and Vsync, we set RN6572 to BT601. Hsync is 22.5k HZ ,vsync is 30 hz and clock is 72M。 

      run mxc-v4l2-capture -iw 1280 -ih 720 -ow 1280 -oh 720 -r O -c 30 -fr 60 -i 1 -d /dev/video0 /data/test.yuv,causes the following errors

ERROR: v4l2 capture: VIDIOC_QBUF: buffer already queued
VIDIOC_QBUF failed

Above please help see what may be the cause.

Bellows are IPU_CSI and IDMAC related registers and values:

 _ipu_csi_init CSI_SENS_CONF:0x4008a03
[  103.846120] imx-ipuv3 imx-ipuv3.0: CSI_SENS_CONF:     04008a03
[  103.854092] imx-ipuv3 imx-ipuv3.0: CSI_SENS_FRM_SIZE: 02cf04ff
[  103.860197] imx-ipuv3 imx-ipuv3.0: CSI_ACT_FRM_SIZE:  02cf04ff
[  103.866236] imx-ipuv3 imx-ipuv3.0: CSI_OUT_FRM_CTRL:  00000000
[  103.872262] imx-ipuv3 imx-ipuv3.0: CSI_TST_CTRL:      00000000
[  103.881368] imx-ipuv3 imx-ipuv3.0: CSI_CCIR_CODE_1:   00000000
[  103.887715] imx-ipuv3 imx-ipuv3.0: CSI_CCIR_CODE_2:   00000000
[  103.897570] imx-ipuv3 imx-ipuv3.0: CSI_CCIR_CODE_3:   00000000
[  103.903885] imx-ipuv3 imx-ipuv3.0: CSI_MIPI_DI:       ffffffff
[  103.909967] imx-ipuv3 imx-ipuv3.0: CSI_SKIP:          00000000
[  103.916717] imx-ipuv3 imx-ipuv3.0: initializing idma ch 0 @ d98c0000
[  103.925072] imx-ipuv3 imx-ipuv3.0: ch 0 word 0 - 00000000 70800000 00232800 E0000000 000B3C9F
[  103.934049] imx-ipuv3 imx-ipuv3.0: ch 0 word 1 - 04D00000 009A0000 0047C000 00013FC0 0000027F
[  103.942994] imx-ipuv3 imx-ipuv3.0: PFS 0x2,
[  103.950325] imx-ipuv3 imx-ipuv3.0: BPP 0x0,
[  103.954922] imx-ipuv3 imx-ipuv3.0: NPB 0x1f
[  103.959550] imx-ipuv3 imx-ipuv3.0: FW 1279,
[  103.963825] imx-ipuv3 imx-ipuv3.0: FH 719,
[  103.970063] imx-ipuv3 imx-ipuv3.0: EBA0 0x26800000
[  103.976582] imx-ipuv3 imx-ipuv3.0: EBA1 0x26800000
[  103.981718] imx-ipuv3 imx-ipuv3.0: Stride 1279
[  103.986450] imx-ipuv3 imx-ipuv3.0: scan_order 0
[  103.991283] imx-ipuv3 imx-ipuv3.0: uv_stride 639
[  103.997782] imx-ipuv3 imx-ipuv3.0: u_offset 0xe1000
[  104.002812] imx-ipuv3 imx-ipuv3.0: v_offset 0x119400
[  104.008416] imx-ipuv3 imx-ipuv3.0: Width0 0+1,
[  104.012906] imx-ipuv3 imx-ipuv3.0: Width1 0+1,
[  104.020372] imx-ipuv3 imx-ipuv3.0: Width2 0+1,
[  104.026261] imx-ipuv3 imx-ipuv3.0: Width3 0+1,
[  104.031431] imx-ipuv3 imx-ipuv3.0: Offset0 31,
[  104.036648] imx-ipuv3 imx-ipuv3.0: Offset1 19,
[  104.041801] imx-ipuv3 imx-ipuv3.0: Offset2 0,
[  104.049018] imx-ipuv3 imx-ipuv3.0: Offset3 0
[  104.054377] imx-ipuv3 imx-ipuv3.0: IPU_CONF =  0x000007E1
[  104.060090] imx-ipuv3 imx-ipuv3.0: IDMAC_CONF =  0x0000002F
[  104.066219] imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_EN1 =  0x10800001
[  104.072329] imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_EN2 =  0x00000000
[  104.078770] imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_PRI1 =  0x18800001
[  104.085085] imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_PRI2 =  0x00000000
[  104.091442] imx-ipuv3 imx-ipuv3.0: IDMAC_BAND_EN1 =  0x00000000
[  104.098174] imx-ipuv3 imx-ipuv3.0: IDMAC_BAND_EN2 =  0x00000000
[  104.106949] imx-ipuv3 imx-ipuv3.0: IPU_CHA_DB_MODE_SEL0 =  0x00000001
[  104.113812] imx-ipuv3 imx-ipuv3.0: IPU_CHA_DB_MODE_SEL1 =  0x00000000
[  104.120577] imx-ipuv3 imx-ipuv3.0: IPU_CHA_TRB_MODE_SEL0 =  0x10800000
[  104.130055] imx-ipuv3 imx-ipuv3.0: IPU_CHA_TRB_MODE_SEL1 =  0x00000000
[  104.137005] imx-ipuv3 imx-ipuv3.0: DMFC_WR_CHAN =  0x000000D0
[  104.143246] imx-ipuv3 imx-ipuv3.0: DMFC_WR_CHAN_DEF =  0x202020F6
[  104.149807] imx-ipuv3 imx-ipuv3.0: DMFC_DP_CHAN =  0x000096CA
[  104.155927] imx-ipuv3 imx-ipuv3.0: DMFC_DP_CHAN_DEF =  0x2020F6F6
[  104.162419] imx-ipuv3 imx-ipuv3.0: DMFC_IC_CTRL =  0x00000002
[  104.169140] imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW1 =  0x00000000
[  104.175910] imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW2 =  0x00000000
[  104.182826] imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW3 =  0x00000000
[  104.196032] imx-ipuv3 imx-ipuv3.0: IPU_FS_DISP_FLOW1 =  0x00000000
[  104.202501] imx-ipuv3 imx-ipuv3.0: IPU_VDIC_VDI_FSIZE =  0x00000000
[  104.213125] imx-ipuv3 imx-ipuv3.0: IPU_VDIC_VDI_C =  0x00000000
[  104.219776] imx-ipuv3 imx-ipuv3.0: IPU_IC_CONF =  0x00000000

Labels (3)
Tags (2)
0 Kudos
Reply
1 Solution
1,312 Views
liyigang
Contributor III

CSI0_EXT_VSYNC can be set to any value when interlacing, but we need to pay attention to CSI0_EXT_VSYNC when

progressive

View solution in original post

0 Kudos
Reply
5 Replies
1,313 Views
liyigang
Contributor III

CSI0_EXT_VSYNC can be set to any value when interlacing, but we need to pay attention to CSI0_EXT_VSYNC when

progressive
0 Kudos
Reply
1,312 Views
igorpadykov
NXP Employee
NXP Employee

Hi li

for BT656 protocol seems there is no need to enable hsync/Vsync as

syncs are embedded in data stream, so one can try to use mxc-v4l2-tvin

for testing as described for example in

IMX6 TW9990 

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

0 Kudos
Reply
1,312 Views
liyigang
Contributor III

hi igorpadykov:

      Thank you for your reply.

      TW9990 has been able to display normally,we need to replace it with RN6572 now.

      RN6572 outputs 720P signal. I started to use BT656 with SAV/EAV, Later, I tried to use BT601. The problem is the same. Of course, both RN6572 outputs are supported. 

      Can you help me see if there are any problems with these settings?

      If necessary, I can also dump the IMX6 settings when RN6572 outputs BT656.

0 Kudos
Reply
1,312 Views
liyigang
Contributor III

when RN6572 outputs BT656, dump IPU_CSI and IDMAC related registers and values

 imx-ipuv3 imx-ipuv3.0: init channel = 15
[   39.857540] _ipu_smfc_init SMFC_MAP:0x0
[   39.861712] imx-ipuv3 imx-ipuv3.0: CSI_SENS_CONF:     00008a23
[   39.869133] imx-ipuv3 imx-ipuv3.0: CSI_SENS_FRM_SIZE: 02ed0670
[   39.875164] imx-ipuv3 imx-ipuv3.0: CSI_ACT_FRM_SIZE:  02cf04ff
[   39.881189] imx-ipuv3 imx-ipuv3.0: CSI_OUT_FRM_CTRL:  00000000
[   39.887246] imx-ipuv3 imx-ipuv3.0: CSI_TST_CTRL:      00000000
[   39.893226] imx-ipuv3 imx-ipuv3.0: CSI_CCIR_CODE_1:   00040030
[   39.899283] imx-ipuv3 imx-ipuv3.0: CSI_CCIR_CODE_2:   00000000
[   39.905272] imx-ipuv3 imx-ipuv3.0: CSI_CCIR_CODE_3:   00ff0000
[   39.911312] imx-ipuv3 imx-ipuv3.0: CSI_MIPI_DI:       ffffffff
[   39.917370] imx-ipuv3 imx-ipuv3.0: CSI_SKIP:          00000000
[   39.923323] _ipu_csi_init CSI_SENS_CONF:0x4008a23
[   39.928187] imx-ipuv3 imx-ipuv3.0: CSI_SENS_CONF:     04008a23
[   39.934211] imx-ipuv3 imx-ipuv3.0: CSI_SENS_FRM_SIZE: 02ed0670
[   39.940211] imx-ipuv3 imx-ipuv3.0: CSI_ACT_FRM_SIZE:  02cf04ff
[   39.946249] imx-ipuv3 imx-ipuv3.0: CSI_OUT_FRM_CTRL:  00000000
[   39.952294] imx-ipuv3 imx-ipuv3.0: CSI_TST_CTRL:      00000000
[   39.958259] imx-ipuv3 imx-ipuv3.0: CSI_CCIR_CODE_1:   00040030
[   39.964303] imx-ipuv3 imx-ipuv3.0: CSI_CCIR_CODE_2:   00000000
[   39.970295] imx-ipuv3 imx-ipuv3.0: CSI_CCIR_CODE_3:   00ff0000
[   39.976366] imx-ipuv3 imx-ipuv3.0: CSI_MIPI_DI:       ffffffff
[   39.982317] imx-ipuv3 imx-ipuv3.0: CSI_SKIP:          00000000
[   39.988384] imx-ipuv3 imx-ipuv3.0: initializing idma ch 0 @ d98c0000
[   39.994872] imx-ipuv3 imx-ipuv3.0: ch 0 word 0 - 00000000 00000000 00000000 E0001800 000B3C9F
[   40.003631] imx-ipuv3 imx-ipuv3.0: ch 0 word 1 - 04D00000 009A0000 0147C000 00027FC0 00000000
[   40.012371] imx-ipuv3 imx-ipuv3.0: PFS 0xa,
[   40.016624] imx-ipuv3 imx-ipuv3.0: BPP 0x3,
[   40.021106] imx-ipuv3 imx-ipuv3.0: NPB 0x1f
[   40.025763] imx-ipuv3 imx-ipuv3.0: FW 1279,
[   40.030008] imx-ipuv3 imx-ipuv3.0: FH 719,
[   40.034470] imx-ipuv3 imx-ipuv3.0: EBA0 0x26800000
[   40.039648] imx-ipuv3 imx-ipuv3.0: EBA1 0x26800000
[   40.044576] imx-ipuv3 imx-ipuv3.0: Stride 2559
[   40.049250] imx-ipuv3 imx-ipuv3.0: scan_order 0
[   40.053903] imx-ipuv3 imx-ipuv3.0: uv_stride 0
[   40.064476] imx-ipuv3 imx-ipuv3.0: u_offset 0x0
[   40.069535] imx-ipuv3 imx-ipuv3.0: v_offset 0x0
[   40.075959] imx-ipuv3 imx-ipuv3.0: Width0 0+1,
[   40.080936] imx-ipuv3 imx-ipuv3.0: Width1 0+1,
[   40.085812] imx-ipuv3 imx-ipuv3.0: Width2 0+1,
[   40.090766] imx-ipuv3 imx-ipuv3.0: Width3 0+1,
[   40.095608] imx-ipuv3 imx-ipuv3.0: Offset0 0,
[   40.100285] imx-ipuv3 imx-ipuv3.0: Offset1 0,
[   40.105106] imx-ipuv3 imx-ipuv3.0: Offset2 0,
[   40.110132] imx-ipuv3 imx-ipuv3.0: Offset3 0
[   40.114840] imx-ipuv3 imx-ipuv3.0: IPU_CONF =  0x000007E1
[   40.120529] imx-ipuv3 imx-ipuv3.0: IDMAC_CONF =  0x0000002F
[   40.126499] imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_EN1 =  0x18800001
[   40.132619] imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_EN2 =  0x00000000
[   40.138645] imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_PRI1 =  0x18800001
[   40.144855] imx-ipuv3 imx-ipuv3.0: IDMAC_CHA_PRI2 =  0x00000000
[   40.151355] imx-ipuv3 imx-ipuv3.0: IDMAC_BAND_EN1 =  0x00000000
[   40.157553] imx-ipuv3 imx-ipuv3.0: IDMAC_BAND_EN2 =  0x00000000
[   40.163717] imx-ipuv3 imx-ipuv3.0: IPU_CHA_DB_MODE_SEL0 =  0x00000001
[   40.170404] imx-ipuv3 imx-ipuv3.0: IPU_CHA_DB_MODE_SEL1 =  0x00000000
[   40.177128] imx-ipuv3 imx-ipuv3.0: IPU_CHA_TRB_MODE_SEL0 =  0x18800000
[   40.184247] imx-ipuv3 imx-ipuv3.0: IPU_CHA_TRB_MODE_SEL1 =  0x00000000
[   40.191071] imx-ipuv3 imx-ipuv3.0: DMFC_WR_CHAN =  0x000000D0
[   40.197064] imx-ipuv3 imx-ipuv3.0: DMFC_WR_CHAN_DEF =  0x202020F6
[   40.203410] imx-ipuv3 imx-ipuv3.0: DMFC_DP_CHAN =  0x0000D6CA
[   40.209418] imx-ipuv3 imx-ipuv3.0: DMFC_DP_CHAN_DEF =  0x2020F6F6
[   40.215779] imx-ipuv3 imx-ipuv3.0: DMFC_IC_CTRL =  0x00000002
[   40.222444] imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW1 =  0x00000000
[   40.229153] imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW2 =  0x00000000
[   40.235633] imx-ipuv3 imx-ipuv3.0: IPU_FS_PROC_FLOW3 =  0x00000000
[   40.245322] imx-ipuv3 imx-ipuv3.0: IPU_FS_DISP_FLOW1 =  0x00000000
[   40.251816] imx-ipuv3 imx-ipuv3.0: IPU_VDIC_VDI_FSIZE =  0x00000000
[   40.258455] imx-ipuv3 imx-ipuv3.0: IPU_VDIC_VDI_C =  0x00000000
[   40.265012] imx-ipuv3 imx-ipuv3.0: IPU_IC_CONF =  0x00000000

0 Kudos
Reply
1,312 Views
liyigang
Contributor III

RN6572 hsync/Vsync is low during blanking, I tried to set CSI_SENS_CONF to 04008a03 or 04008a00, and the same thing happened.

0 Kudos
Reply