QQ2440+Linux 2.6.32中NEC3.5屏配置
QQ2440,Linux 2.6.32,NEC3.5,配置
是根据SMDK2410改的,所以,要去掉2410目录下面的初始化过程。而保留2440目录里面的。
修改文件
/opt/FriendlyARM/QQ2440/linux-2.6.32.16/arch/arm/mach-s3c2440/mach-smdk2440.c
#define LCD_WIDTH 240
#define LCD_HEIGHT 320
#define LCD_PIXCLOCK 100000
#define LCD_RIGHT_MARGIN 36
#define LCD_LEFT_MARGIN 19
#define LCD_HSYNC_LEN 5
#define LCD_UPPER_MARGIN 1
#define LCD_LOWER_MARGIN 5
#define LCD_VSYNC_LEN 1
……
static struct s3c2410fb_display smdk2440_lcd_cfg __initdata = {
#if !defined(LCD_CON5)
.lcdcon5= S3C2410_LCDCON5_FRM565 |
S3C2410_LCDCON5_INVVLINE |
S3C2410_LCDCON5_INVVFRAME |
S3C2410_LCDCON5_PWREN |
S3C2410_LCDCON5_HWSWP,
#else
.lcdcon5=LCD_CON5,
#endif
.type = S3C2410_LCDCON1_TFT,
.width = LCD_WIDTH, //320,
.height = LCD_HEIGHT,//240,
.pixclock = LCD_PIXCLOCK, //166667, /* HCLK 60 MHz, divisor 10 */
.xres = LCD_WIDTH, //240,
.yres = LCD_HEIGHT, //320,
.bpp = 16,
.left_margin = LCD_LEFT_MARGIN+1, //20,
.right_margin = LCD_RIGHT_MARGIN+1, //8,
.hsync_len = LCD_HSYNC_LEN+1, //4,
.upper_margin = LCD_UPPER_MARGIN+1, //8,
.lower_margin = LCD_LOWER_MARGIN+1, //7,
.vsync_len = LCD_VSYNC_LEN+1, //4,
};
static struct s3c2410fb_mach_info smdk2440_fb_info __initdata = {
.displays = &smdk2440_lcd_cfg,
.num_displays = 1,
.default_display = 0,
#if 0
/* currently setup by downloader */
.gpccon = 0xaa955699, //0xaa940659,
.gpccon_mask= 0xffc003cc, //0xffffffff,
.gpcup = 0x0000ffff,
.gpcup_mask = 0xffffffff,
.gpdcon = 0xaa95aaa1, //0xaa84aaa0,
.gpdcon_mask= 0xffc0fff0, //0xffffffff,
.gpdup = 0x0000faff,
.gpdup_mask = 0xffffffff,
#endif
.lpcsel = 0xf82, //((0xCE6) & ~7) | 1<<4,
};
……
static struct platform_device *smdk2440_devices[] __initdata = {
&s3c_device_lcd,
……
}
别忘记在 make menuconfig 中选中
Device Drivers->
Graphics support->
Support for frame buffer devices->
Enable firmware EDID、Enable Video Mode Handling Helpers和S3C2410 LCD framebuffer support
Console display driver support->
Framebuffer Console support
Bootup logo->
Standard 224-color Linux logo
另外,触摸屏就照MINI2440抄好了。
更多推荐
所有评论(0)