Для синхронизации экрана OK7110 -C требуется специальный инструмент расчета starFive_DSI_Tool.exe, который хранится в папке Tools/dsi_tool профиля пользователя.
Методы работы:
01 Конфигурация параметров
Измените файл input.ini, который используется для настройки параметров экрана; Ниже приведены конкретные параметры конфигурации:
hactive: эффективная длина экрана
Vactive: эффективная ширина экрана
Bpp: бит на пиксель Глубина пикселя
fps: кадров в секунду Частота кадров
Pixellock_source: источник тактовой частоты пикселей. Поскольку частота пикселей делится на целочисленную частоту JH7110 PLL2, здесь необходимо ввести частоту PLL2; VF2 составляет 1188 МГц.
dlanes: mipi dsi Количество каналов
ref_pixclk: тактовая частота опорного пикселя; согласно таблице данных экрана, чтобы узнать его тактовую частоту эталонного пикселя или диапазон тактовой частоты эталонного пикселя. Если это диапазон, лучше написать здесь нижнюю границу; этот параметр может быть заполнен значением 0, чтобы указать, что эталонная тактовая частота не используется в расчетах или необходимо вычислить синхронизацию других частот кадров.
nr_timing_generated: количество временных рядов, которые будут сгенерированы.
Например
02 Бег
Вам необходимо установить git в Windows. Откройте каталог инструмента DSI _ с помощью git bash.
Запускаем скрипт. Ш.
#!/bin/bash
output=$1
if [ "$output" == "" ]; then
output=output.txt
fi
./StarFive_DSI_Tool.exe < input.ini > $output
Используйте команду./run. Ш.
Используйте команду./run. Ш. Время, генерируемое инструментом, рассчитывается на основе input.ini.
Например:
Welcome to use StarFive DSI timing generation tool v1.0
{
.dpi_timing = { //1024x600, 24 bits, 49.93 Hz
.pixelclock = 49500000,
.hactive = 1024 ,
.hfront_porch = 475 ,
.hback_porch = 5 ,
.hsync_len = 5 ,
.vactive = 600 ,
.vfront_porch = 47 ,
.vback_porch = 5 ,
.vsync_len = 5 ,
},
.dsi_timing = {
.dlanes = 4 ,
.bitrate = 380000000,
.hsa = 910 ,
.hbp = 908 ,
.hfp = 902 ,
.hact = 3072 ,
},
},
Количество сгенерированных таймингов определяется параметром nr_timing_generated в input.ini.
Обратите внимание: если файл output.txt создается в нескольких группах, не каждая группа будет работать правильно. Необходимо попробовать их поочередно, чтобы выбрать правильный тайминг для экрана.
Пример времени:
{
.dpi_timing = { //1024x600, 24 bits, 49.93 Hz
.pixelclock = 49500000,
.hactive = 1024 ,
.hfront_porch = 475 ,
.hback_porch = 5 ,
.hsync_len = 5 ,
.vactive = 600 ,
.vfront_porch = 47 ,
.vback_porch = 5 ,
.vsync_len = 5 ,
},
.dsi_timing = {
.dlanes = 4 ,
.bitrate = 380000000,
.hsa = 910 ,
.hbp = 908 ,
.hfp = 902 ,
.hact = 3072 ,
},
Внесите изменения в файл дерева устройств OK7110-C.dts:
1. Измените точкуsee_plane:
dlanes: Измените в соответствии с количеством каналов, используемых на экране.
ширина-мм, высота-мм, отображение данных: Измените в соответствии с фактической информацией на экране.
2. Измените узел mipi_dsi:
Битрейт, hsa, hbp, hfp; измените в соответствии с соответствующими значениями в Generation_timing.dsi_timing
3. Тайминг панели: данные тайминга панели, hactive и vactive заполняются в соответствии с фактическим значением экрана; остальная часть тайминга панели изменяется в соответствии с соответствующим содержимым в последовательности генерации Sequence.dpi_timing. панель-тайминг. Изменения заключаются в следующем:
panel-timing {
clock-frequency =;
hactive =;
vactive =;
hsync-len =;
hfront-porch =;
hback-porch =;
vfront-porch =;
vback-porch =;
vsync-len =;
};
После внесения изменений запишите новое дерево устройств в устройство и посмотрите, сможет ли оно отображаться правильно.
Если его не удается отобразить нормально, используйте оставшиеся тайминги в файле output.txt и продолжайте попытки в соответствии с описанными выше шагами; если его можно отобразить нормально, экранная адаптация завершена.
Первоначально опубликовано на www.forlinx.net.