Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Screen API incorrectly sets LVDS register on Sabrelite: (6 Items)
   
Screen API incorrectly sets LVDS register on Sabrelite  
Hello,

I'm running QNX6.6 on my Sabrelite board and I'm trying to configure it for my 10" LCD display operating in 8-bit mode. 
I have the display connected to LVDS0 and I am able to output 6-bit data just fine (with the LCD in 6-bit mode); however
, when I try to output data in 8-bit format (with the LCD in 8-bit mode), it is obvious something is not configured 
properly since the image looks terrible.

Does anyone know if QNX6.6 supports 8-bit format through the LVDS lines and the screen API? I tried several different 
formats in the framebuffer class in the graphics.conf file, but none seemed to set the i.MX6's IOMUXC_GPR2 register 
appropriately. I am currently using format=rgba8888 as a starting point since rgb888 doesn't work at all. Specifically, 
it appears that I need data in the SPWG standard and not the JEIDA standard that QNX configures it for. When format=
rgba8888, the register (20E_0008) is set to 0x1ED. I wrote an application to change this register to 0x221 which appears
 to be the value I need. When I run my application, the i.MX6 outputs 8-bit data and the display looks great.

Is there a way either through starting the screen API or through the graphics.conf file to configure this register for 8
-bit data properly on the Sabrelite? If no one knows, can they at least point me to the source code for the screen 
driver?

Thank you for your time.

Sincerely,
Scott
Re: Screen API incorrectly sets LVDS register on Sabrelite  
I am using U-Boot to load QNX. I failed to mention that U-Boot correctly outputs data in 8-bit format and that is where 
I got the 0x221 value for the IOMUXC_GPR2 (20E_0008) register from.
Re: Screen API incorrectly sets LVDS register on Sabrelite  
Scott-  

What version of screen are you trying to use?  

It is not necessary to change any registers in the i.mx6 to use rbga8888 on the LVDS 10" Hannstar screen (http://
boundarydevices.com/product/nit6x_10-1hannstar/).
Re: Screen API incorrectly sets LVDS register on Sabrelite  
Hi Scott,

I'm not sure that our graphics experts are monitoring this discussion board so I reached out to them. They informed me 
that LVDS data mapping is a wfd config option. The wfd config is provided as a separate library that is available in 
source form. I don't see it posted, so you might have to reach out to your support rep to get this, but I have asked to 
see if it's hiding somewhere in front of me.

We do have some docs about updating the wfd config:
http://www.qnx.com/developers/docs/660/topic/com.qnx.doc.screen.wfdcfg/topic/manual/cwfdcfg_about.html?cp=1_1_7
Re: Screen API incorrectly sets LVDS register on Sabrelite  
Hi Ryan & Dennis,

Thank you for the replies! Unfortunately, I'm not using a Hannstar display like the one Boundary Devices sells. After 
reading about the wfd config file, I believe I will need to obtain the source code for this so I can modify it as needed
.

Please let me know if you find the location of this source code. Otherwise, I'll try working with my FAE to get it.

Just to illustrate what I'm trying to do, my display requires VESA/SPWG data mapping while in 8-bit (per pixel) mode. 
The current wfd config file in the Sabrelite BSP configures it for JEIDA data mapping. The differences can be seen in 
the attached photo.

It looks like I either need to obtain and modify the wfd config source code, or their is a configuration option in the 
graphics.conf file that I haven't tried yet.

Scott
Attachment: Image JEIDA vs SWPG vs VESA Data Mapping.jpg 76.75 KB
RE: Screen API incorrectly sets LVDS register on Sabrelite  
Hi Scott,

I would definitely suggest reaching out to the FAE. I think the source is intended to be included in the BSP, so maybe 
the source you have is correct. In that case the documentation I linked to earlier might be useful.

Based on feedback from my colleagues I feel reasonably confident that it is not a graphics.conf issue, and that you want
 to make this change in the wfd config. The good news is that I believe what you're asking for is possible:
  "LVDS data mapping is a wfdcfg option (TIMING_LDB_DATA_MAPPING_SPWG_24 or _18).  We support both bit-packing orders 
used by three standards."

-- 
Ryan J. Allen
QNX Software Systems