Здравствуйте помогите пожалуйста разобраться как включить VGA. Уже голову сломал :)
Сделал следующее:
в файле mx53_loco.c в массив mx53_loco_pads добавил такие записи
/* VGA */
MX53_PAD_EIM_OE__IPU_DI1_PIN7,
MX53_PAD_EIM_RW__IPU_DI1_PIN8,
дальше в структуру fb_videomode
добавил такие записи
static struct fb_videomode video_modes[] = {
......
{ "VGA-SXGA", 60, 1280, 1024, 9259,
48, 248,
1, 38,
112, 3,
FB_SYNC_HOR_HIGH_ACT|FB_SYNC_VERT_HIGH_ACT,
FB_VMODE_NONINTERLACED,
0,},
{"VGA-XGA", 60, 1024, 768, 15385,
220, 40,
21, 7,
60, 10,
FB_SYNC_EXT,
FB_VMODE_NONINTERLACED,
0,},
}
затем сюда в массив fb_data
static struct mxc_fb_platform_data fb_data[] = {
{
.interface_pix_fmt = IPU_PIX_FMT_RGB24,
.mode_str = "VGA-XGA",
.mode = video_modes,
.num_modes = ARRAY_SIZE(video_modes),
},
{
.interface_pix_fmt = IPU_PIX_FMT_RGB24,
.mode_str = "VGA-XGA",
.mode = video_modes,
.num_modes = ARRAY_SIZE(video_modes),
},
};
и подправил эту функцию
extern int primary_di;
static int __init mxc_init_fb(void)
{
//primary_di = 0;
primary_di = 1;
if (primary_di) {
printk(KERN_INFO "--------------------> DI1 is primary\n");
/* DI1 -> DP-BG channel: */
mxc_fb_devices[1].num_resources = ARRAY_SIZE(mxcfb_resources);
mxc_fb_devices[1].resource = mxcfb_resources;
mxc_register_device(&mxc_fb_devices[1], &fb_data[1]);
/* DI0 -> DC channel: */
mxc_register_device(&mxc_fb_devices[0], &fb_data[0]);
} else {
printk(KERN_INFO "DI0 is primary\n");
/* DI0 -> DP-BG channel: */
mxc_fb_devices[0].num_resources = ARRAY_SIZE(mxcfb_resources);
mxc_fb_devices[0].resource = mxcfb_resources;
mxc_register_device(&mxc_fb_devices[0], &fb_data[0]);
/* DI1 -> DC channel: */
mxc_register_device(&mxc_fb_devices[1], &fb_data[1]);
}
/*
* DI0/1 DP-FG channel:
*/
mxc_register_device(&mxc_fb_devices[2], NULL);
return 0;
}
в итоге монитор Samsung SyncMaster740n с разрешением 1280х1024 включается и на экране пустота.
Командная строка для ядра
noinitrd console=ttymxc0,115200 ubi.mtd=1 root=ubi0:nandfs rw rootfstype=ubifs video=mxcdi1fb:GBR24,VGA-XGA di1_primary vga
с командной строкой
noinitrd console=ttymxc0,115200 ubi.mtd=1 root=ubi0:nandfs rw rootfstype=ubifs video=mxcdi1fb:GBR24,VGA-SXGA di1_primary vga
экран выдаёт что режим у него не оптимален.
Что я сделал не так буду рад любой помощи.
Спасибо. |