I’m working on connect the Sharp LQ043T3DX02 with my BeagleBoard C5. My problem is we don’t use hardware to invert the hsync, vsync signals. And I want to modify the kernel for that part.
I’ve dug a little into the code and found the implementation of similar model (Sharp LS037V7DW01), but still don’t know where is the setting for sync value. Although I modified the code for LS037V7DW01 to match the LQ043T3DX02 specs, compiled and got the new kernel running but still get just the screen with 2/3 part is red, 1/3 part is black. Another thing I did was to change /sys/devices/omapdss/display0/timmings value to 9000,480/2/2/41,272/2/2/10 (the specs of LQ043T3DX02, I think) but nothing happened.
I saw another topics in this group which are similar but… Will help my friend to check the hardware part for me, but at first I want to make sure that the kernel is configured correctly =)
The lines in the LS037V7DW01 driver that set the H and V sync polarities is:
dssdev->panel.config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
OMAP_DSS_LCD_IHS;
OMAP_DSS_LCD_IHS and OMAP_DSS_LCD_IVS invert the horizontal and vertical sync polarities, respectively.
The length of the sync signals are set in the sharp_ls_timings struct in fields hsw and vsw.
I did a “dirty” trick which is replaced all timing parameter of LQ043T3DX02 to the LS037V7DW01 panel (drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c).
And in arch/arm/mach-omap2/board-omap3beagle.c, I forced beagle_dss_devices[] to use just beagle_lcd_device (commented the other 2).
As I can see, the lcd module is being loaded, but the timing is not configured (no /sys/devices/omapdss/display0/timings file). fbset command gave me timings 0 0 0 0 0 0 0