Configuring Linux for an 8-bit RGB LCD on imx6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Configuring Linux for an 8-bit RGB LCD on imx6

2,087 Views
heinemann9
Contributor I
Hello experts,
 
First of all, I saw I made imx6 (iW-RainboW-G15M) work with evaluation board (with 480x272 LCD display RGB666 18pin).
And now I am trying to make imx6 connected 320x240 LCD display (8bit RGB) work.
Even though I changed dts files and kernel binding txts and driver c files, It doesn't show anything but backlight. I don't know what I have to do.
 
Does anybody knows about how to solve the problem ?
Any suggestions?
 
I refered to this site
 
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
attached LCD information (CHIMEI_LQ035NC111.pdf)
 
kernel arguments
setenv lcd 'video=mxcfb0:dev=lcd,WQVGA,if=RGB24,bpp=24'
saveenv;boot
 
modified codes
* drivers/video/fbdev/mxc/mxc_lcdif.c
 
static struct fb_videomode lcdif_modedb[] = {
/* IWG15M-SM: LCD: Parameters for the WQVGA LCD used */
{
/* 320x240 @ 59 Hz , pixel clk @ 6.5MHz */
"WQVGA", 59, 320, 240, 156000, 68, 20, 18, 4, 1, 1,
FB_SYNC_CLK_LAT_FALL,
FB_VMODE_NONINTERLACED,
0,},
....
}
 
* arch/arm/boot/dts/imx6qdl-iwg15m-sm.dtsi
- mxcfb1: fb@0 {
- compatible = "fsl,mxc_sdc_fb";
- disp_dev = "lcd";
- interface_pix_fmt = "RGB24";
- mode_str ="WQVGA";
- default_bpp = <24>;
- int_clk = <0>;
- late_init = <0>;
- status = "disabled";
- };
+ mxcfb1: fb@0 {
+ compatible = "fsl,mxc_sdc_fb";
+ disp_dev = "lcd";
+ interface_pix_fmt = "RGB24";
+ mode_str ="WQVGA";
+ default_bpp = <24>;
+ int_clk = <0>;
+ late_init = <0>;
+ status = "disabled";
+ };
 
* arch/arm/boot/dts/imx6qd-iwg15m-sm_ldoactive.dts
lvds-channel@0 {
fsl,data-mapping = "spwg";
- fsl,data-width = <18>;
+ fsl,data-width = <24>;
primary;
crtc = "ipu2-di0";
status = "okay";
@@ -49,9 +49,9 @@
display-timings {
native-mode = <&timing0>;
timing0: ldb-svga {
- clock-frequency = <40000000>;
- hactive = <800>;
- vactive = <600>;
+ clock-frequency = <15600000>;
+ hactive = <320>;
+ vactive = <240>;
hback-porch = <8>;
hfront-porch = <8>;
vback-porch = <6>;
 
* Documentation/devicetree/bindings/fb/mxsfb.txt
@@ -22,6 +22,7 @@ lcdif@80030000 {
compatible = "fsl,imx28-lcdif";
reg = <0x80030000 2000>;
interrupts = <38 86>;
+ status = "okay";
 
display: display {
bits-per-pixel = <32>;
@@ -30,14 +31,14 @@ lcdif@80030000 {
display-timings {
native-mode = <&timing0>;
timing0: timing0 {
- clock-frequency = <33500000>;
- hactive = <800>;
- vactive = <480>;
- hfront-porch = <164>;
- hback-porch = <89>;
+ clock-frequency = <15600000>;
+ hactive = <320>;
+ vactive = <240>;
+ hfront-porch = <20>;
+ hback-porch = <68>;
hsync-len = <10>;
- vback-porch = <23>;
- vfront-porch = <10>;
+ vback-porch = <18>;
+ vfront-porch = <4>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
0 Kudos
Reply
0 Replies