FS2410 开发板linux-2.6.35内核 LCD 驱动移植

    技术2024-07-01  73

    FS2410 开发板linux-2.6.35内核 LCD 驱动移植

    在arch/arm/mach-smdk2410.c相应位置中添加如下蓝色行代码

    #include <mach/regs-lcd.h>   //added by Thomas.Yang 2011-01-30 #include <mach/fb.h> #include <mach/regs-gpio.h> #include <plat/pll.h> #include <plat/udc.h> #include <mach/gpio-fns.h> #include <mach/regs-clock.h> #include <asm/delay.h> /*LCD35 driver Added by Thomas.Yang (Yang Zhiping) 2011-01-30 ********************************************************************/ static struct s3c2410fb_display fb_thomas_display = {         .type = S3C2410_LCDCON1_TFT,    //LCD 类型         .width = 320,     //LCD 宽         .height = 240,   //LCD 高         .xres = 320,         .yres = 240,         .bpp = 16,   //LCD 色深,每个像素占多少位         .pixclock = 156000,   //像素时钟         .left_margin = 20,             .right_margin = 38,         .hsync_len = 30,       //水平同步         .upper_margin = 4,         .lower_margin = 15,         .vsync_len = 3,          //垂直同步         .lcdcon5 = S3C2410_LCD CON5_FRM565 |              S3C2410_LCD CON5_INVVLINE |              S3C2410_LCDCON5_INVVFRAME |              S3C2410_LCDCON5_PWREN |              S3C2410_LCDCON5_HWSWP,         };

    The frame buffer device uses the following fields:   - pixclock: pixel clock in ps (pico seconds)   - left_margin: time from sync to picture   - right_margin: time from picture to sync   - upper_margin: time from sync to picture   - lower_margin: time from picture to sync   - hsync_len: length of horizontal sync   - vsync_len: length of vertical sync

    static struct s3c2410fb_mach_info s3c2410fb_thomas_info __initdata={     .displays = &fb_thomas_display,     .num_displays = 1,     .default_display = 0,     .gpcup = 0xffffffff,     .gpcup_mask = 0xffffffff,     .gpccon = 0xaa9556a9,     .gpccon_mask = 0xffffffff,     .gpdup = 0xffffffff,     .gpdup_mask = 0xffffffff,     .gpdcon = 0xaaaaaaaa,     .gpdcon_mask = 0xffffffff,     .lpcsel =0x00,     }; /****************************************************************/ static void __init smdk2410_init(void) {        s3c_i2c0_set_platdata(NULL);     s3c24xx_fb_set_platdata(&s3c2410fb_thomas_info);   //LCD35 driver Added by Thomas.Yang (Yang Zhiping) 2011-01-30     platform_add_devices(smdk2410_devices, ARRAY_SIZE(smdk2410_devices));     smdk_machine_init(); }

    在内核编译配置选项中选择:

     Device Drivers  ---> Graphics support  --->

                  <*> Support for frame buffer devices  --->

                            <*> S3C2410 LCD framebuffer Support                                                                                 [*]   S3C2410 lcd debug messages    

                  [*] Backlight & LCD device support  --->

                           <*>  Samsung LTV350QV LCD Panel

                  [*] Bootup logo  --->

                             [*]   Standard 224-color Linux logo (NEW)

     

    make uImage -j4

     

    启动内核,LCD既可以显示linux kernel 小企鹅了。

     

    最新回复(0)