I'm confused where goes error.My LCD configuration data:/*
* LCD Controller
*/
#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
static struct fb_videomode at91_tft_vga_modes[] = {
{
.name = "AT070TN92",
.refresh = 60,
.xres = 800, .yres = 480,
.pixclock = KHZ2PICOS(33300),
.left_margin = 210, .right_margin = 45,
.upper_margin = 22, .lower_margin = 22,
.hsync_len = 1, .vsync_len =1, .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, .vmode = FB_VMODE_NONINTERLACED,
},
};
static struct fb_monspecs at91fb_default_monspecs = {
.manufacturer = "INNOLUX",
.monitor = "AT070TN92",
.modedb = at91_tft_vga_modes,
.modedb_len = ARRAY_SIZE(at91_tft_vga_modes),
.hfmin = 31534,//hfmin = DCLK_frequency Type / (left_margin + .xres + right_margin + hsync_len)=
.hfmax = 44318,//hfmax =DCLK_frequency max / (left_margin + .xres + right_margin + hsync_len) =
.vfmin = 60,//vfmin = hfmin/ (upper_margin + .yres + lower_margin + vsync_len);
.vfmax = 84,//vfmax = hfmax/ (upper_margin + .yres + lower_margin + vsync_len);};
/* Default output mode is TFT 24 bit */
#define AT91SAM9X5_DEFAULT_LCDCFG5 (LCDC_LCDCFG5_MODE_OUTPUT_24BPP)
/* Driver datas */
static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
.lcdcon_is_backlight = true,
.alpha_enabled = false,
.default_bpp = 16,
/* In 9x5 default_lcdcon2 is used for LCDCFG5 */
.default_lcdcon2 = AT91SAM9X5_DEFAULT_LCDCFG5,
.default_monspecs = &at91fb_default_monspecs,
.guard_time = 9,
.lcd_wiring_mode = ATMEL_LCDC_WIRING_RGB,
};
Schematics :(1)LCD signal:
(2) PWM backlight control:
The LCD Timing Charateristics:(1)Timing data
(2)Timing Sequence