Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Embedded Linux
Подключение LVDS дисплея к imx6sk
SmartRogue
Добавлено 06.04.2018 12:10 Редактировалось 06.04.2018 12:12
0
Сообщение: 1
SmartRogue
0

Пункты: 1449
Регистрация: 27.11.2017
Здравствуйте, уважаемые эксперты!
И вновь у меня затык.

В наличии:
SK-iMX6S-OEM-Ind
SK-iMX6S/53/50-MB
buildroot-2017.08 на базе ядра 4.1.15-2.1.0 для i.mx6 от sasamy (тык).
Дебиан 9.3, модифицированный sasamy (тык).
4-парный LVDS 1024x768 дисплей, подключенный к:
X1.1 GND0, GND1, GND2, GND3
X1.2 PWM (яркость)
X1.3 D0-
X1.4 D0+
X1.5 D1-
X1.6 D1+
X1.7 D2-
X1.8 D2+
X1.9 CLK-
X1.10 CLK+
X1.11 D3-
X1.12 D3+

Что хочу:
Работающий дисплей.

Что сделал:
1. Сконфигурировал buildroot под imx6sk_min_defconfig.

2. С помощью make menuconfig изменил конфиг на:
Код

BR2_PACKAGE_SK_IMX6S_OEM=y
BR2_TARGET_UBOOT_BOARDNAME="oem_solo"
BR2_PACKAGE_FB0_LBD_LDB_XGA=y
BR2_TARGET_UBOOT_FB0="video=mxcfb0:dev=ldb,if=RGB24"
BR2_PACKAGE_FB1_HDMI_HD=y
BR2_TARGET_UBOOT_FB1="video=mxcfb1:dev=hdmi,1280x720M@60,if=RGB24"
BR2_TARGET_KERNEL_LVDS="imx6qdl-lvds-1024x768-1024x768.dtsi"


3. Выполнил make.

4. Изменил файл /output/build/linux-custom/arch/arm/boot/dts/imx6qdl-lvds-1024x768-1024x768.dtsi :
Код

lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
primary;
status = "okay";

display-timings {
native-mode = <&timing0>;
timing0: hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <320>;
hfront-porch = <80>;
vback-porch = <40>;
vfront-porch = <10>;
hsync-len = <80>;
vsync-len = <10>;
};
};
};


5. Выполнил kernel_rebuild.sh и uboot_rebuild.sh
6. Прокопировал (заменил) *.dtb и u-boot.imx из /buildroot-2017.08-sk/output/images/ в /imx6sk-debian/output/images/

Что получил:



Что есть про дисплей:
title

То ли тайминги я насчитал неправильные, то ли помехи какие лезут...
Пожалуйста, подскажите, убогому, куда копать.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 06.04.2018 12:46 Редактировалось 06.04.2018 12:51 Сообщение: 2
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Для примера есть аналогичный плаг

http://www.starterkit.ru/html/index.php?name=shop&op=view&id=80

схема там есть, если физически подключили все правильно - должно заработать без всяких правок в DT, выбрать в меню этот плаг и uboot_rebuild.sh. Единственное - попробуйте сделать оба fb LDB_XGA, без HDMI
Спуститься к концу Подняться к началу
Персональная информация
SmartRogue
Добавлено 06.04.2018 13:23 Сообщение: 3
SmartRogue
0

Пункты: 1449
Регистрация: 27.11.2017
Цитата
выбрать в меню этот плаг


Не могу понять, где его надо выбрать...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 06.04.2018 13:36 Редактировалось 06.04.2018 13:43 Сообщение: 4
sasamy
4.71

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

Не могу понять, где его надо выбрать...


У вас несколько человек под одним ником постит ?

Цитата

2. С помощью make menuconfig изменил конфиг на:


http://i104.fastpic.ru/big/2018/0406/e0/3c3f1efbcac4754eb471856f396f62e0.png

смысл в том что ваш дисплей и местный аналогичны по характеристикам - зачем вы что-то в DT исправляли ? Попробуйте там выбрать оба FB

fb0 mode (ldb,LDB-XGA) --->
fb1 mode (ldb,LDB-XGA) --->
Спуститься к концу Подняться к началу
Персональная информация
SmartRogue
Добавлено 06.04.2018 13:51 Сообщение: 5
SmartRogue
0

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

У вас несколько человек под одним ником постит ?


Ахахаха, нет, я один. Просто Вы написали "выбрать в меню этот плаг", я начал искать его в перечне вариантов для FB0 и не нашёл... Вот и подумал, что я чего-то не понимаю. Ну, в общем, туплю я регулярно

Цитата

смысл в том что ваш дисплей и местный идентичны по характеристикам - зачем вы что-то в DT исправляли ?


Ну, значения по умолчанию немного отличаются. Но сейчас понял, что уже забитые значения укладываются в допустимый диапазон.
Спуститься к концу Подняться к началу
Персональная информация
SmartRogue
Добавлено 10.04.2018 08:51 Сообщение: 6
SmartRogue
0

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

fb0 mode (ldb,LDB-XGA) --->
fb1 mode (ldb,LDB-XGA) --->


Ура! У меня наконец-то дисплей заработал! Спасибо!

Но опять есть вопрос. Работает он только на LVDS1 (разъём X2). На LVDS0 (разъём X1) - не работает. Вроде бы никаких перекрывающих функций на этом разъёме нет. Есть идеи, как заставить дисплей работать на LVDS0?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.04.2018 20:49 Сообщение: 7
sasamy
4.71

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

Есть идеи, как заставить дисплей работать на LVDS0?


он у вас работает на LVDS0 - на MB просто подписано что это LVDS1

http://starterkit.ru/html/index.php?name=forum&op=view&id=23990&num=3#24025

http://starterkit.ru/html/index.php?name=forum&op=view&id=23990&num=3#24027
Спуститься к концу Подняться к началу
Персональная информация
SmartRogue
Добавлено 04.07.2018 14:45 Сообщение: 8
SmartRogue
0

Пункты: 1449
Регистрация: 27.11.2017
Теперь я добрался до управлением подсветкой дисплея. Управление по ШИМ. Выдержка из РЭ к дисплею:

Параметры сигнала ШИМ: высокий уровень – от 2,0 до 3,3В; низкий уровень – от 0 до 0,8В; частота– (200+10)Гц. Коэффициенту заполнения 100% соответствует максимальная яркость изображения.

В DTS у меня прописано:
Код

backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 3300000>;
brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <7>;
status = "okay";
};


Как я понимаю, дефолтный уровень яркость - максимальный. Однако ожидаемого волшебства (включения дисплея на максимальной яркости) не происходит.

Подскажите, пожалуйста, где я опять свернул не туда?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 04.07.2018 17:25 Сообщение: 9
sasamy
4.71

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

pwms = <&pwm1 0 3300000>;


с какой целью вы поменяли дефолтное значение в DTS ?
Спуститься к концу Подняться к началу
Персональная информация
SmartRogue
Добавлено 04.07.2018 18:01 Редактировалось 04.07.2018 18:15 Сообщение: 10
SmartRogue
0

Пункты: 1449
Регистрация: 27.11.2017
Цитата
с какой целью вы поменяли дефолтное значение в DTS ?


Я думал, что это напряжение в микровольтах...

UPD. Нашёл, что это на самом деле период в нс. Выходит как раз 200 Гц. Завтра проверю, заработает ли.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux