реклама на сайте
подробности

 
 
> Настройка LCD контроллера в AT91SAM9263, Непонятно.
АДИКМ
сообщение Oct 19 2009, 11:00
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 2-08-05
Пользователь №: 7 294



Дисплей LQ043T3DX02 (Sony PSP) подключен к SAM9263. Нашел инициализацию (Линукс) для AVR32, в котором контроллер LCD вроде тот же самый -
Код
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,
};


Разумеется он не работает (бегут горизонтальные полосы). В связи с этим хочется понять назначение pixclock и как оно расчитывается? Зачем нужны margin (left, right, upper, lower), что такое FB_VMODE_NONINTERLACED ? Ну и насчет dclkmax, hfmax, hfmin, vfmax, vfmin.

Буду весьма благодарен тому, кто просветит по данным вопросам.

PS. Сама панель рабочая, с другим видеоконтроллером работает нормально.
Причина редактирования: Оформление исходников


--------------------
летаю на пепелаце...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Леший
сообщение Oct 28 2009, 20:19
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 34
Регистрация: 7-07-04
Из: Москва
Пользователь №: 283



Вот мой реально работающий код инициализации LCD:

Код
diff -ruN linux-2.6.30.5M-clean/arch/arm/mach-at91/board-sam9263ek.c linux-2.6.30.5M/arch/arm/mach-at91/board-sam9263ek.c
--- linux-2.6.30.5M-clean/arch/arm/mach-at91/board-sam9263ek.c
+++ linux-2.6.30.5M/arch/arm/mach-at91/board-sam9263ek.c    
@@ -258,44 +259,46 @@


#if defined(CONFIG_FB_ATMEL) || defined(CONFIG_FB_ATMEL_MODULE)
static struct fb_videomode at91_tft_vga_modes[] = {
    {
-        .name        = "TX09D50VM1CCA @ 60",
+        .name        = "LQ043T1DG01 @ 60",
        .refresh    = 60,
-        .xres        = 240,        .yres        = 320,
-        .pixclock    = KHZ2PICOS(4965),
+        .xres        = 480,        .yres        = 272,
+        .pixclock    = KHZ2PICOS(9009), //(480+41+2+2)*(272+10+2+2)*60 = 9009000

-        .left_margin    = 1,        .right_margin    = 33,
-        .upper_margin    = 1,        .lower_margin    = 0,
-        .hsync_len    = 5,        .vsync_len    = 1,
+        .left_margin    = 2,        .right_margin    = 2,
+        .upper_margin    = 12,        .lower_margin    = 2,
+        .hsync_len    = 41,        .vsync_len    = 10,

-        .sync        = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
+        /*.sync        = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,*/
        .vmode        = FB_VMODE_NONINTERLACED,
    },
};

static struct fb_monspecs at91fb_default_monspecs = {
-    .manufacturer    = "HIT",
-    .monitor    = "TX09D70VM1CCA",
+    .manufacturer    = "SHA",
+    .monitor    = "LQ043T1DG01",

    .modedb        = at91_tft_vga_modes,
    .modedb_len    = ARRAY_SIZE(at91_tft_vga_modes),
-    .hfmin        = 15000,
-    .hfmax        = 64000,
+    .hfmin        = 64000,
+    .hfmax        = 80000,
    .vfmin        = 50,
-    .vfmax        = 150,
+    .vfmax        = 200,
};
-
+
#define AT91SAM9263_DEFAULT_LCDCON2     (ATMEL_LCDC_MEMOR_LITTLE \
                    | ATMEL_LCDC_DISTYPE_TFT \
                    | ATMEL_LCDC_CLKMOD_ALWAYSACTIVE)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- АДИКМ   Настройка LCD контроллера в AT91SAM9263   Oct 19 2009, 11:00
- - Alexandro   У Atmel есть дока по подключению http://www.atmel....   Oct 19 2009, 11:19
- - aaarrr   Margin - это, как я понимаю, все-таки front- и bac...   Oct 19 2009, 11:49
|- - АДИКМ   Цитата(aaarrr @ Oct 19 2009, 15:49) Margi...   Oct 19 2009, 12:32
- - at90   Немного OFF. А никто не знает название матрицы от ...   Oct 19 2009, 12:13
- - at90   Спасибо за инфу. У вас нету даташита на эту матриц...   Oct 19 2009, 16:40
- - at90   вот случайно нашел на одном из форумов буржуйских....   Oct 20 2009, 06:33
|- - АДИКМ   Цитата(at90 @ Oct 20 2009, 10:33) ... С...   Oct 20 2009, 07:05
- - at90   LS0DZC0031 вроде с виду такая как и LQ043. А меня...   Oct 20 2009, 07:09
|- - АДИКМ   Цитата(at90 @ Oct 20 2009, 11:09) LS0DZC0...   Oct 20 2009, 08:14
- - at90   Да его ищу... Вы пробовали его запускать?   Oct 20 2009, 11:21
|- - АДИКМ   Цитата(at90 @ Oct 20 2009, 15:21) Да его ...   Oct 20 2009, 11:51
- - Jury093   Судя по всему, речь идет о драйвере фреймбуфера. Я...   Oct 20 2009, 19:43


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 5th August 2025 - 18:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01384 секунд с 7
ELECTRONIX ©2004-2016