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

Общая информация

В данном разделе описана конфигурация платы ELTAY RM88S, установленной на Orange Pi CM5 Tablet Base Board, для сборки Buildroot:

eltay_rm88s_op_tablet_defconfig

Основная периферия платы описана в базовом Device Tree и доступна сразу после загрузки системы. Для интерфейсов, требующих выбора внешнего устройства или альтернативной функции выводов, используются Device Tree overlays.

Периферия, доступная по умолчанию​

В базовой конфигурации включены:

  • встроенная eMMC-память модуля ELTAY RM88S;
  • microSD;
  • Wi-Fi AP6256;
  • Bluetooth / BLE AP6256;
  • RTC HYM8563;
  • USB 2.0 Host;
  • USB 3.0 Type-A Host;
  • USB Type-C с FUSB302 и переключением ролей Host/Device;
  • HDMI;
  • M.2 M-key по PCIe 2.0 x1 для NVMe;
  • аналоговое аудио ES8388/ES8323;
  • два усилителя динамиков AW87391;
  • PWM-вентилятор;
  • IR-приёмник;
  • зарядное устройство SC89890;
  • кнопки V+/Recovery, V-, Menu и ESC;
  • статусный светодиод.

Для работы с периферией в образ включены стандартные Linux-утилиты.

ПериферияОсновные средства работы и диагностики
eMMC и microSDlsblk, blkid, fdisk, mount
Wi-Finmcli, iw, wpa_supplicant, wpa_cli, ip, rfkill
Bluetooth / BLEbluetoothctl, rfkill
RTChwclock, date
USB 2.0 / USB 3.0lsusb, lsusb -t
NVMe / PCIelspci, lsblk
HDMI / DRM/sys/class/drm, kmsprint, fbv
I2Ci2cdetect, i2cget, i2cset
IR и кнопкиevtest
GPIOgpiodetect, gpioinfo, gpioget, gpioset
Аудиоaplay, arecord, amixer, alsamixer, speaker-test
MIPI CSIv4l2-ctl, media-ctl, ffmpeg

Краткая информация по стандартной периферии​

eMMC и microSD​

Встроенная eMMC модуля и установленная microSD-карта определяются как блочные устройства.

Быстрая проверка:

lsblk
blkid

Имена устройств зависят от порядка их регистрации ядром, поэтому перед форматированием или записью образа необходимо обязательно проверить размер и тип выбранного устройства.

Wi-Fi​

Встроенный Wi-Fi модуль подключён через SDIO-интерфейс и определяется как беспроводное сетевое устройство.

Посмотреть состояние сетевых интерфейсов:

ip -br link

Проверить наличие Wi-Fi модуля:

nmcli device

Получить список доступных сетей:

nmcli dev wifi list

Подключение к сети с сохранением профиля:

nmcli --ask device wifi connect "Название_сети" ifname wlan0

После успешного подключения проверить полученный IP-адрес:

ip addr show wlan0

Bluetooth / BLE​

Bluetooth-модуль подключён через UART-интерфейс и инициализируется автоматически при загрузке системы.
Проверить состояние радиоустройств:

rfkill list

Запустить консоль управления Bluetooth:

bluetoothctl

Внутри bluetoothctl можно проверить доступность адаптера:

list
show

Для поиска BLE-устройств:

scan on

RTC​

Аппаратные часы RTC подключены через I2C и используются для сохранения времени при отключении питания.
Прочитать текущее время RTC:

hwclock -r

Записать текущее системное время в RTC:

hwclock -w

Проверить наличие RTC-устройства:

ls /dev/rtc*

USB​

Быстрая проверка подключённых USB-устройств:

lsusb

Посмотреть дерево USB-контроллеров и скорость подключения:

lsusb -t

Для устройств USB 3.x в lsusb -t ожидается скорость 5000M.

Дополнительную информацию о подключении можно получить из журнала ядра:

dmesg | grep -i usb

NVMe​

NVMe накопитель подключается через интерфейс PCIe.
Проверить обнаруженные PCIe-устройства:

lspci

Посмотреть доступные блочные устройства:

lsblk

HDMI​

Проверить состояние HDMI-разъёма:

cat /sys/class/drm/card*-HDMI-A-*/status 2>/dev/null

При подключённом мониторе ожидается - connected.

Посмотреть доступные режимы вывода:

cat /sys/class/drm/card*-HDMI-A-*/modes 2>/dev/null

Для диагностики DRM можно использовать:

dmesg | grep -i drm

HDMI audio​

Посмотреть доступные ALSA-устройства:

aplay -l

Проверить наличие аудиокарт:

cat /proc/asound/cards

Для проверки воспроизведения WAV-файла необходимо указать найденное HDMI-устройство:

aplay -D hw:CARD,DEVICE /path/to/test.wav

Значения CARD и DEVICE берутся из вывода aplay -l.

IR и кнопки​

IR-приёмник и кнопки работают через Linux input subsystem.
Посмотреть зарегистрированные input-устройства:

grep -E 'Name=|Handlers=.*event' /proc/bus/input/devices

После определения нужного eventX запустить монитор событий:

evtest /dev/input/eventX

Для диагностики загрузки устройств ввода:

dmesg | grep -i input

Зарядное устройство​

На Orange Pi CM5 Tablet Base Board установлен контроллер заряда Southchip SC89890 (I2C6, адрес 0x6a).

В DTS задан следующий профиль заряда:

  • максимальное напряжение аккумулятора — 4,35 В;
  • максимальный ток заряда — 4 А;
  • ток предварительного заряда — 0,5 А;
  • ток завершения заряда — 0,1 А.

Профиль рассчитан на одноэлементный (1S) Li-Ion/Li-Poly аккумулятор с максимальным напряжением заряда 4,35 В.

При использовании аккумулятора с другим максимальным напряжением или меньшим допустимым током заряда параметры зарядного устройства в Device Tree необходимо изменить в соответствии с характеристиками аккумулятора.

Быстрая проверка:

ls /sys/class/power_supply/
i2cdetect -y 6

Проверить параметры зарегистрированного зарядного устройства:

ls /sys/class/power_supply/

Основные параметры доступны через:

cat /sys/class/power_supply/<device>/status
cat /sys/class/power_supply/<device>/voltage_now
cat /sys/class/power_supply/<device>/current_now

PWM-вентилятор​

PWM-вентилятор подключён к PWM15 и управляется штатным драйвером pwm-fan. PWM15 занят вентилятором и не должен использоваться вручную как пользовательский PWM. В Device Tree задан следующий температурный профиль:

cooling-levels = <0 50 100 150 200 255>;

rockchip,temp-trips = <
40000 2
50000 3
55000 4
60000 5
65000 5
70000 5
>;

Соответствие уровней:

state 0 → PWM 0
state 1 → PWM 50
state 2 → PWM 100
state 3 → PWM 150
state 4 → PWM 200
state 5 → PWM 255

Проверить состояние thermal cooling devices:

for d in /sys/class/thermal/cooling_device*; do
echo "$d: $(cat "$d/type" 2>/dev/null), max_state=$(cat "$d/max_state" 2>/dev/null)"
done

Найти hwmon-устройство вентилятора:

FAN=$(for d in /sys/class/hwmon/hwmon*; do
[ "$(cat "$d/name" 2>/dev/null)" = "pwmfan" ] && echo "$d"
done)

echo "$FAN"

Кнопочный разъём KEY​

Кнопки на Tablet Base Board, выведенные на разъем KEY, описаны в базовом Device Tree через adc-keys.

Поддерживаются кнопки:

  • V+/Recovery
  • V-
  • Menu
  • ESC

Для определения соответствующего input-устройства:

grep -E 'Name=|Handlers=.*event' /proc/bus/input/devices

После определения eventX кнопки можно проверить, запустив монитор событий:

evtest /dev/input/eventX

Разъём для датчиков​

6-контактный sensor port является разъёмом для подключения внешнего датчика. Конкретное устройство на этом разъёме в базовом Device Tree не описывается, поскольку его конфигурация зависит от устанавливаемого датчика. Для устройства, требующего драйвер из ядра, необходимо добавить соответствующий Device Tree node или overlay.

Расширенная или отключенная по умолчанию периферия​

Аудио​

На Tablet Base Board предусмотрен полноценный аудиотракт на базе кодека ES8388:

  • аналоговый вход/выход через разъём PHONE JACK;
  • встроенный микрофон;
  • подключение внешних динамиков через усилители AW87391.

Аудиоустройства включены отдельными узлами Device Tree. Подробнее о проверке и настройке - Аудио.

MIPI DSI дисплей и тачскрин​

На плате предусмотрен MIPI DSI-разъём LCD для подключения дисплея с сенсорным управлением. По умолчанию MIPI-дисплей отключен в базовом Device Tree. Для включения устройства используется подготовленный overlay-файл. Подробнее про подключение и настройку - MIPI-дисплей.

CSI камеры​

На плате предусмотрены три MIPI CSI-разъёма для подключения камер. Разъем CAM1 рассчитан на подключение камер с использованием 4-lane MIPI CSI интерфейса, остальные разъёмы используют стандартный режим подключения через доступные линии MIPI DPHY. Для работы с камерами в образ включены rkaiq_3A_server для управления алгоритмами автоэкспозиции, баланса белого и других 3A-функций, и IQ-профили для камер OV5647 и OV13855.
По умолчанию камеры отключены в базовом Device Tree. Для включения конкретного устройства используются подготовленные overlay-файлы. Подробнее про подключение и настройку - CSI камеры.

GPIO-разъём​

Все выводы 26-контактного разъёма по умолчанию работают как GPIO. Помимо режима GPIO, отдельные выводы могут использовать альтернативные функции - UART, I2C, SPI, PWM.
Включение альтернативных функций производится через Device Tree overlay-файлы, которые переводят выбранные выводы в соответствующий аппаратный режим.

Подробнее о работе с разъемом - 26-контактный GPIO-разъём.