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.

请教AM437X,tvp5150驱动问题

Other Parts Discussed in Thread: TVP5150

请教诸位大神,帮帮忙,

米尔科技AM437X开发板,tvp5150,模块,我想获取到tvp5150输出的8位bt656视频数据,如何加载驱动呢?我找不到/dev/video0设备节点

我做了如下工作:

1、修改myir_ricoboard_defconfig,按照ti官网说的修改了一下,

    CONFIG_VIDEO_TVP5150 = y

    Depends on: MEDIA_SUPPORT [=y] && VIDEO_V4L2 [=y] && I2C [=y]

 Selected by: VIDEO_EM28XX_V4L2 [=y] && USB [=y] && MEDIA_SUPPORT [=y] && MEDIA_USB_SUPPORT [=y] && (MEDIA_CAMERA_SUPPORT [=y] || ME  DIA_ANALOG_TV_SUPPORT [=y] || MEDIA_DIGITAL_TV_SUPPORT [=y]) && VIDEO_EM28XX [=y] && MEDIA_SUBDRV_AUTOSELECT [=y]。
2、修改myir_ricoboard.dts
把ov2659改成了tvp5150,reg没改,reg<0x30>
3、修改tvp5150寄存器
0x03寄存器 值为0x09,0x47寄存器值改为0x40

做完这些之后编译内核,用dmesg命令查看,发现如下错误。

tvp5150 0-0030: i2c i/o error: rc == -121 (should be 1)
tvp5150: probe of 0-0030 failed with error -121

位置在

 res = tvp5150_read(sd, TVP5150_MSB_DEV_ID + i);  

 #define TVP5150_MSB_DEV_ID          0x80 /* MSB of device ID */

__i2c_transfer for -121

请教大神们,问题原因是什么,我该如何修改?

谢谢!

  • 米尔科技的核心板上带了TVP5150模块吗?还是说你在RGB的接口上接了这么个模块?现在要调试的是AM437x这部分还是5150的部分?

    如果是在RGB接口上做对接,你只要调整好DSS的相关配置就好了呀。

  • 首先谢谢您,

    米尔科技没有提供tvp5150模块,我自己买的tvp5150模块,用软排线和米尔开发板的camera0接口对接,但是没有/dev/videoX设备节点出现,所以做了我帖子里的步骤,在调试的是AM437X这部分,是不是dts文件里reg对应的地址,对于每个外设都是特定的?它原来是

    ov2659@30 {
    compatible = "ti,ov2659";
    reg = <0x30>;

    port {
    ov2659_0: endpoint {
    remote-endpoint = <&vpfe1_ep>;
    mclk-frequency = <12000000>;
    };
    };

  • tvp5150的i2c地址根据I2CSEL引脚的电平设置可能是5d或者5c,所以改成@5d, reg=<0x5d>  或者@5c, reg=<0x5c> 。同时你还需要对vpfe部分进行设置。具体参看tvp5150的数据手册和linux4.9内核文档中tvp5150.txt文件。祝你好运。

  • 目前已經可以看到畫面,但在write reg(0x00) = 0x0, reg(0x03) = 0x69,只要一打開0x03 (bit3)YUV output,再去IIC read write 都會有機率NO ACK,是否有窗口詢問此問題?
  • 重新开个帖子,将你的问题描述一下发在论坛里,有人会回答你的