LCD distortion sometimes after reboot on imx6 custom board

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LCD distortion sometimes after reboot on imx6 custom board

ソリューションへジャンプ
902件の閲覧回数
hamzehnasajpour
Contributor II

I have a custom imx6 board and using MI0350B4T_5CL LCD (240*320). 

My problem is sometimes after reboot the LCD doesnt work properly. If I store the fb0 as a PNG I can see the picture is true but that picture is not shown correctly on the screen. There is a distortion on the screen, most pixels are white with some black lines. It doesnt work anymore unless I reboot the system again. And it could happen again after reboot. I should say most of the times after reboot it works.

 

This my device tree:

mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "lcd";
interface_pix_fmt = "RGB24";
mode_str = "ILI9341-1";
default_bpp = <32>;
int_clk = <0>;
late_init = <0>;
status = "okay";
};
 
lcd@0 {
compatible = "fsl,lcd";
ipu_id = <0>;
disp_id = <0>;
default_ifmt = "RGB24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1>;
status = "okay";
};
 

pinctrl_ipu1: ipu1grp {
fsl,pins = <
MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK 0x10
MX6QDL_PAD_DI0_PIN15__IPU1_DI0_PIN15 0x10
MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02 0x10
MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03 0x10
MX6QDL_PAD_DI0_PIN4__IPU1_DI0_PIN04 0x80000000
MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00 0x10
MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01 0x10
MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02 0x10
MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03 0x10
MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04 0x10
MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05 0x10
MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06 0x10
MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07 0x10
MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08 0x10
MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09 0x10
MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10 0x10
MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11 0x10
MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12 0x10
MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13 0x10
MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14 0x10
MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15 0x10
MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16 0x10
MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17 0x10
MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18 0x10
MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19 0x10
MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20 0x10
MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21 0x10
MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22 0x10
MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23 0x10
>;
};

Also I added this to `mxc_lcdif.c`:

+   /* 240x320 @ 65 Hz, pixel clk @ 6.0MHz */
+   "ILI9341-1", 65, 240, 320, 166667, //167515
+   .left_margin = 20, .right_margin = 10,
+   .upper_margin = 2, .lower_margin = 4,
+   .hsync_len = 10, .vsync_len = 2,
+   .sync = 0,
+   .vmode = FB_VMODE_NONINTERLACED,
+   .flag = 0,},
 
 

Kernel logs:

# dmesg | grep mxc
[ 0.000000] Kernel command line: noinitrd consoleblank=0 console=ttymxc1,115200 root=/dev/mmcblk3p2 rootwait rw quiet panic=5
[ 0.000020] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[ 0.331436] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 25, base_baud = 5000000) is a IMX
[ 0.332127] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 66, base_baud = 5000000) is a IMX
[ 0.332169] console [ttymxc1] enabled
[ 0.332647] 21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 67, base_baud = 5000000) is a IMX
[ 0.333227] 21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 68, base_baud = 5000000) is a IMX
[ 0.392363] clocksource: Switched to clocksource mxc_timer1
[ 0.421910] mxc_sdc_fb fb@0: registered mxc display driver lcd
[ 0.484577] mxc_sdc_fb fb@0: 240x320 h_sync,r,l: 10,38,10 v_sync,l,u: 4,8,4 pixclock=6007000 Hz
[ 0.923060] mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
[ 2.796337] mxc_sdc_fb fb@0: 240x320 h_sync,r,l: 10,38,10 v_sync,l,u: 4,8,4 pixclock=6007000 Hz

 

Any idea? could it be a hardware issue? is there any way to reset LCD by application, driver or ...?

0 件の賞賛
返信
1 解決策
829件の閲覧回数
hamzehnasajpour
Contributor II

Okay, I updated the lcd initialization in the uboot and its fixed now. Thanks.

 

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
830件の閲覧回数
hamzehnasajpour
Contributor II

Okay, I updated the lcd initialization in the uboot and its fixed now. Thanks.

 

0 件の賞賛
返信
886件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

I think this is a software issue, try to export you current LCD to displa and change the dtb setting regard resolution.

regards

0 件の賞賛
返信
881件の閲覧回数
hamzehnasajpour
Contributor II

Thank you for your quick reply, but sorry I couldn’t understand what your suggestion was. Would you mind please clarify more.

 

Regards

 

0 件の賞賛
返信