README.md

IMX519 на Repka Pi 5 (RK3588) — патчи и наработки

Комплект патчей для подключения Arducam IMX519 16MP к Repka Pi 5 (RK3588) через MIPI-CSI. Сделано на ядре 6.1.115.1-repka-pi5 (репозиторий npo_rbs/repka-os_linux-rockchip, ветка master).

📖 Подробный технический разбор всей эпопеи (3 акта, 16 пересборок ядра, 6 баг-фиксов): BLOG_POST.md в этом репозитории.

Состав

Файл Что
0001-imx519-rockchip-rk3588-adaptations.patch Драйвер imx519.c: порт 5.15→6.1 + RKMODULE ioctl + rockchip-имя + LINK_FREQ + crop/field фиксы
0002-rkcif-g_frame_interval-ENOIOCTLCMD-fix.patch RKCIF capture.c: фильтр ENOIOCTLCMD для g_frame_interval (2 места)
0003-imx519-kconfig-makefile.patch Kconfig + Makefile для встраивания imx519 в дерево ядра
rk3588-csi-imx519.dts Device-tree overlay под CSI-конвейер RK3588
imx519_arducam-imx519_default.json IQ-файл (калибровка на базе imx219 — неточная по цветам)

Что достигнуто

  • Драйвер imx519 встроен в ядро (CONFIG_VIDEO_IMX519=y)
  • Сенсор определяется, инициализируется (345 регистров, ret=0)
  • Pipeline активируется: sensor→DPHY→CSI2→CIF, DPHY на 987 Мбит/с
  • s_stream(1) доходит до сенсора, MODE_SELECT=STREAMING

Что НЕ работает

Кадр не доходит до буфера. Все 345 регистров сенсора записаны успешно, DPHY включён, но MIPI-данные физически не принимаются CIF. Возможные причины: шлейф (MIPI lanes не подключены при работающем I²C), несовместимость register-tables (Arducam писал для bcm2835/RPi), или DPHY lane-mapping.

Как применить

# В дереве исходников repka-os_linux-rockchip:
git apply 0001-imx519-rockchip-rk3588-adaptations.patch
git apply 0002-rkcif-g_frame_interval-ENOIOCTLCMD-fix.patch
git apply 0003-imx519-kconfig-makefile.patch

# Включить CONFIG_VIDEO_IMX519=y в .config
echo 'CONFIG_VIDEO_IMX519=y' >> .config
make ARCH=arm64 oldconfig

# Собрать
make ARCH=arm64 -j8 Image dtbs modules

# Overlay и IQ-файл — скопировать в систему:
cp rk3588-csi-imx519.dts /boot/dtb/rockchip/overlay/
cd /boot/dtb/rockchip/overlay && dtc -@ -I dts -O dtb -o rk3588-csi-imx519.dtbo rk3588-csi-imx519.dts
cp imx519_arducam-imx519_default.json /etc/iqfiles/

# В repkaEnv.txt: overlays=panthor-gpu csi-imx519
# Отключить dummybuf: echo 0 > /sys/devices/platform/rkcif-mipi-lvds2/is_use_dummybuf

Контакты

Если есть идеи, почему MIPI-данные не доходят при полностью инициализированном сенсоре — буду благодарен за подсказку.

Описание
Конвейеры
0 успешных
0 с ошибкой
Разработчики