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.

[参考译文] Linux/TMDXEVM368:I2C_Davinci:在控制器超时时时时启动总线恢复

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/595490/linux-tmdxevm368-i2c_davinci-initiating-bus-recovery-upon-controller-time-out

器件型号:TMDXEVM368
主题中讨论的其他器件:TVP5146

工具/软件:Linux

您好!

我使用具有 IPNC RDK v5.1.0的 DM368 EVM 来建立和操作视频处理管道(使用 AV-Server)。 DM368 EVM 使用 TVP5146对输入视频进行解码、这已在 Linux 内核的 defconfig 和应用的构建规则中进行了配置。 板级配置文件中存在所有必要的集成。

但是、在启动 Linux 内核时、尤其是在初始化 I2C 总线时、我会看到几条重复的消息、指示出现故障:

I2C_Davinci i2c_Davinci.1:控制器超时
I2C_Davinci i2c_Davinci.1:启动 i2c 总线恢复

在运行应用程序时、不会在/dev/中 填充 I2C 条目、因此无法访问任何设备。

由于内核、应用程序或硬件没有任何明显的错误、通常会导致这种情况的原因是什么、以及可以解决这种情况的原因是什么?

谢谢、

Anirudh

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

    " Linux 内核的 defconfig"这意味着您是否曾尝试在内核中配置 TVP5146驱动程序? 如果是、则无需在内核中配置 TVP。 仅在 IPNC 中
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Dwarakesh、

    在内核配置中、I2C (自然)以及 TVP514X 驱动程序均已启用。 IPNC 应用将 TVP514X 配置为成像器类型、而管道使用 IPIPE 框架访问视频数据。 因此、是的、我认为 TVP5146驱动程序也已在内核中配置。

    如果我正确理解您的响应、这是冲突配置吗? 此外、此配置是否会导致/dev/目录 中的所有 I2C 设备都不可用

    谢谢、

    Anirudh

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

    您好、Anirudh、

    是的、它是冲突的、因为内核中的 TVP514x 使用 v4l2框架来注册自己并工作。 但 IPNC 软件包使用 IPNC 框架。 因此、需要在 Rules.make 中启用 TVP514x、从而在 IPNC 框架中启用、并在内核配置中禁用 TVP514x。

    没有/dev/entry 可能是由于以下几个原因造成的
    由于 udev 通常不运行,因此如果注意到第2点,我们需要在/dev/中 手动创建节点。
    2.在内核中、确保设置了 CANGI_I2C_CHARDEV。