Hi guys,
I'm just working on a project, that requires support for RGB888 video data over the i.MX8's CSI interface.
Unfortunately the current drivers don't support RGB888 data, so I tried to add support to the kernel.
What I did:
1. Modified mx6s_capture.c to add support for RGB888
...
...
2.Modified mxc_mipi_csi.c to add format support
With the 24bit RGB888 format, the MIPI CSI controller should switch to 32-bit mode, using a 32bit databus instead of a 16bit bus between MIPI CSI and the CSI bridge.
Unfortunately this doesn't seem work and I fail to get all the bytes correctly.
Either I get complete bs or in some constellations the green channel is correct, while blue and red are messed up.
Here is a quick example:
Transmitted: 55CCF0 AA330F 55CCF0 AA330F ...
Received: EA3343 EA3343 EA3343 EA3343 ...
Has anybody used the RGB888 24-bit mode of the CPU or any compatible CPU?
I am also using a custom camera RGB888, I am also facing an issue, i am getting the skip frame 0 message from mx6s_csi_irq_handler section. I am being trying to fix from past one month. let me know how did you solve
Hi,
I am also getting same Issue, Did you overcome this problem, If yes, Please help us to resolve this Issue.
Currently I am getting below image.
Thanks & Regards,
Mallikarjuna B.
for rgb888, try to enable PARALLEL24_EN in the CSICR18 and set TWO_8BIT_SENSOR to 0 in the CSICR3
Dear Joan,
I already tried to enable PARALLEL24_EN without any luck.
The TWO_8BIT_SENSOR option was/is disabled by default.
Have you done RGB888 already, could you share your driver modifications?
Kind regards
Berni
what camera do you use? ov5640? I confirmed that ov5640 couldn't set rgb888
Dear Joan,
we use a custom camera with custom MIPI IP, so not the OV5640.
Kind regards
Berni
suggest that you can use unit test to test it first, unit test can support rgb888 capture, and could you set your camera to 16bits first to check if you can get the correct data, then test 24bits, for unit test, you can use "mx6s_v4l2_capture.out" under /unit_tests/V4L2
The camera works just fine with 16bits. Only 24bits seem to be a problem.
To what unit test are you referring to and what /unit_tests/V4L2 folder?
when your boar boot up, you should find "V4L2" folder under /unit_tests
Ok I see, you are referring to an image generated by the BSP then.
I'll try to install your reference image and try the unit test.
Where do I find documentation for the mx6s_v4l2_capture.out? What does it do?
you don't need any document for this, if you don't know how to use mx6s_v4l2_capture.out, you can use the command "mx6s_v4l2_capture.out -help" to get more parameters for this