И это всё МОЁ

Столкнулся со следующей задачей.
Дано:



  1. монитор NL10276BC13-01C

  2. Одноплатный компьютер МВ7707 (ОС Linux).


Одномодульный компьютер имеет строго заданные значения разрешения. К сожалению, ни одно разрешение в МВ7707 не подходит для монитора NL10276BC13-01C (1024х768). Есть возможность изменять разрешения в МВ7707, путем изменения таймингов разрешения в исходном коде драйвера [GitHub] (https://github.com/RC-MODULE/linux-3.10.x/blob/k1879-3.10.28/drivers/video/module_vdu_core.c#L138) . Но есть одно большое НО:



  1. Pixeclock может принимать только два значения 74250000 или 27000000.

  2. Максимальное значение принимаемых Pixeclock по горизонтали - 1344, по вертикали - от 780 до 806.


На основе двух вышеизложенных разрешений, необходимо сгенерировать тайминги для разрешения 1024х768 (на счет fps ничего не могу сказать), в формате


[MVDU_MODE_HD_720_P_60] = {
.width = 1280,
.height = 720,
.vmode = MVDU_MODE_PROGRESSIVE,
.pixclock = 74250000,
.mode = 0x16,
.h_blank = 362,
.h_active = 1280,
.h_total = 1650,
.hs_start = 110,
.hs_len = 40,
.hs_delay = 220,
.v_blank_beg = 25,
.v_active = 720,
.v_total = 750,
.v_blank_end = 5,
.vs_start = 0,
.vs_len = 5,
.vs_p = 1,
}









 , ,