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.

[参考译文] DRA750:ISL79988视频解码器无法在 J6 (6A.1.3 SDK、RVC 内核)上正常工作

Guru**** 2589275 points
Other Parts Discussed in Thread: TVP5158

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/625951/dra750-isl79988-video-decoder-couldn-t-work-on-j6-6am-1-3-sdk-rvc-kernel

器件型号:DRA750
主题中讨论的其他器件:TVP5158

您好,

这是客户电路板。 ISL79988视频解码器无法在 J6上工作。 我已,数据(D0~D7)已被79988 μ s 输出,但 J6侧没有 IRQ。

ISL79988连接到 VIN1A 端口,我在日志中没有发现任何有关 VIP1/Parser0/VPDMA 的错误。  

下面是检查 D0 ~D7信号的结果。

VIN1A_DATA=(CLK0:0x4a0034dc:GPIO2_30:62 D0:0x4a0034f4:GPIO3_4:68 D1:0x4a0034f8:GPIO3_5:69 D2:0x4a0034fc:GPIO3_6:70 D3:0x4a0034f8:0x7340:GPIO3:0x4a3:0x73507:GPIO4:0xa3:0x4a3:0xa35:0x4003:0x73507:GPIO4:0xa35:0xa35:0x734:0xa35:0xa35:0x734:0xa35:0x7340:D3510

探测 VIN1A 信号
CLK0 D0 D1 D2 D3 D4 D5 D6 D7
1 0 1 0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0 1
1 0 1 1 1 1 0 1 1
1 0 0 1 0 1 0 1 0 1
0 0 0 0 0 0 0 0 1 1
1 1 0 0 0 0 1 1 1
1 1 1 0 0 0 1 0 1
0 1 0 0 1 0 1 0 1
0 1 0 0 1 0 1 1 1 1

并从0x48975530读取视频源大小,全部为零。

|------------------------- |
|地址(十六进制)|数据(十六进制)|
|------------------------- |
| 0x48975500   | 0x00000002 |
| 0x48975504   | 0x00000503 |
| 0x48975508   | 0x00000000 |
| 0x4897550C   | 0x00000000 |
| 0x48975510   | 0x00000000 |
| 0x48975514   | 0x003FFE4F |
| 0x48975518   | 0x00000000 |
| 0x4897551C   | 0x00000000 |
| 0x48975520   | 0xFFFFFFFF |
| 0x48975524   | 0xFFFFFFFF |
| 0x48975528   | 0xFFFFFFFF |
| 0x4897552C   | 0xFFFFFFFF |
| 0x48975530   | 0x00000000 |
| 0x48975534   | 0x00000000 |
| 0x48975538   | 0x00000000 |
| 0x4897553C   | 0x00000000 |
| 0x48975540   | 0x00000000 |
| 0x48975544   | 0x00000000 |
| 0x48975548   | 0x00000000 |

以下是 DTS 配置:

i2c3{(&I)
       状态="正常";
       时钟频率=<400000>;

       isl79988:isl79988@44{
               compatible ="ISL、isl79988";
               reg =<0x44>;

               RST_GPIO =<&GPIO3 16 GPIO_ACTIVE_HIGH_>;
               端口{
                       TVP_DECODER:端点@0{
                               总线宽度=<8>;
                               远程端点=<&V vin1a>;
                               pclk-sample =<0>;
                               CHANNELS =<0 2 4 6>;
                       };
               };
       };

};

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

vin1a{(&V)
       状态="正常";
       端点@0{
               从模式;
               远程端点=<&TVP_DECODER>;
       };
};

以下是日志:

[36.533744]  vip1-s0:vIP_open
[36.536736]  [baker]输入 TVP5158_get_fmt,509
[36.541286]  [Baker]输入 TVP5158_GET_VIDEO 标准版,748
[36.546750]  [baker] i2cread status = 0x68
[36.550690]  isl79988 2-0044:检测到 NTSC 视频
[36.555432]  [Baker]输入 TVP5158_GET_VIDEO 标准版,785
[36.560516]  [baker]输入 TVP5158_get_fmt,538
[36.565117]  vip1-s0:vip_init_port:g_MBUS_fmt subdev MBUS_code:2006 fourcc:NV12大小:720x240
[36.574176]  vip1-s0:vIP_enable_parser:on = 0、port->port_id=0
[36.579871]  vip1-s0:vip_enable_parser:base=0xFA975500、offset=0x4、config0=0xC0
[36.607430]  vip1-s0:vIP_ENABLE_PARSER:读取 CONFIG0=0xC0
[36.612866]  vip1-s0:Calc_format_size:FourCC:NV12 size:720x240 BPL:720 img_size:259200
[36.621012]  vip1-s0:init_stream fourcc:NV12大小:720x240 BPL:720 img_size:259200
[36.628638]  vip1-s0:init_stream vpdma 数据类型:0x02
[36.633819]  vip1-s0:vip_init_stream:流实例0x0000ee5bc000
[36.640563]  vip1-s0:获取3个大小均为259200的缓冲器。
[36.647520]  vip1-s0:vip_start_streaming:
[36.651551]  vip1-s0:vIP_set_slice_path:
[36.655662]  vip1-s0:vip_set_slice_path:data_path_select (0000010C):60008600
[36.662970]  vip1-s0:vip_set_slice_path:
[36.666942]  vip1-s0:vip_set_slice_path:data_path_select (0000010C):90008600
[36.674452]  vip1-s0:vip_set_slice_path:
[36.678393]  vip1-s0:vip_set_slice_path:data_path_select (0000010C):50008600
[36.685921]  vip1-s0:[Baker] VIP_setup_parser --
[36.690734]  vip1-s0:[BAKER] VIP_setup_parser -bus_type =V4L2_MBUS_BT656
[36.697590]  vip1-s0:[BAKER] VIP_setup_parser -config0=0x4c3、sync-type=3
[36.704511]  [Baker]输入 TVP5158_s_stream、390、ENABLE=1
[36.716788]  vip1-s0:vip_load_vpdma_list_fifo:start_DMA vB2 buf idx:0
[36.723343]  vip1-s0:start_dma:vB2 buf idx:0、dma_addr:0xde4c0000
[36.730694]  vip1-s0:vp_load_vpdma_list_fifo:start_DMA VB2 buf idx:1.
[36.737305]  vip1-s0:start_dma:vB2 buf idx:1、dma_addr:0xde5c0000
[36.74461]  vip1-s0:添加了下一个缓冲区
[36.748419]  vip1-s0:start_dma:vB2 buf idx:2、dma_addr:0xde600000
[36.754651]  vip1-s0:vip_enable_parser:on = 1、port->port_id=0
[36.760335]  vip1-s0:vip_enable_parser:base=0xFA975500、offset=0x4、config0=0x503
[36.787965]  vip1-s0:vIP_ENABLE_PARSER:读取 CONFIG0=0x503
[36.793472]  vip1-s0:vip_start_streaming: end

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

    视频专家将在此处收到通知并直接发表评论。

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

    如果您使用的是不同的视频解码器,则最好为此编写一个单独的驱动程序。
    您只能使用 TVP5158作为参考。

    器件树提到、解码器驱动的通道数为0、2、4、6
    这是使用线路多路复用的4通道。
    这将为4通道线路多路复用数据配置 vin1a 解析器。 因此、我们预计会出现故障。

    解码器很可能不会以线路多路复用格式生成数据。
    请更新 DT 节点以反映正确的通道。 (最有可能只有单通道为0)


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

    你好,Nikhil,

    79988支持4通道多路复用 ,现在79988初始为4通道。

    如您所述,我曾尝试为79988初始的单通道,并将 DT 节点更新为通道0, 结果相同。仍然没有 IRQ。

    root@jacinto6evm:/# cat /dev/video1 (只需打开视频设备,然后检查 J6侧是否有 IRQ)

    root@jacinto6evm:/# cat /proc/interrupts

    366:         0         0     CBAR 354级别    VPE
    367:         0              0 CBAR 351电平    vip1-s0
    368:         0              CBAR 392电平    vip1-s1

    谢谢。

    // Baker

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

    你好,Nikhil,

    强制 SYNC_TYPE = INED_SYNC_4X_MULTIPLEXED_YUV422之后;  

    并将79988输出配置为 Byte Interleaved 而不是 Line Interleaved。

    现在工作正常。

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

    是否可以将该主题帖标记为"已验证"以自动关闭?

    此致、
    Mariya