S3C2410之LCD移植

来源:互联网 发布:第一课数据库报告 编辑:程序博客网 时间:2024/05/22 02:01
1 修改./arch/arm/mach-s3c2410/mach-smdk2410.c
增加:

/* LCD driver info */

static struct s3c2410fb_display s3c2410_lcd_cfg[] __initdata = {
    {
        /* Configuration for 640x480 SHARP LQ080V3DG01 */
        .lcdcon5 = S3C2410_LCDCON5_FRM565 |
               S3C2410_LCDCON5_INVVLINE |
               S3C2410_LCDCON5_INVVFRAME |
               S3C2410_LCDCON5_PWREN |
               S3C2410_LCDCON5_HWSWP,

        .type        = S3C2410_LCDCON1_TFT,
        .width        = 640,
        .height        = 480,

        .pixclock    = 40000, /* HCLK/4 */
        .xres        = 640,
        .yres        = 480,
        .bpp        = 16,
        .left_margin    = 44,
        .right_margin    = 116,
        .hsync_len    = 96,
        .upper_margin    = 19,
        .lower_margin    = 11,
        .vsync_len    = 15,
    },
    {
        /* Configuration for 480x640 toppoly TD028TTEC1 */
        .lcdcon5 = S3C2410_LCDCON5_FRM565 |
               S3C2410_LCDCON5_INVVLINE |
               S3C2410_LCDCON5_INVVFRAME |
               S3C2410_LCDCON5_PWREN |
               S3C2410_LCDCON5_HWSWP,

        .type        = S3C2410_LCDCON1_TFT,
        .width        = 480,
        .height        = 640,
        .pixclock    = 40000, /* HCLK/4 */
        .xres        = 480,
        .yres        = 640,
        .bpp        = 16,
        .left_margin    = 8,
        .right_margin    = 24,
        .hsync_len    = 8,
        .upper_margin    = 2,
        .lower_margin    = 4,
        .vsync_len    = 2,
    },
    {
        /* Config for 240x320 LCD */
        .lcdcon5 = S3C2410_LCDCON5_FRM565 |
               S3C2410_LCDCON5_INVVLINE |
               S3C2410_LCDCON5_INVVFRAME |
               S3C2410_LCDCON5_PWREN |
               S3C2410_LCDCON5_HWSWP,

        .type        = S3C2410_LCDCON1_TFT,
        .width        = 240,
        .height    = 320,
        .pixclock    = 174757, /* HCLK/10 */
        .xres        = 240,
        .yres        = 320,
        .bpp        = 16,
        .left_margin    = 1,
        .right_margin    = 1,
        .hsync_len    = 1,
        .upper_margin    = 1,
        .lower_margin    = 1,
        .vsync_len    = 1,
    },
};


static struct s3c2410fb_mach_info s3c2410_fb_info __initdata = {
    .displays         = s3c2410_lcd_cfg,
    .num_displays     = ARRAY_SIZE(s3c2410_lcd_cfg),
    .default_display     = 2,

    .gpcup            = 0xffffffff,
    .gpcup_mask        = 0xffffffff,
    .gpccon        = 0xaaaaaaaa,
    .gpccon_mask        = 0xffffffff,
    .gpdup            = 0xffffffff,
    .gpdup_mask        = 0xffffffff,
    .gpdcon        = 0xaaaaaaaa,
    .gpdcon_mask        = 0xaaaaaaaa,

    .lpcsel        = ((0xCE6) & ~7) | 1<<4,
};

修改static void __init smdk2410_init(void):
s3c24xx_fb_set_platdata(&s3c2410_fb_info);
原创粉丝点击