Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-iMX53
[iMX535] - lcd
Jury093
Добавлено 07.01.2013 20:44 Редактировалось 07.01.2013 20:46
0
Сообщение: 1
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
частично разобрался с режимом "два экрана".
как я понял, драйвер поддерживает:
- single - работа одного выбранного канала
- dual - на два экрана гонится одно и тоже
- split - экраны логически объединяются
- separate - два независимых экрана
с первым режимом все нормально - работает
2 и 3 вешают ядро наглухо еще на этапе "starting kernel"
вот с separate более-менее удалось разобраться
в качестве экранов использованы:
1280x800-lvds
480x272-rgb
все упражнения делались (как и в случае с vga) с ядром с местного фтп..
правка свелась к добавлению видеорежимов, убирания программных заглушек и добавления дебаговых printk
ну и после загрузки со строкой
Код
root@imx535:~# cat /proc/cmdline
console=ttymxc0,115200 rw rootwait di1_primary ldb=separate,ch0_map=SPWG,ch1_map=SPWG video=mxcdi0fb:RGB888,SK-480x272 video=mxcdi1fb:RGB666,SK-1280x800-LVDS root=/dev/sda2
root@imx535:~# fbset
mode "1280x800-48"
# D: 64.998 MHz, H: 40.624 kHz, V: 48.477 Hz
geometry 1280 800 1280 2400 16
timings 15385 220 40 21 7 60 10
rgba 5/11,6/5,5/0,0/0
endmode
root@imx535:~# fbset -fb /dev/fb1
mode "480x272-37"
# D: 6.667 MHz, H: 11.111 kHz, V: 36.792 Hz
geometry 480 272 480 816 16
timings 150000 40 60 10 10 20 10
rgba 5/11,6/5,5/0,0/0
endmode

я получил нужную раскладку экранов, на которые можно выводить независимо информацию. два разных видеофайла легко!

вид на большой экран:
title
вид на маленький экран:
title

осталось разобраться - как включать fb1 на этапе загрузки.. сейчас делаю так:
Код
echo 0 > /sys/class/graphics/fb1/blank

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 08.01.2013 20:57 Сообщение: 2
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
чуть "не в тему" - уж поперло, так поперло - пристегнул usb вебкамеру, в ядре уже все было включено - ничего не трогал и давай выводить в разные фреймбуферы - хошь в отдельный экран (480х272), хошь в основной экран, хошь в оверлей прямо в Иксах! все фурычит и показывает..
из нерешенного:
- понять, как ловчее включить fb1 - из ядра или скрипта загрузки
- разборка с прозрачностью, пока непонятно как выключить..
на фотке вебкамера "смотрит" на плату и транслирует видео на /dev/fb2

title

строка запуска
Код
root@imx535:~# mplayer -fps 15 -tv driver=v4l2:device=/dev/video0 tv:// -v -vo fbdev:/dev/fb2

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 09.01.2013 00:45 Редактировалось 09.01.2013 02:30 Сообщение: 3
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Цитата
частично разобрался с режимом "два экрана".
как я понял, драйвер поддерживает:
- single - работа одного выбранного канала
- dual - на два экрана гонится одно и тоже
- split - экраны логически объединяются
- separate - два независимых экрана
с первым режимом все нормально - работает
2 и 3 вешают ядро наглухо еще на этапе "starting kernel"
вот с separate более-менее удалось разобраться
в качестве экранов использованы:
1280x800-lvds
480x272-rgb


это актуально только если оба экрана на LVDS (LDB - LVDS Display Bridge)

Цитата

ldb=separate


к тому же для 2 и 3 наверняка требуются одинаковые режимы (экраны), там по-моему надо так

console=ttymxc0,115200 rw rootwait di1_primary ldb=dual,di=0,ch1_map=SPWG,ch0_map=SPWG video=mxcdi1fb:RGB666,SK-1280x800-LVDS root=/dev/sda2

еще посмотреть рефмане - в каких комбинациях могут работать интефейсы и можно ли тут второй не LVDS задать в этих режимах LDB (split, dual) и если можно то какой из них - TVE или параллельный.

Цитата

- разборка с прозрачностью, пока непонятно как выключить..


с mplayer - никак или патчить (в принципе несложно), у freescale свои собственные ioctl есть для управления прозрачностью фреймбуферов
https://community.freescale.com/message/269034#269034

fb2 - это оверлей для fb0 (активного интерфейса, который задается через d0(1)_primary в параметрах загрузки или потом переключается через echo)
для gstreamer прозрачность по-моему можно через переменные окружения задать или параметры плагина, но я не уверен - где-то в доках видел к BSP, еще вроде можно задать - какой из фреймбуферов будет на переднем а какой на заднем плане (fb0 или оверлей fb2)
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.01.2013 10:13 Сообщение: 4
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
к тому же для 2 и 3 наверняка требуются одинаковые режимы (экраны), там по-моему надо так

возможно у фрискейловцев свое видение биэкранности, но в том же маздае(виндюках) размерность может быть любой в любой комбинации..
да и где я напасусь такое количество одинаковых матриц?!

Цитата
это актуально только если оба экрана на LVDS (LDB - LVDS Display Bridge)

где-то в недрах IPU я видел упоминания "если lvds не одинаковые, то мы это не умеем.."

ок, Саш, пасиб за инфу, буду неспеша разбираться..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 09.01.2013 10:34 Редактировалось 09.01.2013 11:33 Сообщение: 5
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Цитата

возможно у фрискейловцев свое видение биэкранности, но в том же маздае(виндюках) размерность может быть любой в любой комбинации..
да и где я напасусь такое количество одинаковых матриц?!


ты наверно все же неправильно понял - здесь тоже может быть любая размерность в любой комбинации - режимы fb0 и fb1 независимы, НО ldb=... касается конкретно LVDS, single/dual/split/separate - это режимы работы для LVDS а не для fb0 и fb1(это два независимых канала IPU) и тут опять НО - если режим ldb separate то LVDS-ы окажутся один на fb0, второй на fb1. Я кстати не встречал вндюковых писюков с двумя LVDS ;) на ноутах - матрица экрана на LVDS и HDMI и/или VGA порт, тут тоже самое можешь легко организовать. В итоге: имеем два независимых канала IPU, кто из них будет первичным (fb0) задается в параметрах загрузки и это можно изменить "на лету" в процессе работы, они могут работать с различным разрешением и битностью, к ним можно подключить различные енкодеры в различных комбинациях - два LVDS, LVDS + TVE, || + TVE, || + LVDS. В режимах single, split, dual LVDS занимает один канал IPU. Вешаем внешний HDMI енкодер на || шину и подключаем моник по HDMI.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.01.2013 11:45 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
во! все грамотно расписал - я почти достиг просветления..
т.е., если я правильно понял, без двух lvds мне не получить логического объединения фреймбуферов.. одновременно fb0 и fb1 пожалуйста, но без сплит|дуал, да?
подскажи, плз, если видел - где почитать КАК задается режим вывода (parallel, lvds, vga/tv) - в файле платы формируется список видеорежимов, где прописаны некие флаги - не могу уловить зависимости..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 09.01.2013 11:59 Редактировалось 09.01.2013 12:06 Сообщение: 7
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Цитата

т.е., если я правильно понял, без двух lvds мне не получить логического объединения фреймбуферов..


да, при этом оба LVDS будут на одном fb. Вот цитата из рефмана.
Цитата

Connecting To Display Devices
IPU allows the connectivity to multiple display devices. In particular, it supports the
following setup:
• Primary LCD display; can be smart, dumb (RAM-less) or dual-port; may use the
parallel interface or (through an integrated bridge) LVDS interface.
• Second LCD display; can be smart or dumb (RAM-less); may use parallel or serial
interface or (through an integrated bridge) LVDS interface.
• TV Output: either digital parallel output, or (through an integrated TV encoder
bridge) analog output.
Each of the above connections has independent settings - interface timing, access
template, chip-select, etc.
Simultaneous functionality of the above devices is possible in each of the following
ways:
• Two devices can be accessed (synchronously or asynchronously) independently, each
through a different port: each using any of the available interfaces.
• Two devices can time-share asynchronous accesses through the legacy serial &
parallel interfaces, using the CS signals.
• An asynchronous access can be performed during vertical blanking intervals of a
synchronous access (screen refresh; to the same or other device).
The possibilities for simultaneous functionality by time-sharing the legacy interfaces in a
single port are summarized in Table 45-3


я где-то в старых доках видел еще наглядную картинку - сейчас никак не могу найти ничего подобного в последнем BSP.

Цитата

подскажи, плз, если видел - где почитать КАК задается режим вывода (parallel, lvds, vga/tv) - в файле платы формируется список видеорежимов, где прописаны некие флаги - не могу уловить зависимости..


в последнем BSP - не знаю, но в предыдущих версиях я где-то натыкался на описание. Кстати - то что ядро встает колом при парсинге режимов LVDS - это я тоже ловил :) я как-то не особо увлекался с раборками всего этого. Возможно надо смотреть в доках к EVK, SABRE или ARD (они есть в комплекте документации BSP для QSB) а не для QSB и там есть подробное описание, все же их плата QSB это урезаный вариант.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.01.2013 12:37 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
я где-то в старых доках видел еще наглядную картинку - сейчас никак не могу найти ничего подобного в последнем BSP.

какая-то из этих или что-то более наглядное?

title

title

меня в принципе достигнутое вполне устраивает :)

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 09.01.2013 13:51 Сообщение: 9
sasamy
4.71

Пункты: 83542
Регистрация: 14.08.2009
Цитата

какая-то из этих или что-то более наглядное?


18-1 - та самая наглядная картинка :)
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.01.2013 14:22 Сообщение: 10
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
18-1 - та самая наглядная картинка :)

ага, я как ее недавно увидел, так практически сразу расковырял видеоподсистему. хоть как-то стало понятно, что и куда смотрит :)
компонентный TVout проверять смысла нет - уверен, что будет работать. а мне в хозяйстве нафик не нужен..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX53