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:
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`:
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 ...?
解決済! 解決策の投稿を見る。
Okay, I updated the lcd initialization in the uboot and its fixed now. Thanks.
Hello,
I think this is a software issue, try to export you current LCD to displa and change the dtb setting regard resolution.
regards
Thank you for your quick reply, but sorry I couldn’t understand what your suggestion was. Would you mind please clarify more.
Regards