Здравствуйте, уважаемые знатоки!
Есть процессорный модуль SK-iMX6S(D)-OEM, отладочная плата
SK-iMX6/53/50-MB, граф. панель SK-TFT1024X768(TP) на втором видеовыходе.
Установлен линукс, ядро 4.1.15, buildroot-2017.08-sk
Всё работает, но нужно на первый видеовыход подключить вторую
панель типа MI1040GT-1 с размерностью 800х600. Физически она
подсоединилась, программный интерфейс /dev/fb0 имеется, изображение есть, рекомендованные "заклинания" по настройке геометрии помогли, но изображение после загрузки появляется в размере 800х480. Нижняя
часть экрана от строк 480 до 600 повторяет верхнюю, строки 0 - 100
и чёрную полосу.
Система на подачу команды fbset -s -fb /dev/fb0 отвечает
mode "800x480-57"
# D: 33.000 MHz, H: 29.464 kHz, V: 56.881 Hz
geometry 800 480 800 1800 16
timings 30303 220 40 21 7 60 10
accel false
rgba 5/11,6/5,5/0,0/0
endmode
Если в терминале дать команду fbset -yres 600 -fb /dev/fb0
изображение тут же вписывается в экран правильно.
Как теперь сделать, чтобы эта команда запускалась автоматически
при каждой загрузке? Файл /etc/rc.local, куда можно было бы вписать
эту команду, не действует.
и после этого cделали make clean - рабочие каталоги при этом удаляются, исходники при сборке распаковываются из архивов находящихся в buildroot-2017.08-sk/dl
В общем надо после отладки исправить архив с исходниками или делать патч для ядра и прописать его в конфиге, например как описано тут
команда
fbset -yres 600 -fb /dev/fb0
прекрасно запускается из /etc/inittab, проблему устраняет, пока не буду разбираться, почему не получаются нужные параметры "изкоробки".
Файл с исправлением
buildroot*/output/build/linux-custom/arch/arm/boot/dts/imx6qdl-lvds-1024x768-800x480.dtsi
после сборки целевой флешки остаётся на месте, никто его не заменяет, но система при загрузке знает только горизонтальный заказанный размер, а вертикальный игнорирует.
Есть очень важный вопрос, ответ на который никак не нагугливается. У дисплея нет линии LVDS D3, или I3, только линии 0, 1 и 2. Нужно контроллер ввести в формат мапинга цветов "jeida", чтобы биты яркости, теряющиеся от отсутствия линии 3, были не старшими, а младшими, тогда цвета будут близки к естественным. Никак не удаётся уговорить dtsi - файл. Пишу туда заклинание
lvds-channel@0 {
fsl,data-mapping = "jeida";
-не слушается, на экране "игрушки" получаются картинки с дикообразными цветами, точно так же, как с заклинанием data-mapping = "spwg"
Что делать?
Как узнать, какие экраны "те" и какой файл курочить?
Непонятно, почему выбор вариантов в make menuconfig более чем скромненький, а dtsi файлов, которые могут потом "напакостить" - воз и маленькая тележка.