Hi, I'm using a custom board based on imx6qpsabresd reference board, and I have a color depth problem using LVDS display.

As you can see all the pure colors are displayed very well, but the parts with gradual color changes on the top are not displayed correctly which I think it should be a color depth problem.
Here is my device tree configurations:
mxcfb1: fb@0 {
compatible = "fsl,mxc_sdc_fb";
disp_dev = "ldb";
interface_pix_fmt = "RGB24";
default_bpp = <16>;
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";
};
&ldb {
status = "okay";
lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";
primary;
display-timings {
native-mode = <&timing0>;
timing0: lztft101c04 {
clock-frequency = <71100000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <130>;
hfront-porch = <20>;
vback-porch = <10>;
vfront-porch = <10>;
hsync-len = <10>;
vsync-len = <3>;
};
};
};
};
and here is the lcd display's timing:

Any help would be greatly appreciate. Thanks.