Hello,
I am using NXP RT1170 in my own custom board.
I want to utilize video parallel output from LCDIFv2, but the problem is that there is almost no examples for parallel output in LCDIFv2 in any NXP device!
I started from NXP MIMXRT1170-EVKB VGLite example "clock_freertos_cm7"
I stopped anything related to DSI display, and changed the Video MUX configurations to stream LCDIFv2 output to parallel interface
VIDEO_MUX->VID_MUX_CTRL.SET = VIDEO_MUX_VID_MUX_CTRL_PARA_LCD_SEL_MASK;
and then I set the video pins in IOMUX
static void vcb_video_stream_out_pins_init(){
CLOCK_EnableClock(kCLOCK_Iomuxc); /* LPCG on: LPCG is ON. */
// Timing
IOMUXC_SetPinMux( // CLK Out
IOMUXC_GPIO_DISP_B1_00_VIDEO_MUX_LCDIF_CLK,
0U);
IOMUXC_SetPinMux( // Enable
IOMUXC_GPIO_DISP_B1_01_VIDEO_MUX_LCDIF_ENABLE,
0U);
IOMUXC_SetPinMux( // HSync
IOMUXC_GPIO_DISP_B1_02_VIDEO_MUX_LCDIF_HSYNC,
0U);
IOMUXC_SetPinMux( // VSync
IOMUXC_GPIO_DISP_B1_03_VIDEO_MUX_LCDIF_VSYNC,
0U);
// Data pins
// First Byte
IOMUXC_SetPinMux( // 0
IOMUXC_GPIO_DISP_B1_04_VIDEO_MUX_LCDIF_DATA00,
0U);
IOMUXC_SetPinMux( // 1
IOMUXC_GPIO_DISP_B1_05_VIDEO_MUX_LCDIF_DATA01,
0U);
IOMUXC_SetPinMux( // 2
IOMUXC_GPIO_DISP_B1_06_VIDEO_MUX_LCDIF_DATA02,
0U);
IOMUXC_SetPinMux( // 3
IOMUXC_GPIO_DISP_B1_07_VIDEO_MUX_LCDIF_DATA03,
0U);
IOMUXC_SetPinMux( // 4
IOMUXC_GPIO_DISP_B1_08_VIDEO_MUX_LCDIF_DATA04,
0U);
IOMUXC_SetPinMux( // 5
IOMUXC_GPIO_DISP_B1_09_VIDEO_MUX_LCDIF_DATA05,
0U);
IOMUXC_SetPinMux( // 6
IOMUXC_GPIO_DISP_B1_10_VIDEO_MUX_LCDIF_DATA06,
0U);
IOMUXC_SetPinMux( // 7
IOMUXC_GPIO_DISP_B1_11_VIDEO_MUX_LCDIF_DATA07,
0U);
// Second Byte
IOMUXC_SetPinMux( // 8
IOMUXC_GPIO_DISP_B2_00_VIDEO_MUX_LCDIF_DATA08,
0U);
IOMUXC_SetPinMux( // 9
IOMUXC_GPIO_DISP_B2_01_VIDEO_MUX_LCDIF_DATA09,
0U);
IOMUXC_SetPinMux( // 10
IOMUXC_GPIO_DISP_B2_02_VIDEO_MUX_LCDIF_DATA10,
0U);
IOMUXC_SetPinMux( // 11
IOMUXC_GPIO_DISP_B2_03_VIDEO_MUX_LCDIF_DATA11,
0U);
IOMUXC_SetPinMux( // 12
IOMUXC_GPIO_DISP_B2_04_VIDEO_MUX_LCDIF_DATA12,
0U);
IOMUXC_SetPinMux( // 13
IOMUXC_GPIO_DISP_B2_05_VIDEO_MUX_LCDIF_DATA13,
0U);
IOMUXC_SetPinMux( // 14
IOMUXC_GPIO_DISP_B2_06_VIDEO_MUX_LCDIF_DATA14,
0U);
IOMUXC_SetPinMux( // 15
IOMUXC_GPIO_DISP_B2_07_VIDEO_MUX_LCDIF_DATA15,
0U);
// Third Byte
IOMUXC_SetPinMux( // 16
IOMUXC_GPIO_DISP_B2_08_VIDEO_MUX_LCDIF_DATA16,
0U);
IOMUXC_SetPinMux( // 17
IOMUXC_GPIO_DISP_B2_09_VIDEO_MUX_LCDIF_DATA17,
0U);
IOMUXC_SetPinMux( // 18
IOMUXC_GPIO_DISP_B2_10_VIDEO_MUX_LCDIF_DATA18,
0U);
IOMUXC_SetPinMux( // 19
IOMUXC_GPIO_DISP_B2_11_VIDEO_MUX_LCDIF_DATA19,
0U);
IOMUXC_SetPinMux( // 20
IOMUXC_GPIO_DISP_B2_12_VIDEO_MUX_LCDIF_DATA20,
0U);
IOMUXC_SetPinMux( // 21
IOMUXC_GPIO_DISP_B2_13_VIDEO_MUX_LCDIF_DATA21,
0U);
IOMUXC_SetPinMux( // 22
IOMUXC_GPIO_DISP_B2_14_VIDEO_MUX_LCDIF_DATA22,
0U);
IOMUXC_SetPinMux( // 23
IOMUXC_GPIO_DISP_B2_15_VIDEO_MUX_LCDIF_DATA23,
0U);
}
I also kept using NXP library FBDEV, so I don't do much when it comes to video initialization and controlling.
The current state is that I can see the clock in the output and the VSync also, but there is no image shown (video data bits don't change at all) even though NXP module FBDEV is changing buffers at 60Hz with no issue.
What could be the issue here?
Note: I am measuring signals CLK, VSync and Data[9] on oscilloscope
Hi @abady1000 ,
Thanks for your interest in NXP MIMXRT series!
Since RT1170-EVK/EVKB doesn't leave a parallel display interface, there is no example provided in the SDK for this. However, we currently have this RT1170-ADP board which provides multiple display interfaces, and I believe its source code can meet your requirements, and you can refer to it for implementation:
Best regards,
Gavin