Работа с MIPI-дисплеем
Конфигурация eltay_rm88s_op_tablet_defconfig позволяет работать с MIPI DSI-дисплеем на плате ELTAY RM88S, установленной на Orange Pi CM5 Tablet Base Board.
На плате имеется разъём для подключения LCD-дисплея (LCD).
Работа проверена со штатным 10,1″ дисплеем Orange Pi, подключённым через Orange Pi LCD Adapter Board V1_0:
- матрица Innolux AFJ101-BA2131;
- разрешение 800 × 1280;
- интерфейс дисплея — MIPI DSI;
- контроллер тачскрина — Goodix GT9271.
Дисплей и тачскрин подключаются к плате одним FFC-шлейфом через LCD Adapter Board.
Дисплей следует подключать и отключать только при выключенном питании платы.
Подключение overlay
Для включения дисплея и тачскрина используется overlay /boot/overlays/rk3588s-eltay-rm88s-on-op-cm5-tablet-lcd.dtbo.
В файле /boot/extlinux/extlinux.conf в параметре fdtoverlays необходимо указать этот overlay:
fdtoverlays /boot/overlays/rk3588s-eltay-rm88s-on-op-cm5-tablet-lcd.dtbo
После изменения extlinux.conf необходимо сохранить файл и перезагрузить устройство.
Проверка дисплея
Для проверки состояния DSI-дисплея выполните:
for f in /sys/class/drm/card*-DSI-*/status \
/sys/class/drm/card*-DSI-*/modes
do
[ -e "$f" ] || continue
echo "--- $f"
cat "$f"
done
Ожидаемый результат:
connected
800x1280
Проверить параметры framebuffer можно командами:
cat /sys/class/graphics/fb0/name
cat /sys/class/graphics/fb0/virtual_size
cat /sys/class/graphics/fb0/bits_per_pixel
Ожидаемый результат:
rockchipdrmfb
800,1280
32
Вывод изображения на дисплей
Для проверки вывода изображения скопируйте на устройство файл PNG или JPEG и выполните:
fbv -f /root/test.png
Вместо /root/test.png необходимо указать путь к используемому изображению.
Изображение должно появиться на дисплее и занимать всю доступную область экрана.
Управление яркостью
Текущее значение яркости можно посмотреть командой:
cat /sys/class/backlight/backlight/brightness
Максимальное значение:
cat /sys/class/backlight/backlight/max_brightness
Для изменения яркости, например до значения 100, выполните:
echo 100 > /sys/class/backlight/backlight/brightness
Проверка тачскрина
Для определения input-устройства тачскрина выполните:
awk 'BEGIN { RS="" } /Goodix Capacitive TouchScreen/ { print }' /proc/bus/input/devices
Ожидается блок следующего вида:
N: Name="Goodix Capacitive TouchScreen"
P: Phys=input/ts
H: Handlers=kbd eventX
Номер eventX зависит от порядка регистрации input-устройств и может изменяться между загрузками.
Далее в примере используется переменная:
TOUCH_DEV=/dev/input/eventX
Вместо eventX необходимо указать номер, найденный в /proc/bus/input/devices.
Для проверки касаний выполните:
evtest "$TOUCH_DEV"
При касании и перемещении пальца по экрану должны появляться события:
ABS_MT_POSITION_X
ABS_MT_POSITION_Y
ABS_MT_TRACKING_ID
BTN_TOUCH
Значения координат должны изменяться при движении пальца по экрану.