优森美优森美
  • 总览
  • 宏晶
  • 基石
  • 海奇
  • 接口转换

    • MIPI CSI 接口转换
    • IP KVM
  • 编解码

    • H.264 编解码
    • H.265 编解码
    • H.266 编解码
  • 延长

    • 信号延长器
    • 无线延长与图传
  • MS2130 EDID 工具
  • 深入

    • 架构说明
    • 插件与扩展
    • 主题与展示
    • Cookbook
  • 其他资源

    • 生态系统
    • 市场
    • 贡献指南
  • 简体中文
  • 简体中文
  • en-US
GitHub
  • 总览
  • 宏晶
  • 基石
  • 海奇
  • 接口转换

    • MIPI CSI 接口转换
    • IP KVM
  • 编解码

    • H.264 编解码
    • H.265 编解码
    • H.266 编解码
  • 延长

    • 信号延长器
    • 无线延长与图传
  • MS2130 EDID 工具
  • 深入

    • 架构说明
    • 插件与扩展
    • 主题与展示
    • Cookbook
  • 其他资源

    • 生态系统
    • 市场
    • 贡献指南
  • 简体中文
  • 简体中文
  • en-US
GitHub
  • 方案

    • 接口转换

      • MIPI CSI 接口转换
      • IP KVM
    • 编解码

      • H.264 编解码
      • H.265 编解码
      • H.266 编解码
    • 延长

      • 信号延长器
      • 无线延长与图传

MIPI CSI 接口转换

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

说明

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

树莓派本地编译包(LK_X2MIPI)

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

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

目录结构

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) 准备依赖(树莓派执行)

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

确认内核头可用:

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

3) 驱动源码说明

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

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

4) 编译

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) 安装并加载

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)中添加:

camera_auto_detect=0
dtoverlay=lk_x2mipi

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

接在 CAM0 接口时使用:

dtoverlay=lk_x2mipi,cam0

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

dtoverlay=lk_x2mipi,4lane

如需 media-controller 模式:

dtoverlay=lk_x2mipi,media-controller=1

重启后验证:

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.sh 与 sudo ./scripts/install.sh 覆盖安装。

7) 通过字符设备更新 EDID

驱动会创建字符设备:

  • /dev/lk_x2mipi

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

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

查看更新结果:

dmesg | grep -i "EDID updated"
在 GitHub 上编辑此页
上次更新: 2026/5/11 14:36
贡献者: csliu, Cursor
Next
IP KVM