Код
static struct fb_videomode __initdata lcd_modes[] = {
{
.name = "LCD",
.refresh = 25,
.xres = 480, .yres = 272,
.pixclock = KHZ2PICOS(9072),
.left_margin = 2, .right_margin = 2,
.upper_margin = 2, .lower_margin = 2,
.hsync_len = 41, .vsync_len = 10,
.sync = 0,
.vmode = FB_VMODE_NONINTERLACED,
}
};
static struct fb_monspecs __initdata xmedia_default_monspecs = {
.manufacturer = "BWA",
.monitor = "SHARP LQ043",
.modedb = lcd_modes,
.modedb_len = ARRAY_SIZE(lcd_modes),
.hfmin = 19948,
.hfmax = 31478,
.vfmin = 25,
.vfmax = 67,
.dclkmax = 28330000,
};
static struct atmel_lcdfb_info __initdata xmedia_lcdc_data = {
.default_bpp = 24,
.default_dmacon = ATMEL_LCDC_DMAEN | ATMEL_LCDC_DMA2DEN,
.default_lcdcon2 = (ATMEL_LCDC_DISTYPE_TFT
| ATMEL_LCDC_CLKMOD_ALWAYSACTIVE
| ATMEL_LCDC_MEMOR_BIG),
.default_monspecs = &xmedia_default_monspecs,
.guard_time = 2,
};
{
.name = "LCD",
.refresh = 25,
.xres = 480, .yres = 272,
.pixclock = KHZ2PICOS(9072),
.left_margin = 2, .right_margin = 2,
.upper_margin = 2, .lower_margin = 2,
.hsync_len = 41, .vsync_len = 10,
.sync = 0,
.vmode = FB_VMODE_NONINTERLACED,
}
};
static struct fb_monspecs __initdata xmedia_default_monspecs = {
.manufacturer = "BWA",
.monitor = "SHARP LQ043",
.modedb = lcd_modes,
.modedb_len = ARRAY_SIZE(lcd_modes),
.hfmin = 19948,
.hfmax = 31478,
.vfmin = 25,
.vfmax = 67,
.dclkmax = 28330000,
};
static struct atmel_lcdfb_info __initdata xmedia_lcdc_data = {
.default_bpp = 24,
.default_dmacon = ATMEL_LCDC_DMAEN | ATMEL_LCDC_DMA2DEN,
.default_lcdcon2 = (ATMEL_LCDC_DISTYPE_TFT
| ATMEL_LCDC_CLKMOD_ALWAYSACTIVE
| ATMEL_LCDC_MEMOR_BIG),
.default_monspecs = &xmedia_default_monspecs,
.guard_time = 2,
};
Разумеется он не работает (бегут горизонтальные полосы). В связи с этим хочется понять назначение pixclock и как оно расчитывается? Зачем нужны margin (left, right, upper, lower), что такое FB_VMODE_NONINTERLACED ? Ну и насчет dclkmax, hfmax, hfmin, vfmax, vfmin.
Буду весьма благодарен тому, кто просветит по данным вопросам.
PS. Сама панель рабочая, с другим видеоконтроллером работает нормально.