Hello all,
We hava a proble about display gradient effect, the picture shows as below:
computer display normal:
imx6ul board display badly(RGB interface) ,the gradient have ripples on TFT LCD:
our imx6ul board eLCDIF hardware was disigned 24 data line for RBG888 , the DTB configure as below:
&iomuxc {
myimx6a7-lcd-pad {
pinctrl_lcd_lcdif_ctrl: lcd_lcdif_ctrl_grp {
fsl,pins = <
MX6UL_PAD_LCD_CLK__LCDIF_CLK 0x79
MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE 0x79
MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC 0x79
MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC 0x79
MX6UL_PAD_LCD_RESET__GPIO3_IO04 0x79
>;
};
pinctrl_lcd_lcdif_data: lcd_lcdif_data_grp {
fsl,pins = <
MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x79
MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x79
MX6UL_PAD_LCD_DATA02__LCDIF_DATA02 0x79
MX6UL_PAD_LCD_DATA03__LCDIF_DATA03 0x79
MX6UL_PAD_LCD_DATA04__LCDIF_DATA04 0x79
MX6UL_PAD_LCD_DATA05__LCDIF_DATA05 0x79
MX6UL_PAD_LCD_DATA06__LCDIF_DATA06 0x79
MX6UL_PAD_LCD_DATA07__LCDIF_DATA07 0x79
MX6UL_PAD_LCD_DATA08__LCDIF_DATA08 0x79
MX6UL_PAD_LCD_DATA09__LCDIF_DATA09 0x79
MX6UL_PAD_LCD_DATA10__LCDIF_DATA10 0x79
MX6UL_PAD_LCD_DATA11__LCDIF_DATA11 0x79
MX6UL_PAD_LCD_DATA12__LCDIF_DATA12 0x79
MX6UL_PAD_LCD_DATA13__LCDIF_DATA13 0x79
MX6UL_PAD_LCD_DATA14__LCDIF_DATA14 0x79
MX6UL_PAD_LCD_DATA15__LCDIF_DATA15 0x79
MX6UL_PAD_LCD_DATA16__LCDIF_DATA16 0x79
MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x79
MX6UL_PAD_LCD_DATA18__LCDIF_DATA18 0x79
MX6UL_PAD_LCD_DATA19__LCDIF_DATA19 0x79
MX6UL_PAD_LCD_DATA20__LCDIF_DATA20 0x79
MX6UL_PAD_LCD_DATA21__LCDIF_DATA21 0x79
MX6UL_PAD_LCD_DATA22__LCDIF_DATA22 0x79
MX6UL_PAD_LCD_DATA23__LCDIF_DATA23 0x79
>;
};
};
};
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd_lcdif_ctrl
&pinctrl_lcd_lcdif_data>;
display = <&display0>;
status = "okay";
display0: display {
bits-per-pixel = <32>;
bus-width = <24>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <51000000>;
hactive = <1024>;
vactive = <600>;
hfront-porch = <250>;
hback-porch = <160>;
hsync-len = <70>;
vback-porch = <25>;
vfront-porch = <12>;
vsync-len = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
The eLCDIF driver path: drivers/video/fbdev/mxsfb.c
what can i do for it? thanks
I've the same problem with my imx7d-based custom board. I think it's not about timings or hardware pins, I've checked all of things for days.. it's an graphics processing issue, an software issue. However I couldn't solve my problem although I tried 3 different kernels. My 24-bit parallel LCD and Ti's tsc2004 touchscreen working fine except for that gradient trouble!
the display timgings depends on your lcd date sheet, you can double check it, and did you add "if=RGB24,bpp=16" or "if=RGB24,bpp=24" in your uboot?
thanks the reply~
LCD displaying pictures is perfect, besides image that has gradients.
using fbset cmd to get informations about LCD configs in Kernel
mode "1024x600-52"
#
geometry 1024 600 1024 600 32
timings 19607 160 250 25 12 70 12
accel false
rgba 8/16,8/8,8/0,0/0
endmode
I have tried to set dpp:16, dpp:24 and 32, gradients displays not good on LCD-TFT.
witch one to decides the display effect of gradients?
any options tell to me, thanks.
what tft panel do you use? did you double confirm if your timings settings according to your display data sheet?
Yes, i have calculated timing parameters according to datasheet support by vendor.
this is our lcd reference manual parts of timing setting.
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <51000000>;
hactive = <1024>;
vactive = <600>;
hfront-porch = <250>;
hback-porch = <160>;
hsync-len = <70>;
vback-porch = <25>;
vfront-porch = <12>;
vsync-len = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
any you needed i will support if i can.
Looking forward to you reply.
thanks.
hfront-porch = <250>;
hback-porch = <160>;
hsync-len = <70>;
why did you get hfront-porch=250? refer to the data sheet, it should be 160, and where did you get hback-porch?