Hello,
Currently we are developing on IMX6DP with Android 5.1, in our board we connect the LVDS0 to a 24bit converter sn65lvds822 then to a LCD RGB interface.
I have configured the uboot and kernel device tree based on this link:
https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/iMX6QD-How-to-Add-24-bit-LVDS-Support-in...
So we have interface 24bit and 32bit framebuffer, and have enabled pre and prg.
Bootargs:
CONFIG_BOOTARGS "console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,if=RGB24,fbpix=RGB32,bpp=32 vmalloc=400M maxcpus=2 androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M androidboot.selinux=disabled"
Device Tree:
mxcfb1: fb@0 {
prefetch;
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB24";
mode_str ="LVDS-WXGA800x480";
default_bpp = <32>;
int_clk = <0>;
late_init = <1>;
status = "okay";
};
mxcfb2: fb@1 {
prefetch;
};
mxcfb3: fb@2 {
prefetch;
};
mxcfb4: fb@3 {
prefetch;
};
&pre1 {
status = "okay";
};
&pre2 {
status = "okay";
};
&pre3 {
status = "okay";
};
&pre4 {
status = "okay";
};
&prg1 {
memory-region = <&memory>;
status = "okay";
};
&prg2 {
memory-region = <&memory>;
status = "okay";
};
&ldb {
compatible = "fsl,imx6qp-ldb", "fsl,imx6q-ldb", "fsl,imx53-ldb";
status = "okay";
primary;
lvds-channel@0 {
reg = <0>;
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
primary;
status = "okay";
crtc = "ipu1-di0";
display-timings {
native-mode = <&timing0>;
timing0: 800x480 {
clock-frequency = <25000000>;
hactive = <800>;
vactive = <480>;
hback-porch = <8>;
hfront-porch = <8>;
vback-porch = <8>;
vfront-porch = <8>;
hsync-len = <4>;
vsync-len = <4>;
};
};
};
};
Also I have change the clock source in order to the 25MHZ for the display and from the measurement the clock frequency is correct.
However, the display does not have correct output, the white color is gray and red, green, blue seems correct, and interestingly, when try to pull down the notification bar from top, the background will become correct, so it seems only the top layers got problem and not the bottom layer. You can check the video.
And from the Android logcat it has following errors:
01-01 00:00:08.527 122-122/? E/HAL: load: module=/system/lib/hw/hwcomposer_fsl.imx6.so
dlopen failed: empty/missing DT_HASH in "hwcomposer_fsl.imx6.so" (built with --hash-style=gnu?)
01-01 00:00:08.527 122-122/? E/FslHwcomposer: Error! hw_get_module fsl_hwc failed
01-01 00:00:08.536 122-122/? E/v_hwc: open /dev/graphics/fb2 failed
01-01 00:00:08.536 122-122/? I/v_hwc: Virtual display @2 initialized.
01-01 00:00:08.540 122-122/? I/v_hwc: Vivante HWComposer v2.4
Device: 0xb6089600
Separated 2D: YES
YUV separate stride : YES
Multi-source blit : YES
Source mirror : YES
Max source count : 8
Byte alignment : YES
Source rotation : NO
Source offsets: : NO
Scaling: : NO
OPF/YUV blit : YES
Tiled input : YES
Compression : NO
Filter stretch : YES
01-01 00:00:08.540 122-122/? I/FslHwcomposer: using viv hwc!
01-01 00:00:08.540 122-122/? I/FslHwcomposer: fb0 is ldb device
01-01 00:00:08.541 122-122/? I/FslHwcomposer: fb1 is overlay device
01-01 00:00:08.541 122-122/? W/FslHwcomposer: open /sys/class/graphics/fb2 failed
01-01 00:00:08.541 122-122/? W/FslHwcomposer: open /sys/class/graphics/fb3 failed
01-01 00:00:08.541 122-122/? W/FslHwcomposer: open /sys/class/graphics/fb4 failed
01-01 00:00:08.541 122-122/? W/FslHwcomposer: open /sys/class/graphics/fb5 failed
Thank you for help.
Solved! Go to Solution.
Turns out to be hardware issue