|
驱动源代码就是LINUX自身的。我只是设定了LCD的分辨率颜色位。我一开始也觉得是临界问题。可内存空间临界貌似是在最开始和结束的地址,竖列的地址是在内存空间不是连续的。为什么也会有问题呢。。
以下是设置LCD的代码
82 static struct s3c2410fb_display tq2440_lcd_cfg __initdata = {
83
84 .lcdcon5 = S3C2410_LCDCON5_FRM565 |
85 S3C2410_LCDCON5_INVVLINE |
86 S3C2410_LCDCON5_INVVFRAME |
87 S3C2410_LCDCON5_PWREN |
88 S3C2410_LCDCON5_HWSWP,
89
90 .type = S3C2410_LCDCON1_TFT,
91
92
93 .width = 800,
94 .height = 600,
95
96 .pixclock = 40000, /* HCLK 100 MHz, divisor 1 */
97 .setclkval = 0x1,
98 .xres = 800,
99 .yres = 600,
100 .bpp = 16,
101 .left_margin = 15, /* for HFPD*/
102 .right_margin = 47, /* for HBPD*/
103 .hsync_len = 95, /* for HSPW*/
104 .upper_margin = 9, /* for VFPD*/
105 .lower_margin = 5, /* for VBPD*/
106 .vsync_len = 1, /* for VSPW*/
107
108 };
109
110 static struct s3c2410fb_mach_info tq2440_fb_info __initdata = {
111 .displays = &tq2440_lcd_cfg,
112 .num_displays = 1,
113 .default_display = 0,
114
115 #if 0
116 /* currently setup by downloader */
117 .gpccon = 0xaa940659,
118 .gpccon_mask = 0xffffffff,
119 .gpcup = 0x0000ffff,
120 .gpcup_mask = 0xffffffff,
121 .gpdcon = 0xaa84aaa0,
122 .gpdcon_mask = 0xffffffff,
123 .gpdup = 0x0000faff,
124 .gpdup_mask = 0xffffffff,
125 #endif
126
127 // .lpcsel = ((0xCE6) & ~7) | 1<<4,
128 };
|
|