linux (android) video显示分辨率的初始化设置及解析过程
1. uboot:video=mxcfb0:dev=hdmi,1920x1080M@60
·
1. uboot:
video=mxcfb0:dev=hdmi,1920x1080M@60 设置到bootargs中
2. kernel:
2.1
kernkel/fs/proc/proc_misc.c中: proc_misc_init() -> cmdline_read_proc() 读出/proc/cmdline的值
2.2
drivers/video/fbmem.c
__setup("video=", video_setup);
static int __init video_setup(char *options) //把video的参数保存到options中
2.3
drivers/video/mxc/mxc_ipuv3_fb.c
static int mxcfb_option_setup(struct platform_device *pdev, struct fb_info *fbi) 解析字符串“ideo=mxcfb0:dev=hdmi,1920x1080M@60 ”把1920x1080M保存到pdata->mode_str如果在uboot中没用设置到vidoe=参数arch/arm/mach-mx6/board-mx6_xxx.c中有默认设置static struct ipuv3_fb_platform_data board_fb_data[] = {{ /*fb0*/ .disp_dev = "hdmi", .interface_pix_fmt = IPU_PIX_FMT_RGB24, .mode_str = "1920x1080M@60", .default_bpp = 32, .int_clk = false, .late_init = false, }}static void __init fixup_mxc_board(struct machine_desc *desc, struct tag *tags, char **cmdline, struct meminfo *mi) { char *str; struct tag *t; int i = 0; struct ipuv3_fb_platform_data *pdata_fb = board_fb_data;}
更多推荐
已为社区贡献1条内容
所有评论(0)