Android(基于imx53开发板)修改内核支持HDMI显示

Android(基于imx53开发板)修改内核支持HDMI显示

这里需求是要求自HDMI屏幕上显示1920*1080P60分辨率的效果。

 

具体做法如下:

1、在目录/kernel_imx/arch/arm/mach-mx5下,修改文件mx53_smd.c:

在函数static int __init mxc_init_fb(void){}中,在di1_primary的条件中,即

1
2
3
4
5
6
7
8
9
10
if  (primary_id) {
     printk(KERN_INFO  "DI1 is primary\n" );
       
     ......
       
     /* DI0 -> DC channel: */
--    mxc_register_device(&mxc_fb_devices[ 0 ], &fb_data[ 0 ]);
   else  {
     printk(KERN_INFO  "DI0 is primary\n" );
   }

将上面代码中的

1
mxc_register_device(&mxc_fb_devices[ 0 ], &fb_data[ 0 ]);

修改为

1
mxc_register_device(&mxc_fb_devices[ 0 ], &fb_data[ 3 ]);

 

2、在目录/bootable/bootloader/uboot-imx/include/configs下修改文件mx53_smd_android.h文件如下:

修改#define CONFIG_EXTRA_ENV_SETTINGS下的内容,将

1
2
3
"bootargs=console=ttymxc0 init=/init "  \
    "androidboot.console=ttymxc0 video=mxcdi1fb:RGB666,XGA "  \
    "ldb=di1 di1_primary gpu_nommu gpu_memory=64M\0"  \

修改为

1
"bootargs=console=ttymxc0 init=/init androidboot.console=ttymxc0  video=mxcdi0fb:RGB24,1920x1080P60 ldb=off di0_primary\0" \

 

3、在目录/device/fsl/imx5x目录下修改文件init.rc如下:

1
2
3
4
5
6
7
8
# Define UI to TVOUT,change  this  setting to  1  and uncomment below write commands
     setprop ro.UI_TVOUT_DISPLAY  0
     #write /sys/ class /graphics/fb0/blank  1
     #write /sys/ class /graphics/fb1/blank  1
     #write /sys/ class /graphics/fb2/blank  1
     #write /sys/ class /graphics/fb0/fsl_disp_property  1 -layer-fb
     #write /sys/ class /graphics/fb1/mode U:720x480i- 60 \n
     #write /sys/ class /graphics/fb1/blank  0

之后添加如下语句:

1
2
3
#VELO HDMI
     setprop rw.SECOND_DISPLAY_CONNECTED  1
     write /proc/hdmi  1


重新编译内核,即可成功实现HDMI分辨率1920*1080P60的显示效果。

你可能感兴趣的:(imx53工业平板)