I am trying to interface 18-bit lcd with i.MX6ULL. According to the user manual, data pins used in 18-bit DOTCLK mode is LCD_DATA00 - LCD_DATA17, so I connect the display like this:
LCD_DATA00 ------ B0
LCD_DATA01 ------ B1
LCD_DATA02 ------ B2
LCD_DATA03 ------ B3
LCD_DATA04 ------ B4
LCD_DATA05 ------ B5
LCD_DATA06 ------ G0
LCD_DATA07 ------ G1
LCD_DATA08 ------ G2
LCD_DATA09 ------ G3
LCD_DATA10 ------ G4
LCD_DATA11 ------ G5
LCD_DATA12 ------ R0
LCD_DATA13 ------ R1
LCD_DATA14 ------ R2
LCD_DATA15 ------ R3
LCD_DATA16 ------ R4
LCD_DATA17 ------ R5
The kernel version used is 4.1.15, and my DTS is as follow
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcdif_dat
&pinctrl_lcdif_ctrl>;
display = <&display0>;
status = "okay";
display0: display {
bits-per-pixel = <32>;
bus-width = <18>;
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
clock-frequency = <6300000>;
hactive = <320>;
vactive = <240>;
hfront-porch = <65>;
hback-porch = <10>;
hsync-len = <5>;
vback-porch = <7>;
vfront-porch = <12>;
vsync-len = <3>;
de-active = <1>;
hsync-active = <0>;
vsync-active = <0>;
pixelclk-active = <0>;
};
};
};
};
But pictures are not display in right color, there seems to be a lack of green, I have shown a QT routine (animatedtiles) on the screen, it is supposed to be dark green, but now it's dark red. The boot information on the screen should be white, but now it's blue. Images are clear except for the color. I don't know if the connection to the display is not right, or there is something wrong with my dts configuration.