Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Процессорные модули » SK-iMX6S/D-SODIMM
Немного вопросов о настройках системы (SK-iMX6D-SODIMM)
incredi
Добавлено 20.01.2015 18:26 Сообщение: 11
incredi
0

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

Судя по картинкам явно цвета перепутаны, попробуйте
video=mxcfb0:dev=ldb,LDB-WSVGA,if=BGR666
или
video=mxcfb0:dev=ldb,LDB-WSVGA,if=LVDS666


Увы, ничего не подошло. Уже даже прописал все параметры в ldb.c (или ещё где нужно?), но ничего не получается. Красноватый оттенок весьма мешает. Удалось как-то запустить с нормальными цветами, добавив в строку ldb=spl0, но разрешение было гораздо больше и никак не менялось, может, это где в исходниках править?
Спуститься к концу Подняться к началу
Персональная информация
incredi
Добавлено 21.01.2015 11:13 Редактировалось 21.01.2015 11:15 Сообщение: 12
incredi
0

Пункты: 3134
Регистрация: 11.12.2014
Вот такая строка:

video=mxcfb0:dev=ldb,LDB-WSVGA,if=RGB666 ldb=spl0'

Цвета правильные, но отображение только на половину экрана (изображение сжато).
Спуститься к концу Подняться к началу
Персональная информация
incredi
Добавлено 23.01.2015 16:00 Сообщение: 13
incredi
0

Пункты: 3134
Регистрация: 11.12.2014
Проблема решена изменением значения pixclock структуры fb_videomode в файле ldb.c. Расчётное правильное значение (pixclock = 10^12 / DotCLK) было увеличено в 2 раза. Однако для меня осталось загадкой, какую именно частоту DotCLK задавать в данном случае.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 23.01.2015 18:43 Сообщение: 14
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Проблема решена изменением значения pixclock структуры fb_videomode в файле ldb.c. Расчётное правильное значение (pixclock = 10^12 / DotCLK) было увеличено в 2 раза. Однако для меня осталось загадкой, какую именно частоту DotCLK задавать в данном случае.

как-то у вас странно получилось решение с удвоением.. в строке для ядра ничего "лишнего" не затесалось, какие-нить "sep "spl"?
чем-то смахивает на split mode
я прописываю
для 1280х800 14065
для 800х480 37037

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
incredi
Добавлено 24.01.2015 15:17 Сообщение: 15
incredi
0

Пункты: 3134
Регистрация: 11.12.2014
Цитата
как-то у вас странно получилось решение с удвоением.. в строке для ядра ничего "лишнего" не затесалось, какие-нить "sep "spl"?


Ничего лишнего не затесалось, строка такая:
setenv bootargs_vout video=mxcfb0:dev=ldb,SK-LMS480,if=RGB666

ldb.c:
{ /* 1024x600 @ 75 Hz , DotCLK freq @ 53.99MHz */
"SK-LMS480", 75, 1024, 600, 18522,
80, 48,
4, 3,
32, 1,
0,
FB_VMODE_NONINTERLACED,
FB_MODE_IS_DETAILED,},

fbset -i ничего не показывает, если только просто:
# fbset

mode "1024x600-75"
# D: 53.990 MHz, H: 45.600 kHz, V: 74.999 Hz
geometry 1024 600 1024 600 16
timings 18522 80 48 4 3 32 1
accel false
rgba 5/11,6/5,5/0,0/0
endmode

При 18522 какие-то полосы на изображении, например. в синем цвете (см. картинки, которые я ранее выкладывал). При 30000 всё нормализуется, но почему так я не понимаю... Есть ли мысли?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 24.01.2015 18:39 Сообщение: 16
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Ничего лишнего не затесалось, строка такая:
setenv bootargs_vout video=mxcfb0:dev=ldb,SK-LMS480,if=RGB666

да, тут у вас все правильно и ниже цифра 18522 для 53.98МГц верная - все должно работать идеально..
пара вариантов поиска:
- найти где происходит "неверный" расчет при использование .pixclock
- посмотреть в файлы платы (arch/arm/board-imx6/*board**light*.c) нет ли захардкоженного "левого" параметра..
я отталкиваюсь от того, что у меня на платформах imx6q и imx6s и трех разных экранах таких глюков нет. у вас, вероятно, чуть другое ядро - для imx6d.. может быть для него что-то случайно исправили или изменили..

Цитата
Есть ли мысли?

если это не аппаратный дефект, то все, имхо, лечится..
смотрим, что получает ядро при загрузке:
cat /proc/cmdline
смотрим, сколько экранов в системе:
ls -l /dev/fb*
потом заглянем в боард-файл..

ps чуть смущают цифры 4 и 3 для upper/lower porch и 75Гц (я бы прописал 60) - надо будет попробовать/проверить влияние

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
incredi
Добавлено 26.01.2015 14:25 Сообщение: 17
incredi
0

Пункты: 3134
Регистрация: 11.12.2014
Ничего криминального не нашёл. Цвета вроде бы встали на место при изменении частоты верт. развертки (60Гц вместо 75Гц), соответственно уменьшилая и частота DotCLK (43.19МГц вместо 54.99МГц). Что привело к тому, что pixclock стал уже 23152, а не 18552. А с увеличением его, как я уже писал, всё нормализуется. Итак, параметры такие:

{ /* 1024x600 @ 60 Hz , DotCLK freq @ 43.19MHz */
<------> "SK-LMS60", 60, 1024, 600, 23152,
<------> 80, 48,
<------> 4, 3,
<------> 32, 1,
<------> 0,
<------> FB_VMODE_NONINTERLACED,
<------> FB_MODE_IS_DETAILED,},

Цитата

смотрим, что получает ядро при загрузке:
cat /proc/cmdline

ddr528 console=ttymxc0,115200 consoleblank=0 video=mxcfb0:dev=ldb,SK-LMS60,if=RGB666 root=/dev/mmcblk0p1 rootwait

Цитата

смотрим, сколько экранов в системе:
ls -l /dev/fb*

crw-rw---- 1 root video 29, 0 Jan 1 00:00 /dev/fb0
crw-rw---- 1 root video 29, 1 Jan 1 00:00 /dev/fb1

Цитата

ps чуть смущают цифры 4 и 3 для upper/lower porch и 75Гц


Все параметры взяты из даташита, вряд ли там ошибка. 75Гц - типовая частота для этих параметров, странно, что эта частота не поддерживается, может, где-то можно прописать поддерживаемые частоты?
Когда я установил 60Гц и всё пересчитал, меня стали волновать отображаемые цвета. Вроде бы ничего так, но когда идёт переход в картинке с одного на другой цвет (градиент), то он не плавный, а резкий, как-будто часть цветов всё ещё отображаются неверно. Были подозрения, что это влияет Qt, перепробовал разные режимы QImage::Format_RGB***, ничего не помогает. Добавил в Qt глубину -depths 18, однако для меня не ясно, почему когда мы пишем if=RGB666, то fbset показывает rgba 5/11, 6/5, 5/0, 0/0, хотя по идее должно быть rgba 6/12, 6/6, 6/0, 0/0:
mode "1024x600-60"
# D: 43.193 MHz, H: 36.480 kHz, V: 60.001 Hz
geometry 1024 600 1024 600 16
timings 23152 80 48 4 3 32 1
accel false
rgba 5/11,6/5,5/0,0/0
endmode

fbset -rgba 6,6,6 ничего не меняет.

И ещё один момент, если в строку загрузки video добавить bpp=32 (т.е. изменить глубину цвета с 16 на 32 - аналогично fbset -depth 32). то снова появляются полосы в цветах, как и при частоте 75Hz было. При этом fbset показывает rgba другое, но лучше от этого не становится:
mode "1024x600-60"
# D: 43.193 MHz, H: 36.480 kHz, V: 60.001 Hz
geometry 1024 600 1024 600 32
timings 23152 80 48 4 3 32 1
accel false
rgba 8/16,8/8,8/0,8/24
endmode
Спуститься к концу Подняться к началу
Персональная информация
incredi
Добавлено 27.01.2015 17:48 Сообщение: 18
incredi
0

Пункты: 3134
Регистрация: 11.12.2014
Вот фотка экрана:
title
Сверху красный R, зелёный G, синий B (градиент от 0 до 255).
Снизу смесь RG, GB, RB (от 0 до 255).

Если зелёный и синий и их смесь работает на отлично, то красный совсем никуда не годится. Что может быть не так?
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 27.01.2015 19:03 Сообщение: 19
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
ИМХО и вас проблема с аппаратным LVDS интерфейсом ...
Из собственного опыта, главное земли побольше (лучше между каждой парой), так же важно выровнять длины линии в диф. парах и длины самих пар между собой.
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 27.01.2015 19:12 Редактировалось 28.01.2015 08:21 Сообщение: 20
Pavel Ivanchenko
Admin
4.39

Пункты: 91424
Регистрация: 24.03.2009
Пол: Мужчина
Еще можно попробовать с дополнительной терминацией на диф.парах, по идее терминаторы на самой панели должны стоять (в конце гибкого шлейфа согалующие резисторы), если их нет - тогда их точно нужно самим ставить.
Если они есть, эксперимент не помешает - начать с сотни Ом и в верх с шагом в 50Ом.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Процессорные модули » SK-iMX6S/D-SODIMM