九鼎创展论坛中文版English
登录 | 立即注册 设为首页收藏本站 切换到宽版
查看: 4114|回复: 3
打印 上一主题 下一主题

如何修改4412的代码使其支持1920*1080?

[复制链接]
跳转到指定楼层
楼主
发表于 2015-7-18 11:48:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ocno 于 2015-7-19 11:03 编辑

如何修改4412的代码使其支持1920*1080?

貌似要修改
这个帖子中只是修改了部分代码,kernel中的,http://bbs.9tripod.com/forum.php ... ighlight=vga%2B4412
貌似要修改PLL2,不知道如何修改?
为什么4412支持1920*1080,为什么源码中不提供呢?
VESA_Monitor_Timing_Standard-Version_1.0__Revision_12p-2008.pdf (761.04 KB, 下载次数: 19)




回复

使用道具 举报

沙发
 楼主| 发表于 2015-7-19 10:51:19 | 只看该作者
本帖最后由 ocno 于 2015-7-19 10:57 编辑

在kernel/drivers/video/samsung/x4412_lcds.c中添加结构体vga_1920_1080
  1. /* VGA-1920X1080 */

  2. static struct s3cfb_lcd vga_1920_1080 = {

  3.         .width        = 1920,

  4.         .height        = 1080,

  5.         .bpp        = 32,

  6.         .freq        = 60,



  7.         .timing = {

  8.                 .h_fp        = 88,

  9.                 .h_bp        = 148,

  10.                 .h_sw        = 44,

  11.                 .v_fp        = 1,

  12.                 .v_fpe        = 1,

  13.                 .v_bp        = 36,

  14.                 .v_bpe        = 1,

  15.                 .v_sw        = 5,

  16.         },

  17.        

  18.         .polarity = {

  19.                 .rise_vclk      = 1,

  20.                 .inv_hsync      = 1,

  21.                 .inv_vsync      = 1,

  22.                 .inv_vden       = 0,

  23.         },

  24.        

  25.         .init_ldi = NULL,

  26. };
复制代码

在结构体数组x4412_lcd_config中添加1920x1080的信息:
  1. x4412_lcd_config[] = {

  2.         { "ek070tn93",                &ek070tn93},

  3.         { "vs070cxn",                &vs070cxn},

  4.         { "vga-1024x768",        &vga_1024_768},

  5.         { "vga-1440x900",        &vga_1440_900},

  6.         { "vga-1280x1024",        &vga_1280_1024},
  7.         { "vga-1920x1080",        &vga_1920_1080},

  8. };
复制代码

修改uboot下的uboot/board/samsung/x4412/x4412.c 文件x4412_framebuffer_init(void)函数添加:
  1.         else if(strstr(commandline, "lcd=vga-1920x1080"))
  2.         {
  3.                 /* M = 756MHZ */
  4.                 //x4412_set_mpll(252, 8, 0);
  5.                 //exynos4412_fix_fimd(756 * 1000 * 1000);

  6.                 /* M = 800MHZ */
  7.                 x4412_set_mpll(100, 3, 0);
  8.                 exynos4412_fix_fimd(800 * 1000 * 1000);
  9.         }
复制代码

修改uboot下的uboot/board/samsung/x4412/exynos4412-fb.c文件中的
  1. static struct exynos4412_fb_data_t vga_1920_1080 = {
  2.         .regbase                        = EXYNOS4412_LCD_BASE,

  3.         .width                                = 1920,
  4.         .height                                = 1080,
  5.         .bits_per_pixel                = 32,
  6.         .bytes_per_pixel        = 4,
  7.         .freq                                = 60,

  8.         .output                                = EXYNOS4412_FB_OUTPUT_RGB,
  9.         .rgb_mode                        = EXYNOS4412_FB_MODE_BGR_P,
  10.         .bpp_mode                        = EXYNOS4412_FB_BPP_MODE_32BPP,
  11.         .swap                                = EXYNOS4412_FB_SWAP_WORD,

  12.         .rgba = {
  13.                 .r_mask                        = 8,
  14.                 .r_field                = 0,
  15.                 .g_mask                        = 8,
  16.                 .g_field                = 8,
  17.                 .b_mask                        = 8,
  18.                 .b_field                = 16,
  19.                 .a_mask                        = 8,
  20.                 .a_field                = 24,
  21.         },

  22.         .timing = {
  23.                 .h_fp        = 88,
  24.                 .h_bp        = 148,
  25.                 .h_sw        = 44,
  26.                 .v_fp        = 4,
  27.                 .v_fpe        = 1,
  28.                 .v_bp        = 36,
  29.                 .v_bpe        = 1,
  30.                 .v_sw        = 5,
  31.         },

  32.         .polarity = {
  33.                 .rise_vclk      = 1,
  34.                 .inv_hsync      = 1,
  35.                 .inv_vsync      = 1,
  36.                 .inv_vden       = 0,
  37.         },

  38.         .vram_front                        = &vram[0][0],
  39.         .vram_back                        = &vram[1][0],

  40.         .init                                = lcd_init,
  41.         .backlight                        = lcd_backlight,
  42. };
复制代码


在void exynos4412_fb_initial(char * commandline)添加
  1.         else if(strstr(commandline, "lcd=vga-1920x1080"))
  2.                 dat = &vga_1920_1080;
复制代码

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-7-19 10:55:28 | 只看该作者
我的液晶不能支持,显示不全,如果能支持的,可以试试看。
回复 支持 反对

使用道具 举报

地板
发表于 2015-7-24 09:08:11 | 只看该作者
为什么液晶显示屏和7' LCD不能同时用?显示7 ‘ 就不能在外接液晶显示屏显示1080P的画面,外接液晶显示屏显示1080P,7’屏就显示不了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳市九鼎创展科技官方论坛 ( 粤ICP备11028681号-2  

GMT+8, 2024-11-23 10:48 , Processed in 0.020425 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表