LINUX.ORG.RU

Кто разбирается в dtb файлах в одноплатниках?

 ,


0

1

Долгое время у меня не получалось снять картинку на Orange Pi4 по HDMI, пока я не пробнул другой dtb файл. Так, как точно на опи4 в моём распоряжении нет, сгенерировать его я не умею, а из армбиановской сборки он не подходит и картинки нет, то я взял от RK-3399-pock-pi-4.dtb, картинка есть! Но разрешение самое низкое, фпс-ы никакие, всё мерцает. Я понимаю, что в проекте армбиан они делали программу, которая определяет, какой монитор, какое разрешение, это всё задаёт нужное разрешение. Но я хочу руками. Я могу конвертировать dtb в dts, но там не просто, не просто понять, что отвечает за разрешение, строчки 640х480 1280х720 итд там нет вообще. В строках, включающих «HDMI» формат, похожий на 16-тиричный, но я точно не уверен. Хотел бы научиться и разобраться.

★★★★★

Последнее исправление: burato (всего исправлений: 1)

Наверно никак. Обычно исходник dts он как куча вложенного си-кода. Понятные имена переменных, инклюды и т д. То когда из бинаря достанешь, то там вся понятная магия теряется. Везде хексы, кучу нулей и единиц. Причем каждая значит что-то своё. Название секций и параметров вроде как остаётся, но вот ссылки уже теряются. А момент «компиляции» происходит разимяновывание. И вместо понятных констант, сплошные цифры.

Можно попробовать самому нужные секции подменить на похожие из исходников. Должно получиться.

yax123 ★★★★★
()

в моём распоряжении нет, сгенерировать его я не умею, а из армбиановской сборки он не подходит и картинки нет,

какой армбиан из этих ? там два ядра - из вендорского BSP (4.4.213) и похоже на майнстримное (5.8.6)

https://dl.armbian.com/orangepi4/archive/

DTS скорей всего разные, наверняка в майнстримном все драйверы переписаны

anonymous
()
Ответ на: комментарий от anonymous

Все ядра, точнее все DTB из всех ядер пробовал и видео нет нигде, просто нет сигнала. А вот с гентушных сорцов и от rk-3399-orangepi.dtb и rk-3399-rock-4.dtb видео есть, но разрешение...

burato ★★★★★
() автор топика
Ответ на: комментарий от burato

Ты можешь нормально сказать - какая версия ядра ? Параметры экрана драйвер енкодера HDMI читает из EDID монитора, это обычная шина i2c которая может быть выделенная (интегрирована в контроллер видео вывода) или лбая из SoC. Если второе то у тебя возможно не та шина указана в device tree, драйвер не может прочитать EDID и выставляет какие-то стандартные параметры VESA, чаще всего VGA 640x480

anonymous
()
Ответ на: комментарий от anonymous

мне непонятно почему армбиановский dtb со своим ядром не кажет видео, а чужой dtb кажет.

версию ядра, от чего dtb брал последнюю, это 5.7

burato ★★★★★
() автор топика

Разобрался, смог запустить своё ядро на Orange Pi4

Файл dtb для orange pi4 не годится, вот список того, в чём работает всё, кроме встроенной звуковой карточки(и то надеюсь это решаемо):

-rk3399-leez-p710.dtb

-rk3399-nanopc-t4.dtb

-rk3399-nanopi-m4.dtb

-rk3399-nanopi-neo4.dtb

С этими файлами работает HDMI, GPIO, даже PWM, звук по HDMI.

Есть проблема, но это не работает даже у армбианщиков, я не смог получить дату по USB-type-C.

burato ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.