I have been trying to integrate a WVGA (800x640) display in my environment via the Unif. Interface Display port in Ixora.
Following the guide provided here, by modifying the vidargs u-boot variable to the closest i could find - FusionF07. It kinda works, it flicks a lot as soon as i deploy XServer and any kind of application that runs on top of it.
After some research i found the file: mxc_lcdif.c and there i noticed that the FusionF07 block bus was triggered on falling edge but my display is rising edge, so i modified it to use vsync = 0. I tried creating a separate display there, didn’t go too well, hence I am modifying the FusionF07 to my needs. Additionally, I adjusted all other timings to my display.
Still, after compiling and testing, it doesn’t improve much. Actually, if i put the clock just as my display’s datasheet indicates, it flicks even more.
I even read that VIvante does not like 24bpp very much in this question, switched to 32bpp, no dice.
I think my U-boot and fb is detecting the data i have in the structure. All values match in
[ 7.462870] mxc_sdc_fb fb@0: 800x480 h_sync,r,l: 30,210,46 v_sync,l,u: 13,22,10 pixclock=33333000 Hz
My vidargs at the moment is:
vidargs= mxc_hdmi.only_cea=0 video=mxcfb0:dev=lcd,FusionF07A,if=RGB24 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=32M
I think the error comes from the framebuffer (X and such). Before i deploy X (Console prompt) it looks good. The linux logo at bootup looks nice too. As soon as I use X, it starts flickering.
Did i follow the right steps? What can I do to fix this? Do I need another approach? Any guidance is welcome!