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/AM5728:OV10635摄像头 I2C 问题

Guru**** 2584275 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/593845/linux-am5728-ov10635-camera-i2c-issue

器件型号:AM5728

工具/软件:Linux

大家好、

我们希望将 OmniVision OV10635摄像头连接到  AM572x GP EVM。

我们已在 mux_data.h (至引脚多路复用器 i2c 5 SCL/sda)中进行了所有必要的更改、并在器件树中进行了更改、以便将可用 的 OV10635驱动程序代码加载为 v4l2子器件(VIP)。

ti/board-support/linux-4.4.4.3.32+gitAUTOINC+adde2ca9f8-gadde2ca9f8/drivers/media/i2c/ov1063x.c

但在首次调用 i2c 调用读取寄存器时、驱动程序在探测阶段本身失败。

ov1063x_video_probe->ov1063x_set_regs->ov1063x_reg_write->i2c_transfer 。

请告诉我所提供的 ov1063x 驱动程序代码中需要的任何特定更改/补丁。

这也是因为 Omnivision SCCB 与 I2C 协议之间的区别??

此致

Pallab Sarkar

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

    您确定 I2C 配置正确吗? 您是否在 I2C 线路上看到任何信号?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Biser、

    是的、i2c 已正确配置并在信号分析器上验证。
    附加的信号分析器输出。
    连接后还确认了 OV10635的电气特性(如振荡器等)。 电气连接已建立。

    此致
    Pallab
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们需要更多信息才能提供帮助。 我假设您要将自定义摄像头板连接到 AM572x GP EVM LCD 模块的 J9。 如果是、您能否提供更多有关如何将 OV10635传感器连接到 J9的详细信息。

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

    我们仅使用 AM572x GP EVM 的处理器模块(而不是 LCD 模块)。
    我们开发了定制摄像机连接 PCB、可帮助我们将 OV10635与处理器模块的 P16接头相连。


    所做的更改如下所示。

    /board-support/u-boot-2016.05 +gitAUTOINC+6c5519b6fc-g6c5519b6fc/board/ti/am57xx/mux_data.h

    const struct pad_conf_entry core_padconf_array_Essential x15[]={

    #if 0
    {GPMC_AD12、(M2 | PIN_INPUT | MANUAL_MODE)}、// GPMC_ad12.vin3a_d12 *
    {GPMC_AD13、(M2 | PIN_INPUT | MANUAL_MODE)}、// GPMC_ad13.vin3A_D13 *
    {GPMC_AD14、(M2 | PIN_INPUT | MANUAL_MODE)}、// GPMC_ad14.vin3A_D14 *
    {GPMC_AD15、(M2 | PIN_INPUT | MANUAL_MODE)}、// GPMC_ad15.vin3A_D15 *
    #endif


    {GPMC_AD12、(M14 | PIN_OUTPUT)}、// GPMC_AD12.GPIO1_18 */
    {GPMC_AD13、(M14 | PIN_OUTPUT)}、// GPMC_AD13.GPIO1_19 *
    {GPMC_AD14、(M14 | PIN_OUTPLUP)}、// GPMC_ad14.GPIO1_20 *
    {GPMC_AD15、(M14 | PIN_OUTPUT)}、// GPMC_ad15.GPIO1_21 *


    #if 0//Pallab:-由于我们的新凸轮板不使用此凸轮板,请将其卸下
    {McASP1_AXR8、(M14 | PIN_INPUT)}、// McASP1_axr8.GPIO5_10 *
    {McASP1_AXR9、(M14 | PIN_INPUT)}、// McASP1_axr9.GPIO5_11 *
    {McASP1_AXR10、(M14 | PIN_INPUT)}、// McASP1_axr10.GPIO5_12 *
    {McASP1_AXR11、(M14 | PIN_INPUT_PULLUP)}、// McASP1_axr11.GPIO4_17 *
    #endif


    /*{GPMC_A4、(M2 | PIN_INPUT 下拉| MANUAL_MODE)}、*///* GPMC_A4.vin3a_d20 *
    /*{GPMC_A5、(M2 | PIN_INPUT 下拉| MANUAL_MODE)}、*///* GPMC_A5.vin3a_D21 *

    {GPMC_A4、(M7 | PIN_INPUT_PULLUP)}、// GPMC_A4.i2c5_sda Pallab:-新的凸轮板配置*/
    {GPMC_A5、(M7 | PIN_INPUT_PULLUP)}、// GPMC_A5.i2c5_SCL Pallab:-新的凸轮板配置*/

    /*{GPMC_A13、(M14 | PIN_INPUT_PULLUP)}、*//* GPMC_A13.GPIO2_3 *///Pallab:-现在不需要它连接到 LCD



    2.设备树更改

    /ti/board-support/linux-4.4.32 +gitAUTOINC+adde2ca9f8-gadde2ca9f8/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi

    i2c5{(&I)
    状态="正常";
    pinctrl-names ="default";
    pinctrl-0 =<&i2c5_PINS_DEFAULT>;
    时钟频率=<400000>;
    ovcamera@30{
    兼容="ovti、ov10635";
    reg =<0x30>;
    //mux-GPIO =<&pcf_HDMI 3 GPIO_ACTIVE_LOW>;
    端口{
    CAM:端点{
    远程端点=<&V vin3a>;
    HSYNC-ACTIVE =<1>;
    vsync-active =<1>;
    pclk-sample =<1>;
    };
    };
    };

    };

    vip2{(&V)
    状态="正常";
    };

    vin3a{(&V)
    状态="正常";
    端点{
    从模式;
    远程端点=<凸轮>;
    };
    };

    如果您需要更多详细信息/澄清、请告诉我
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    听起来您 验证 了 I2C 端口的一些功能、您的问题与 软件驱动程序操作更相关。  如果是、 我将 无法提供帮助。

    我可以尝试回答 与 AM572x GP EVM 相关的硬件问题。

    您 上次的回复指出您的硬件 已直接连接 到处理器模块的 P16。  AM572x GP EVM 的原始配置通过 LCD 模块将摄像头模块连接到处理器板。  在这个原始配置中使用的 I2C 端口为 I2C5、并通过 P18连接到处理器模块。 您是否使用相同的 I2C 端口?

    其他人在另一个 E2E 论坛主题中提出类似的问题。 您是否正在与名为 Rahul 的人合作? 如果是、希望该软件能够帮助解决此问题、因为他的帖子已转发给软件团队。

    此致、

    Paul