Hello experts,
I have an LCD display that has an 8-bit interface bus. The display expects to get pixels interleaved, that is -- 8-bit Red, followed by 8-bit Blue, and followed by 8-bit Green.
(The interface has 8-bit data, VSYNC, HSYNC, PCLK)
How do I configure the LCD driver for this kind of configuration? (24-bit RGB with an 8-bit bus)
If I specify if=rgb888 in the kernel commandline, is that a 24-bit or 8-bit bus?
Regards,
Erez
I continued digging, and I think what I am trying to do isn't supported in the driver.
Looking at mxcfb_option_setup() in mxc_ipuv3_fb.c, I can see that the 'if=' parameter passed to the Linux Kernel on the command-line can support only:
RGB24
BGR24
GBR24
RGB565
RGB666
YUV444
LVDS666
YUYV16
UYVY16
YVYU16
VYUY16
None of these supports 8-bit interface bus.
From what I understand, to add this mode, I would need to add a new format and microcode templates in ipu_disp.c
Any guidelines how to do this? the reference manual isn't very comprehensive on this topic.
Hi Erez,
yes, data can be outputted in several cycles as described in sect.
37.5.334 DC Mapping Configuration Register
37.4.7.5.1 Bus Mapping Unit 37.5.334 DC Mapping Configuration Register IMX6DQRM :
The internal DI format for data and commands is a 24-bits word divided into three byte
components (eight zeroes are added to MSB for 16-bits words from the DC). This word
can be output or input in one, two, three or four cycles of the display clock.
IPU driver outputs all LCD data (for example RGB24) in one clock, outputting in 3 clocks x 8 bits
currently is not supported in BSP and require changes in IPU microcodes.
~igor
Thank Igor,
I found a patch that adds support for BT656 and BT1120 that does that (8-bit bus for YUYV).
Most of the patch has to do with BT656 in-band signaling. I don't think it should be so difficult to change it to support 3 clocks x 8 bits RGB.
But -- there isn't a lot of information about uCode templates and how to use them.
Regards,
Erez
Hi Erez
please look below for procedure of adding support for new LCD to linux
AN3974 Different Display Configurations on i.MX35 Linux PDK
MX53UG MX53SUG.book Chapter 18
Supporting the i.MX53 Reference Board DISP0 LCD
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thank you for the references. I have seen the before, and I couldn't find what I need in them.
To clarify -- I am working on a custom iMX6 Solo board, with Linux 3.0.35.
I currently have an LCD connected, and am able to see an (incorrect) picture.
I need to have a framebuffer (e.g. dev/fb0) configured as 320x240 24bpp (RGB), but to get the IPU to output the data 8-bits at a time.
One option would be to have the IPU treat the image as 960x240 GREY, but setting pix_fmt to GREY or GENERIC didn't change anything.
If I had a monochrome 8-bit display, how would I configure the system?
Any suggestions?
Regards,
Erez