Alex61RUS |
|
|
|
|
|
|
|
Пункты: 3161 |
Регистрация: 30.05.2014 |
Пол: Мужчина |
|
|
Добрый день всем!
Есть панель Mitsubishi AA192AA01 с нестандартным разрешением 1920 x 360 ( AA192AA01.pdf), которую я пытаюсь подключить к модулю SK-iMX6S-OEM по LVDS.
Физически панель уже подключена и даже отображает в нужном разрешении, но есть проблемы с изображениями, например с начальным логотипом пингвина, складывается впечатление, что отображаются не все цвета.
Вопрос в следующем: как правильно посчитать все параметры для файла ldb.c из buildroot-2015.08 на базе ядра 3.14.14? |
|
|
|
|
|
sasamy |
|
|
|
|
|
|
|
Пункты: 83542 |
Регистрация: 14.08.2009 |
|
|
|
Структура fb_videomode
http://lxr.free-electrons.com/source/include/linux/fb.h?v=3.14#L762
struct fb_videomode {
const char *name; /* optional */
u32 refresh; /* optional */
u32 xres;
u32 yres;
u32 pixclock;
u32 left_margin;
u32 right_margin;
u32 upper_margin;
u32 lower_margin;
u32 hsync_len;
u32 vsync_len;
u32 sync;
u32 vmode;
u32 flag;
};
что означают поля структуры
какие значения для вашей панели нужны описано в даташите
6. INTERFACE TIMING
если интерфейс 18 бит
5. INTERFACE PIN CONNECTION
PIN 19 MODE:
Low=ISP 6 bit compatibility mode
High=ISP 8 bit compatibility mode)
указать
video=mxcfb0:dev=ldb,Mitsubishi-AA192AA01, if=RGB666 |
|
|
|
|
|
Alex61RUS |
|
|
|
|
|
|
|
Пункты: 3161 |
Регистрация: 30.05.2014 |
Пол: Мужчина |
|
|
|
|
|
|
dmitryy |
|
|
|
|
|
|
|
Пункты: 351 |
Регистрация: 05.03.2016 |
|
|
|
Не могли бы вы более подробно описать как настроить тайминги для данной панели?
Не понятно, как из данных даташита вывести нужные параметры:
u32 left_margin;
u32 right_margin;
u32 upper_margin;
u32 lower_margin;
u32 hsync_len;
u32 vsync_len; |
|
|
|
|
|
sasamy |
|
|
|
|
|
|
|
Пункты: 83542 |
Регистрация: 14.08.2009 |
|
|
|
В даташите указаны Blanking Time потому что данные синхронизируются за счет сигнала Data Enable (DENA), соответственно вам надо просто поделить Blanking Time на 3 части. Если посмотрите на рисунок
http://www.starterkit.ru/html/index.php?name=forum&op=view&id=26998&last#26999
Horizontal Blanking Time = left_margin + right_margin + hsync_len
поделите например так
640 = 300 + 300 + 40
Vertical Blanking Time = upper_margin + lower_margin + vsync_len
30 = 14 + 14 + 2
Поделил я ту на глаз приблизительно в пропорциях как на экранах с Vsync и Hsync, думаю если просто на равные 3 части поделить то результат не изменится.
Еще обратите внимание что pixclock - это период в пикосекундах, т.е. из даташита
16.7 ns * 1000 = 16700 |
|
|
|
|
|
dmitryy |
|
|
|
|
|
|
|
Пункты: 351 |
Регистрация: 05.03.2016 |
|
|
|
|
|
|
|
|