This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] [参考译文] [常见问题解答] CSI 传感器在 V4L2环境中无法探测的常见原因是什么?

Guru**** 1805920 points
Other Parts Discussed in Thread: AM67, AM625, AM623, AM62P, AM62A7-Q1
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1403196/faq-what-are-the-common-reasons-a-csi-sensor-fails-to-probe-in-v4l2-environment

器件型号:AM62A7
主题中讨论的其他器件:AM62P、AM67、AM625 、AM623

工具与软件:

我已将 CSI 摄像头连接到电路板、但传感器没有探测到。 传感器不探测的可能原因是什么?

其他器件: AM62A3、 AM62A3-Q1、AM62A7-Q1、AM62P、 AM67、 AM68A、 AM69A、AM623、AM625

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    传感器不进行探测的原因可能有多种。 下面是需要检查和调试的内容。

    1.  检查启动消息、并查看是否探测了 CSI2-CSI2 Rx 接口。

    运行以下命令:

     root@am62axx-evm:~# dmesg | grep csi

    如果此命令未返回任何内容、则很可能意味着未加载传感器的器件树覆盖层。 然后检查 u-boot 消息以了解任何 dtbo 加载故障等情况

    Working FDT set to 88000000
    Failed to load '/boot/dtb/k3-am62x-sk-csi2-imx219.dtbo'

    以上消息表示无法找到并加载 dtbo 文件。 路径应为"/boot/dtb/ti "。 解决方案是在 dtbo 路径中添加"ti/":

    name_overlays=ti/<sensor dtbo file>

    如果"dmesg | grep csi"命令显示探测故障、例如下面、这很可能是由 CSI2-RX 的设备树叠加层中的错误导致的。

    cdns-csi2rx: probe of 30101000.csi-bridge failed with error -22

    通过与 SDK 中现有的传感器覆层进行比较、检查传感器的器件树覆层。 一种常见的错误是使用了错误的 CSI-2 Rx 端口。 例如、AM62A SoC 只有一个 CSI-2 Rx 端口、应在 IMX219覆盖层中按如下所示使用"csi0_port0":

    &csi0_port0 {
    	status = "okay";
    
    	csi2rx0_in_sensor: endpoint {
    		remote-endpoint = <&csi2_cam0>;
    		bus-type = <4>; /* CSI2 DPHY. */
    		clock-lanes = <0>;
    		data-lanes = <1 2>;
    	};
    };

    如果 CSI2-CSI2 Rx 接口的器件树覆盖正确、则应显示以下消息:

    root@am62axx-evm:~# dmesg | grep csi
    cdns-csi2rx 30101000.csi-bridge: Probed CSI2RX with 2/4 lanes, 4 streams, external D-PHY

    2.检查启动消息并搜索传感器探测错误。

    例如、一种常见的传感器探测误差是:

    root@am62axx-evm:~# dmesg | grep imx219
    [    6.520787] imx219 4-0010: Error reading reg 0x0000: -121
    [    6.520796] imx219 4-0010: failed to read chip id 219
    [    6.547515] imx219: probe of 4-0010 failed with error -121

    如果出现此类错误、请尝试以下调试选项:

    • 检查摄像机连接。 如果使用的是22引脚/15引脚 FFC 连接器、请确保引脚 正确对齐。  
    • 检查电路板原理图、并确保在传感器的器件树叠加层中使用正确的 I2C 总线。 确保在覆盖层中使用传感器的正确 I2C 地址。
    • 在摄像头连接到的 I2C 总线上运行"i2cdetect"、并检查是否可以看到传感器 I2C 地址。 例如、在 AM62A 入门套件上、CSI 摄像头使用 SoC I2C 2多路复用器(开关)通道1。 下面的 i2cdetect 命令显示在 i2c-2-mux (chan_id 1)上的地址0x10 (IMX219)上检测到设备:
      root@am62axx-evm:~# i2cdetect -l
      i2c-0   i2c             OMAP I2C adapter                        I2C adapter
      i2c-1   i2c             OMAP I2C adapter                        I2C adapter
      i2c-2   i2c             OMAP I2C adapter                        I2C adapter
      i2c-3   i2c             i2c-2-mux (chan_id 0)                   I2C adapter
      i2c-4   i2c             i2c-2-mux (chan_id 1)                   I2C adapter
      i2c-5   i2c             i2c-1-mux (chan_id 0)                   I2C adapter
      
      root@am62axx-evm:~# i2cdetect -y -r 4
           0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
      00:                         -- -- -- -- -- -- -- --
      10: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
      70: -- UU -- -- -- -- -- --

    有关 CSI 摄像头的其他常见问题、请参阅此常见问题解答: