Это ничего не даст кроме проверки драйвера gpio который очевидно и так работает - речь идет о режиме работы интерфейса lcd. В режиме master контроллер подключается к приоритетной шине axi и автоматом перекидывает буфер из ram но до этого нужно еще проинициализировать контроллер lcd на плаге чтобы эти данные он воспринимал, для этого есть режим pio - обычная запись передаваемых данных в регистр котрые должны передаваться по шине с автоматоматическим формированием всех сопутствующих сигналов но это не происходит, пока не понятно чего не хватает.
Затыка в том что все драйверы в ядре расчитаны на работу tft панелей без контроллера так называемым dotclock, есть какой-то кусок кода якобы для инициализации системного интерфейса (это тот который у нас - m68/i80) в мануале но это не работает - ничего на шине не формируется и там полная тишина.
как минимум это даст проверку физики соединения и исправности цепей.. один неподключенный пин - и можно танцевать бесконечно - фурычить не будет..
на мнуке950 схожий контроллер - TFT/MCU, но у меня нет под рукой стекла с контроллером, чтобы изобразить ваши условия. Поэтому, я тольке теоретизирую :)
Хм.. поищу (по возможности) доку на iMX.. всякое бывает :)
врядли там сильно наверчено - как правило, чтобы запустить узел - надо разрешить его работу, разрешить ему входящий клок, ну и какой-нить бит для старта дернуть - видимо чего-то не хватает..
Вобщем, прислали из техсаппорта драйвера от пары смарт панелей, которые имеют подобный интерфейс.
Готов драйвер, в пике пропускной способности (24МГц) 61FPS на WF43BTIBED0 плагах выдаст (столько явно не нужно, поставил 25fps)!!!
Мне стало интересно, насколько LCDIF мастер на шине будет систему тормозить, засек время исполнения memtester (на один мегабайт) с FB и без него - можно сказать, никак не влияет!!!
Я так понял, мапится часть ОЗУ процессора и используя LCDIF механизм постоянно отправляется в панель?
Да, а что там с телеком? Будет ли возможность работать и с тем и с тем? Есть мысль сделать игровую приставку для дочки.
Да, причем там хитро сделано - контроллер по шине сразу хватает блок памяти из 16 слов и есть аппаратные буферы fifo.
Телик работает, только качество картинки оставляет желать лучшего, для игры думаю подойдет а вот в качестве монитора для работы я бы не рискнул использовать - напрягает зрение. Одновременно работать не будет - контроллер lcdif там один на всех а по отдельности будет и выбор панели осуществляется на этапе загрузки ядра, как сменить на лету я пока не знаю и вообще возможно ли такое.
Меня тут спросили про возможные варианты реализации с двумя TFT панелями ...
Подумал, получается, к iMX233 можно несколько панелей с системным интерфейсом повесить, только с CS придется "шаманить" - сделать их все через GPIO.
Сейчас логика такая, указываем адрес выдаваемого буфера экрана, настраиваем прерывание по окончании передачи буфера, а потом просто в прерывании даем панельке команду обнуления х и у.
В случае с несколькими панеляим, в простейшем случае, в обработчике прерываний добавить логику переключения CS и сменить указатель на другой фреймбуфер ...
А FPS просто поделятся на количество панелей, можно прикинуть:
24 000 000/(X*Y*N)=FPS одной панели (где N - количество байт на пиксель, для WF43...= 3), которое и делим на количество панелей (напрмер 100 :) ).