Перейти к основному содержимому

Работа с 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

Значения координат должны изменяться при движении пальца по экрану.