I have a RT1176 custom board using a 16-bit bus width RGB565 parallel LCD. The physical connection is same as the connection on the RT1052 EVK board:
R7-R3 -> LCDIF_D15-LCDIF_D11
G7-G2 -> LCDIF_D10-LCDIF_D5
B7-B3 -> LCDIF_D4-LCDIF_D0
It works perfectly when using eLCDIF (Not LCDIFv2). With setting the LCDIF_CTRL[LCD_DATABUS_WIDTH] to 00 (kELCDIF_DataBus16Bit), the 24-bit RGB888 output of the eLCDIF is muxed to the 16-bit bus LCDIF_D15-LCDIF-D0.
But I didn't find a register configuring the output data bus width in the LCDIFv2 or in the VIDEO_MUX. Seems like it's output is fixed to 24-bit RGB888, the connection is also fixed to LCDIF_D23-LCDIF_D0, and muxing the output to LCDIF_D15-LCDIF-D0 is not possible.
If that's true, I have no choice but changing the physical connection on the board to:
R7-R3 -> LCDIF_D23-LCDIF_D19
G7-G2 -> LCDIF_D15-LCDIF_D10
B7-B3 -> LCDIF_D7-LCDIF_D3
But doing so result in pin conflict to other peripherals, and a complete rework of the board layout is required. Is there any better solution? Thanks.
Hello @zylalx1,
Could you please tell us more details about your project?
Also, are you using an example to guide you in your development? There is an example in RT1176's SDK of LCDIFV2 driver which shows the RGB565 format frame buffer. Could you please take a look at it? You could download the SDK here.
Best regards, Raul.
It's not about the frame buffer format. It's about the output bus.
The output path of my project is LCDIFv2 -> VIDEO_MUX -> Parallel LCD. The output path of the example is LCDIFv2 -> VIDEO_MUX -> MIPI DSI -> MIPI LCD, which is not helpful with my case. The MIPI DSI always accept 24-bit RGB888 data so there won't be problem.
For the details, below is the current schematic of my project, connecting the LCD to LCDIF_D15-LCDIF_D0. It works perfectly when using the eLCDIF and setting its output bus width to 16-bit.
But when I migrate to LCDIFv2, I didn't find the same output bus width option in eLCDIF, and I may have to change the schematic to the following image to get the display work correctly:
As you see, this kind of pin assignment change is not preferred because it affects a lot of other peripherals and requires a complete rework of the PCB layout.
A migration from eLCDIF to LCDIFv2 requires hardware change sounds stupid, so I wonder if there is any software solution. Thanks.
Hello @zylalx1,
First of all, we apologize for the delay.
Unfortunately, the bus data width of LCDIFv2 is indeed fixed to 24-bit RGB888.
Sorry for any inconvenient this might cause you.
Best regards, Raul.