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.

[参考译文] J722SXH01EVM:流 0 在 cvdeo3 和 video4 中复制、stream1 不在 video4 中出现

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1627588/j722sxh01evm-stream-0-is-duplicating-in-cvdeo3-and-video4-stream1-is-not-coming-in-video4

器件型号: J722SXH01EVM

下面是我的 media-ctl 输出

器件拓扑
-实体 1: 30102000.ticsi2rx(7 个电极,7 个链,2 条路)
      键入 V4L2 subdev 子类型未知标志 0
      器件节点名称/dev/v4l-subdev0
    路线:
        0/0 ->1/0【活动】
        0/1 ->2/0【正在供货】
    pad0:水槽
        [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        [STREAM:1 Fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        <-“cdns_csi2rx.30101000.csi-bridge":“:1【已启用,不可更改】
    pad1:来源
        [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        ->“30102000.ticsi2rx 上下文 0“:0【已启用,不可更改】
    pad2:来源
        [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        ->“30102000.ticsi2rx 上下文 1“:0【已启用,不可更改】
    pad3:来源
        ->“30102000.ticsi2rx 上下文 2“:0【已启用,不可更改】
    pad4:来源
        ->“30102000.ticsi2rx 上下文 3“:0【已启用,不可更改】
    pad5:来源
        ->“30102000.ticsi2rx 上下文 4“:0【已启用,不可更改】
    pad6:来源
        ->“30102000.ticsi2rx 上下文 5“:0【已启用,不可更改】

-实体 9:cdns_csi2rx.30101000.csi-bridge(5 个电极、2 个链路、2 条路由)
      键入 V4L2 subdev 子类型未知标志 0
      器件节点名称/dev/v4l-subdev1
    路线:
        0/0 ->1/0【活动】
        0/1 ->1/1【正在供货】
    pad0:水槽
        [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        [STREAM:1 Fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        <-“max96714 4-0027“:1【已启用,不可更改】
    pad1:来源
        [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        [STREAM:1 Fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        ->“30102000.ticsi2rx":“:0【已启用,不可更改】
    pad2:来源
    pad3:来源
    pad4:来源

-实体 15:max96714 4-0027(2 个电极、2 个链路、2 条路由)
       键入 V4L2 subdev 子类型未知标志 0
       器件节点名称/dev/v4l-subdev2
    路线:
        0/0 ->1/0【活动】
        0/1 ->1/1【正在供货】
    pad0:水槽
        [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        [STREAM:1 Fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        <-“max96717 7-0040“:1【已启用,不可更改】
    pad1:来源
        [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        [STREAM:1 Fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        ->“Cdns_csi2rx.30101000.csi-bridge":“:0【已启用,不可更改】

-实体 20:max96717 7-0040(2 个衬垫、2 个链路、2 条路由)
       键入 V4L2 subdev 子类型未知标志 0
       器件节点名称/dev/v4l-subdev3
    路线:
        0/0 ->1/0【活动】
        0/1 ->1/1【正在供货】
    pad0:水槽
        [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        [STREAM:1 Fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        <-“ox05b 8-0053“:0【已启用,不可更改】
    pad1:来源
        [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        [STREAM:1 Fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
        ->“max96714 4-0027“:0【已启用,不可更改】

-实体 25: ox05b 8-0053(1 个键盘, 1 个链路, 2 条路由)
       键入 V4L2 subdev 子类型传感器标志 0
       器件节点名称/dev/v4l-subdev4
    路线:
        0/0 -> 0/0【活动】
        0/0 -> 0/1【活动状态】
    pad0:来源
        [stream:0 fmt:UYVY8_1x16/2592x1944@1/60 field:none colorspace:rec709]
        [STREAM:1 fmt:UYVY8_1x16/2592x1944@1/60 字段:无色空间:rec709]
        ->“max96717 7-0040“:0【已启用,不可更改】

为什么 stream0 显示在 pad2 中而不是流 1 中。
我执行了命令

media-ctl -d 0 -R '“cdns_csi2rx.30101000.csi-bridge"[0“[0 -> 1/0 [1]、0/1 -> 1/1 [1]]“

但流 0 正在复制、而不是流 1。

您能给出解决此问题的建议/命令吗?
我正在使用 IR + RGB 摄像头。

 

此致

Roshan

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

    尊敬的 Roshan Mohammed

    [引述 userid=“684840" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1627588/j722sxh01evm-stream-0-is-duplicating-in-cvdeo3-and-video4-stream1-is-not-coming-in-video4     pad2:来源
            [STREAM:0 fmt:UYVY8_1x16/2592x1944 字段:无色空间:rec709]
            ->“30102000.ticsi2rx 上下文 1“:0【已启用,不可更改】]【报价】

    这可能只是程序输出流的方式。

    [引述 userid=“684840" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1627588/j722sxh01evm-stream-0-is-duplicating-in-cvdeo3-and-video4-stream1-is-not-coming-in-video4     路线:
            0/0 ->1/0【活动】
            0/1 ->2/0【活动】[/报价]

    路线显示正确。

    您是否使用 yavta 或 v4l2-ctl 测试过摄像头?

    此致、
    Jared

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

    您好 Jared、

    我使用 yavta 和 v4l2-ctl 进行了测试、我在 video3 和 video4 中获得了相同的 RGB 数据、我期望在 video4 中获得 IR 帧。 这是我的 dts 文件。

    &main_i2c2 {
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <&main_i2c2_pins_default>;
            clock-frequency = <100000>;
            gmsl-deserializer@27 {
                            compatible = "maxim,max96724";
                            reg = <0x27>;
    
                            port2-poc-supply = <&camera_poc>;
    
                            gpio-controller;
                            #gpio-cells = <2>;
    
                            maxim,i2c-remote-bus-hz = <339000>;
                            maxim,reverse-channel-microvolt = <220000>;
    			
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
    
                                    port@0 {
                                            reg = <0>;
                                            max96724_in: endpoint {
                                            remote-endpoint = <&max96717_out>;
    					data-lanes = <1 2 3 4>;
    					streams = <0 1>;
                                            };
                                    };
    
                                    port@1 {
                                            reg = <1>;
                                            max96724_out: endpoint {
                                                data-lanes = <1 2 3 4>;
                                                remote-endpoint = <&csi2_phy0>;
    					    link-frequencies = /bits/ 64 <600000000>;
    					    streams = <0 1>;
                                            };
                                     };
                            };
    	i2c-gate {
    		#address-cells = <1>;
            	#size-cells = <0>;
    		serializer@40 {
                            compatible = "maxim,max96717f";
                            reg = <0x40>;
    			ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
    
                                    /* Camera input */
                                    port@0 {
                                            reg = <0>;
    
                                            max96717_in: endpoint {
                                                    remote-endpoint = <&ox05b1s_out>;
                                                    data-lanes = <1 2 3 4>;
                                                    streams = <0 1>;
                                            };
                                    };
    
                                    /* GMSL output */
                                    port@1 {
                                            reg = <1>;
    
                                            max96717_out: endpoint {
                                                    remote-endpoint = <&max96724_in>;
    						data-lanes = <1 2 3 4>;
    						streams = <0 1>;
                                            };
                                    };
                            };
    		i2c-gate {
    		#address-cells = <1>;
                    #size-cells = <0>;
    			ox05b1s: camera@53 {
                                    compatible = "ovti,ox05b";
                                    reg = <0x53>;
    
                                    clocks = <&cam_xclk>;
                                    clock-names = "inck";
    
                                    port {
                                            ox05b1s_out: endpoint {
                                                    remote-endpoint = <&max96717_in>;
                                                    data-lanes = <1 2 3 4>;
    						link-frequencies = /bits/ 64 <600000000>;
                                            };
                                    };
                            };
    		};
    		};
    	};
    	};
    };
    
    &cdns_csi2rx0 {
    	status = "okay";
            ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
    
                    csi0_port0: port@0 {
                            reg = <0>;
                            status = "okay";
    
                            csi2_phy0: endpoint {
                                    remote-endpoint = <&max96724_out>;
                                    bus-type = <4>; /* CSI2 DPHY. */
                                    clock-lanes = <0>;
                                    data-lanes = <1 2 3 4>;
                                    link-frequencies = /bits/ 64 <600000000>;
    				streams = <0 1>;
                            };
                    };
    		/* Fire OUTPUT stream 0 */
            	port@1 {
                		reg = <1>;
                		cdns_out0: endpoint {
                    		remote-endpoint = <&csi_in0>;
                		};
            	};
    
            	/* Fire OUTPUT stream 1 */
            	port@2 {
                		reg = <2>;
                		cdns_out1: endpoint {
                    		remote-endpoint = <&csi_in1>;
                		};
            	};
            };
    };
    
    
    /* Enable TI CSI-2RX wrapper at 30102000 */
    &{/bus@f0000/ticsi2rx@30102000} {
        status = "okay";
    };
    
    /* Enable Cadence CSI-2 bridge at 30101000 */
    &{/bus@f0000/ticsi2rx@30102000/csi-bridge@30101000} {
        status = "okay";
    };
    
    
    /* Enable Cadence D-PHY RX at 30110000 (external DPHY) */
    &{/bus@f0000/phy@30110000} {
        status = "okay";
    };
    
    &ti_csi2rx0 {
    	status = "okay";
        ports {
            #address-cells = <1>;
            #size-cells = <0>;
    
            port@0 {
                reg = <0>;
    
                /* stream 0 */
                csi_in0: endpoint@0 {
                    reg = <0>;
                    remote-endpoint = <&cdns_out0>;
                };
    
                /* Fire stream 1 */
                csi_in1: endpoint@1 {
                    reg = <1>;
                    remote-endpoint = <&cdns_out1>;
                };
            };
        };
    };
    
    #if 0
    &ti_csi2rx0 {
            status = "okay";
    };
    #endif
    
    &dphy0 {
        status = "okay";
    };
    

    此致

    Roshan

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

    尊敬的 Roshan Mohammed

    如何创建此设备树? cdns_csi2rx0 和 ti_csi2rx0 的格式看起来不正确。 您不需要设置端口 1 和 2。

    您可以查看以下文档和 E2E 吗?

    您能否查看以下器件树叠加层: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am62a7-sk-csi2-ox05b1s.dtso?h=ti-linux-6.12.y 

    以下 E2E 介绍了如何拆分虚拟通道:  AM625:Linux 上的 MIPI CSI 虚拟通道  

    以下 E2E 介绍了如何将 ISP 中的 IR 与 RGB-RGB 流分离(可能不是您所需要的内容):  SK-AM62A-LP:Ox05B1S:在 gstreamer 中将 IR 与 IR 分离  

    还有一个问题、为什么某些节点使用总线地址而不是别名? 例如:“/bus@f0000/ticsi2rx@30102000“。

    此致、
    Jared

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

    您好 Jared、

    在 CDN 和 csi2rx 中添加端口只是我的一个实验。 以前在 csi2ex 和 CDN 中根本没有端口,只有 max96724 输出存在,尽管它无法正常工作。

    我 已经评论了 ticsi2rx@30102000、因为已经存在 ticsi2rx0 节点。

    我将检查其余的建议,我将做相应的更改,并将回来.

    此致

    Roshan

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

    尊敬的 Roshan Mohammed

    我将等待您的结果。

    此致、
    Jared

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

    您好 Jared、

    它现在正在工作。

    在解串器中添加函数“max96714_get_frame_desc"解决“解决了 该问题。  

    cdns_csi2rx 驱动程序预计不会出现错误、但它正在复制第一个流。

    此致

    Roshan