First, I am not sure which forum I should post this question for J6 related issue as I cannot find a forum focused on J6.
As our hardware design has connected video decorder to VIN2A D16..D23. My original plan is to capture the RGB888 data from VIN2A and drop D0..D15.
But it turns out failed on J6 .
1) The software version is DRA7xx_GLSDK_7.01.00.03_Release_Notes (for Android).
2) I connect the video decoder output to VIN2A D16..D23
3) I have set bus-width = <24> in DTS file
4) I have configure decoder mbus format to V4L2_MBUS_FMT_RGB888_1X24, and color space to V4L2_COLORSPACE_SRGB.
5) And I set V4L2_PIX_FMT_RGB24 in my user space test program.
The data captured seems can only ouput lower 16bit of the VIN2A. When I set repacker to 1 or 2, I can see the data from VIN2A D16..D23 be output to D0..D7 or D8..D15.
I digged in VIP driver in release. It seems there are problems,
1)in RGB capture, as the port->flag is set to FLAG_MULT_PORT, so the soure type to add_out_dtd is not set to VIP_SRCE_RGB, which cause channel select is not correct and can only output 16bit data from VPDMA instead of 24bit
2)in set_fmt_params, for stream->port->fmt->coplanar is not 1, the data path will be fixed to 0x8000, it seems has problem.
Moreover, there is a confusing in VPDMA configuration.
In Page 3068 of TRM, if wants to output RGB, Y_LO and UV_LO should be enabled simultaneously as Y_LO can only output RG and UV_LO can only out put B. But from page 3164 to 3168, there is no channel assign to output RGB on UV_LO.
So, could some one know how to configure VIP to capture RGB888?
Great appreciate anyone who know these things or share any knowledge about this!