поковырял VGA выход кита.. в качестве монитора использован автомобильный экран с тачем (Xenarc) с нативным разрешением 800х480 и входами vga и composit.. электроника экрана "себе на уме" с т.з. интерпретации входного сигнала.. впрочем результат положительный - режим VGA вполне жизнеспособен..
основные танцы с бубнами возникли вокруг tve.c
результат загрузки со строкой ядра:
это 800х600 в видение экраном.. 800х480 не пошел, впрочем и на ББ получить такое разрешение оказалось чрезвычайно сложно..
вид на монтаж.. в качестве переходника использован выкидыш с ЭЛТ монитора + согласующие 75 Ом резисторы
никаких других согласований не делал, хотя в мане есть рекомендации по LevelUp сигналов развертки..
У меня плата другая, SK-iMX53-OEM, но думаю, что разницы нет. Разбираюсь с vga.
В исходниках ядра (что с платой пришло) сделал следующие изменения:
В mx53_loco.c в массив пинов добавил те, что отвечают за VSync и HSync, а именно
MX53_PAD_EIM_OE__IPU_DI1_PIN7,
MX53_PAD_EIM_RW__IPU_DI1_PIN8
Скомпилировал ядро, загрузился со следующей строкой:
Осциллограф показал, что HS и VS есть. Подключил дисплей, (надеялся увидеть хотя бы пингвина на загрузке, иксы пока не стоят), но монитор мне ответил INPUT NOT SUPPORTED. Сам монитор и кабель проверял отдельно. Согласующие резисторы стоят, Levelup сигналов развёртки не делал. У монитора разрешение 1024х768, а это вроде режим VGA-XGA. На других мониторах попробовать не удаётся пока. В tve.c особенно не копался. Пробовал версию отсюда, там вроде больше режимов поддерживается: https://community.freescale.com/thread/282107
Но что-то никак..
P.S. Jury093, подскажите, пожалуйста какие изменения делались в tve.c? И немного не в тему, что вы называете "файлом борды"? mx53_loco.c ?
Спасибо!
частоты синхры измерили? а на RGB смотрели? может все-таки не хватает амплитуды на синхре..
в архиве файлы из ядра, где запускал VGA (там еще всякого мусора прилично), думаю, что подсмотреть можно - чего не хватает.. imx-tve.tar.gz
номер: 6408832, размер: 302 Кб, размещён: 2013-03-03 01:47 http://webfile.ru/6408832
кстати, в ядре включите поддержку консоли, иначе пингвина не дождетесь..
Хм...неожиданно, видимо амплитуды действительно не хватало. Поднял до 5в и монитор начал переключается постоянно, то есть ошибка, то нет. Видимо синхронизация слетает? режим не тот? А на экране темно. На RGB ничего нет. Сравнил ваш и свой mx53_loco.c, я так понимаю, что инитятся только Hs и Vs, про RGB ничего нет, видимо они всегда аналоговые.
Частоты следующие: Vs~31Гц, Hs~33кГц (ориентировочно, осцилл аналоговый)
Спасибо за материалы! Основные файлы сравнил. Вижу, кстати, ещё какие-то непонятные с припиской в имени "mod" и странным содержимым.
Вот! Про это не знал. Я пока новичок в linux, не знаю точно где это, но перекопал конфиги обнаружил кое-что интересное:
Device drivers - Graphic support - Console display driver support:
-VGA text console
-Map the console to the primary display device
Вот эту парочку очень хочется включить. Это оно самое? Что я упустил окромя?
как-то маловато, кадровая д.б. 50-60Гц, ну а строчная для 1024х768, имхо 48кГц и более
возможно они генерятся при компиляции драйвера модулем, фигня, можно на них не смотреть..
как нет!? без активности всех сигналов (R,G,B,H,V) на экране будет шиш, полагаю, что включение консоли исправит ситуацию..
кста, резисторы точно 75 Ом, может, например 7.5 Ом а это равносильно КЗ..
С резисторами, кабелем и монитором всё в порядке. Предварительно всё попробовал подключить к fpga, кое-как написанный vga-контроллер выдал изображение, всё ок.
Целиком скопировал ваш конфиг и файл борды. Теперь Hs и Vs в порядке. Монитор не мерцает, нормально включается...но темнота. Напрямую с платы без разъёма смотрю RGB осциллом, а там тишина. Такое чувство, что эти пины не сконфигурированы или показывать нечего...
уфф.. иногда возникает настойчивое желание шваркнуть о стенку монитор или плату кита.. ну фрискейловцы и навернули сорцы (черт ногу сломит)..
собрал ингредиенты в кучу, состегнул, прицепил осцил, гружу - шыш, синхра есть, RGB нет..
че только не делал, молчит и бастра.. ну не приснилось же мне..
как запилил - не спрашивайте, сам не знаю..
вот архив, внутри бинарное ядро. конфиг, ветка video и файл борды..
останавливаете юбут, меняете параметры загрузки:
где sda4 меняете на вашу рутовую
грузите и запускаете ядро, после загрузки "волшебный" пинок
Тем не менее, Jury093, благодарю за ваш труд! С вашим ядром всё заработало, пингвиныч явился народу. Как подсказал гугл, суть "волшебного" пинка - вывести фрэймбуфер из спящего состояния. Буду разбираться почему так получилось.
Кстати, LevelUp синхры оказался действительно не нужен.