IMX6 csi1 16 bit data capture

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

IMX6 csi1 16 bit data capture

Jump to solution
3,329 Views
chunxin
Contributor II

hi all:

we use imx6 ipu/csi (no mipi) to capture 16bits yuv data with external hsync/vsync,

( IOMUX = D19~D12=Y, D11~D4=U/V,  PCLK+HSYNC+VSYNC)

but the image like this:

Screenshot from 2013-09-13 13_49_07.png

we have set csi as gade mode to capture 16 bit generic data,

[INFO]    VPU test program built on Sep 12 2013 17:49:15

[INFO]    Product Info: i.MX6Q/D/S

[INFO]    VPU firmware version: 2.1.9_r36350

[INFO]    VPU library version: 5.4.12

[INFO]    Format: STD_AVC

[INFO]    AVC

[INFO]    Output file "hout.mkv" opened.

[INFO]    chromaInterleave 1, mapType 0, linear2TiledEnable 0

ioctl_g_fmt_cap, 0x10 status:0x6b

===IPU_PIX_FMT_GENERIC_16:844451913======ipu_csi_init_interface=======104====

CSI_SENS_CONF = 0x00000B01

CSI_SENS_FRM_SIZE = 0x02FF03FF

CSI_ACT_FRM_SIZE = 0x02FF03FF

    sensor chip is adv7180_decoder

[INFO]mxc_v4l2_s_param, type:0

    sensor frame size is 1024x768

ioctl_g_fmt_cap, 0x10 status:0x6b

===FMT:844451913======mxc_v4l2_s_param=======1401====

===IPU_PIX_FMT_GENERIC_16:844451913======ipu_csi_init_interface=======104====

CSI_SENS_CONF = 0x0000CB01

CSI_SENS_FRM_SIZE = 0x02FF03FF

CSI_ACT_FRM_SIZE = 0x02FF03FF

===FMT:842094158===ch:0===_ipu_ch_param_init=======259====

===IPU_PIX_FMT_NV12======_ipu_ch_param_init=======447====

ch 0 word 0 - 00000000 60000000 00000000 E0000000 000BFC7F

ch 0 word 1 - 03340000 00668000 0087C000 0000FFC0 000003FF

PFS 0x4, BPP 0x0, NPB 0x1f, FW 1023, FH 767, scan_order 0

[WARN]    Ctrl-C received

[INFO]    Finished encoding: 136 frames

[INFO]    enc fps = 113.04

[INFO]    total fps= 29.78

Labels (3)
0 Kudos
1 Solution
1,428 Views
rogerio_silva
NXP Employee
NXP Employee

Hi chunxin,

Unfortunately, current Freescale Linux BSP doesn't support 16-bit input through CSI (although the IC supports).

Rgds

Rogeriohttps://community.nxp.com/update-advanced-comment.jspa?id=357052" style="font-style: inherit; font-f...

View solution in original post

0 Kudos
9 Replies
1,428 Views
jesselin
Contributor I

hi chunxin

  do you fix the issue?

Jesse

0 Kudos
1,428 Views
meflo
Contributor II

I also am trying to use ADV7180 on CSI1. In my case though I get a timeout. from what I see above from chun xin, his setup is:


( IOMUX = D19~D12=Y, D11~D4=U/V,  PCLK+HSYNC+VSYNC)


In my case, the HSYNC, VSYNC, PIXCLK pins are not used (we do not use external hsync nor vsync). Is PIXCLK critical too?

Also, we only have 8 data pins connected to our decoder. I see that in chun xin's case, he talks about 12 pins for csi data: 8 for Y and 4 for U/V. I am a little bit confused now, as I thought 8 are enough for CSI. Can somebody confirm that in fact 12 data pins are needed for CSI parallel communication?


Thanks.

0 Kudos
1,428 Views
chunxin
Contributor II

Hi ( IOMUX = D19D12=Y, D11D4=U/V, PCLKHSYNCVSYNC) is not for BT1120.

BT1120 mode, the 16bits CSI data lines should be CSI_D_19 ~ CSI_D_12, CSI_D9 ~ CSI_D_2).

You should check https://community.freescale.com/message/302798#302798

0 Kudos
1,428 Views
meflo
Contributor II

Thanks for your answer

0 Kudos
1,429 Views
rogerio_silva
NXP Employee
NXP Employee

Hi chunxin,

Unfortunately, current Freescale Linux BSP doesn't support 16-bit input through CSI (although the IC supports).

Rgds

Rogeriohttps://community.nxp.com/update-advanced-comment.jspa?id=357052" style="font-style: inherit; font-f...

0 Kudos
1,428 Views
phil_martin
Contributor II

Hi Rogerio,

I am also trying to get video from an FPGA into the imx6 cpu using the CSI0, CSI1 capture ports

- the video I am sending is nominally 1080i, 10-bit, YUV, 4:2:2, with embedded EAV, SAV (no external Hsync, Vsync)

I modified the ov5640 driver to mimic the ov5640 device

I run the following command...

gst-launch -v mfw_v4lsrc ! mfw_v4lsink device=/dev/video16 &

Result is:

- gst-launch runs

- V4LSRC & V4LSINK plug-ins initialised

Message:

- 'Setting pipeline to PAUSED ...'

- 'ERROR: Pipeline doesn't want to pause.'

- 'Setting pipeline to NULL ...'

- 'Total rendered:0'

- Freeing pipeline ...

Is there a simpler way to test the CSI Inputs, and get feedback on what they are seeing?

Thanks,

Phil

0 Kudos
1,428 Views
phil_martin
Contributor II

As additional info, if I run the unit tests

- mxc_v4l2_overlay, mxc_v4l2_capture etc

- I get 'Unable to open /dev/video0'

So, I guess this means that the device is not installed & intialised correctly..

0 Kudos
1,428 Views
cankanbak
Contributor I

Hello, sorry for reviving such an old post, but we have a similar problem. Did you solved yours eventually, and if so, how?

Thanks

0 Kudos
1,428 Views
meflo
Contributor II

Most likely your device is not getting probed, the driver does not get executed, hence your missing /dev/video0

0 Kudos