Skip to content

MIPI CSI 接口转换

本页用于整理 MIPI CSI 相关接口转换、桥接与树莓派等平台的方案说明。

说明

请在此补充方案概述、硬件连接、驱动与验证步骤。若与 LK_X2MIPI 树莓派编译包相关,可与同目录下的专题页交叉引用。

树莓派本地编译包(LK_X2MIPI)

这个目录用于放到树莓派上直接本地编译:

  • module/:外部内核模块(.ko
  • overlay/:设备树 overlay(.dtbo
  • scripts/:一键构建与安装脚本

目录结构

text
lk_x2mipi/
├─ module/
│  ├─ Makefile
│  └─ lk_x2mipi.c         # 模块源码(构建产物 lk_x2mipi.ko)
├─ overlay/
│  └─ lk_x2mipi-overlay.dts
└─ scripts/
   ├─ build.sh
   └─ install.sh

1) 放到树莓派

将整个 lk_x2mipi 目录拷贝到树莓派,例如:

  • /home/pi/lk_x2mipi/

2) 准备依赖(树莓派执行)

bash
sudo apt update
sudo apt install -y bc bison flex libssl-dev make device-tree-compiler raspberrypi-kernel-headers

确认内核头可用:

bash
ls -l /lib/modules/$(uname -r)/build

3) 驱动源码说明

当前驱动源码已是可编译版本(最小 bring-up):

  • 已匹配 compatible = "ultrasemi,lk-x2mipi"
  • 已实现基础 subdev 注册、I2C 访问、stream 开关、timings 查询;
  • 后续可在此基础上继续补充中断、EDID、音频和更完整的模式管理。

4) 编译

bash
cd /home/pi/lk_x2mipi
chmod +x scripts/*.sh
./scripts/build.sh

编译成功后会得到:

  • module/lk_x2mipi.ko
  • overlay/lk_x2mipi.dtbo(与 dtoverlay=lk_x2mipi 对应;源文件为 lk_x2mipi-overlay.dts

5) 安装并加载

bash
cd /home/pi/lk_x2mipi
sudo ./scripts/install.sh

脚本会执行:

  • 安装 lk_x2mipi.ko/lib/modules/$(uname -r)/extra/
  • depmod -a
  • modprobe lk_x2mipi
  • 安装 lk_x2mipi.dtbo/boot/overlays/(如目录存在)或 /boot/firmware/overlays/

6) 启用 overlay

/boot/firmware/config.txt(部分系统是 /boot/config.txt)中添加:

ini
camera_auto_detect=0
dtoverlay=lk_x2mipi

本 overlay 默认 2-lane CSI(树莓派摄像头 FFC 的 D0/D1),与 i2c_csi_dsi 上的 SCL/SDA 一致,无需再写 2lane 参数。

接在 CAM0 接口时使用:

ini
dtoverlay=lk_x2mipi,cam0

若硬件实际接了 4 条 CSI data lane,再启用:

ini
dtoverlay=lk_x2mipi,4lane

如需 media-controller 模式:

ini
dtoverlay=lk_x2mipi,media-controller=1

重启后验证:

bash
dmesg | grep -i lk_x2mipi
media-ctl -p
v4l2-ctl --list-devices

若没有 /dev/video0、列表里也没有 unicam

dtoverlay=lk_x2mipi 只会加载 /boot/firmware/overlays/lk_x2mipi.dtbo。若你曾使用过旧文件,请在本仓库里重新执行 ./scripts/build.shsudo ./scripts/install.sh 覆盖安装。

7) 通过字符设备更新 EDID

驱动会创建字符设备:

  • /dev/lk_x2mipi

向该设备写入 EDID 二进制(最大 512 字节)即可下发到桥接芯片。例如:

bash
sudo dd if=/path/to/edid.bin of=/dev/lk_x2mipi bs=512 count=1

查看更新结果:

bash
dmesg | grep -i "EDID updated"

深圳市优森美科技开发有限公司
欢迎咨询音视频产品方案与芯片选型支持
邮箱:doc@ultrasemi.com · QQ: 2272715136

深圳市优森美科技开发有限公司
欢迎咨询音视频产品方案与芯片选型支持
邮箱:doc@ultrasemi.com · QQ: 2272715136