Смотрите исходники - драйверы для Linux готовые, мне например не было необходимости опускаться до регистров - там их много :)
drivers/video/mxc/mxc_ipuv3_fb.c
ну и в том же файле непосредственно ф-ция записи в регистры
static void _ipu_di_sync_config(int di, int wave_gen,
int run_count, int run_src,
int offset_count, int offset_src,
int repeat_count, int cnt_clr_src,
int cnt_polarity_gen_en,
int cnt_polarity_clr_src,
int cnt_polarity_trigger_src,
int cnt_up, int cnt_down)
{
регистры - IPU_DI0_SW_GEN0, IPU_DI0_SW_GEN1, IPU_DI0_STP_REP и аналогичные для DI1
к киту подключены 2 дисплея:
- по lvds 1280x800-18bpp
- по RGB 480x272-16bpp
строка загрузки
прописал режимы в /etc/fb.modes
при загрузке активен первый дисплей. могу командой fbset "480x272-60" переключить вывод на маленький. раньше (пока чего-то не накрутил) мог и обратно вернуть изображение на "большой" экран..
похоже - это режим SPLIT
подрежимы DUAL и SEPARATE по прежнему не включить, или наглухо виснет или ничего любопытного не происходит..
полагаю, что надо как-то проинтить "второй" фреймбуфер через файл борды..
переключение видеорежима:
к сожалению мне не на чем проверять как это все работает - нет пока дисплея с lvds. Зависание ядра с режимами DUAL и SEPARATE - это видел, надо там разбираться с модулем ldb - там где-то баг, не помню, помоему даже находил как это исправить.
о, пасиб, Саша..
я вчера ближе к ночи нашел схожий документ, прочитал оттуда много полезного (понял какой я осел), сегодня (по возможности ) попробую перепрописать и "поэхать"..
при нынешнем обилие ноутов тебе обязательно попадется тушка на донорский экран, скорее всего с lvds..
как-то пока "не очень" - теперь нормально переключаю экраны через fbset, а через echo что-то "мыргает" и не работает, как задумано в даташите.. позже поковыряю..
год прошел - встряхну ка тему :)
подключенный на короткий шлейф 7" mtf-t070acslp, почти под 100 циклов включение/выключение НИ РАЗУ развертка не слетела, всегда показывает ожидаемое разрешение..
кстати, с таймингами не все правильно - вывод контрольной картинки показал недовывод самого правого столбика пикселей, слева сверху и снизу нормально..
два варианта - укороченный шлейф или кривое декабрьское ядро..
беглый просмотр 5000 страничного даташита и не смог найти блок регистров для коррекции.. в отличии от дотошного Атымеля или аскетичного Нувотона фрийскейловцы подошли очень сумбурно к доке..
Подключали плату для работы в устройстве. Делали плату согласования со своими интерфейсами. Для подключения дисплея поставили трансляторы уровней. Все ок по железу.
С заводкой была пара проблем.
На виртуальной машине на ФТП в конфиге ядра по умолчанию стояла галка об использовании строки инициализаци из конфига ядра.
В остальном как написал Юрий выше - проблем особо не было.
Еще бы калькулятор какой-нить накопать, чтобы тайминги считал...
:)