After changing Virtual Channel 0 to Virtual Channel 2, V4L2 is unable to capture data

hi all,

please help!

It’s the jetson thor r38.4 + max96712 platform. Both vc-id and vc_id are 0 in dts file , and the data path is sensor → max96712 pipe2(VC0/ dst VC0) → CSI->VI, that is succeed.

But When i only config vc-id and vc_id are 2 and dst VC0 change to dst VC2, caputer-vi can not get any data, that is failure.

The vc_id/vc-id of DTS information is as follows:


	fragment@0 {
		target-path = "/";
		__overlay__ {
			tegra-capture-vi {
				status = "okay";
				num-channels = <1>;

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;
						status = "okay";

						lc305_vi_in0: endpoint {
							status = "okay";

							vc-id = <2>;      <-----------------------
							........
							remote-endpoint = <&lc305_csi_out0>;
						};
					};
				};
			};

			tegra-camera-platform {
				compatible = "nvidia, tegra-camera-platform";
				status = "okay";
				modules {
					module0 {
						status = "okay";
						......

						drivernode0 {
							status = "okay";
						......
						};						
					};
				};
			};
		};
	};

	fragment@1 {
		target = <&nvcsi>;
		__overlay__ {
			status = "okay";
			#address-cells = <1>;
			#size-cells = <0>;

			num-channels = <1>;

			channel@0 {
				reg = <0>;
				status = "okay";

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;
						status = "okay";

						lc305_csi_in0: endpoint@0 {
							status = "okay";
                                                        .......
							remote-endpoint = <&lc305_out0>;
						};
					};
					port@1 {
						reg = <1>;
						status = "okay";

						lc305_csi_out0: endpoint@1 {
							status = "okay";
							remote-endpoint = <&lc305_vi_in0>;
						};
					};
				};
			};
		};
	};

	fragment@2 {
		target = <&i2c3>;
		__overlay__ {
			status = "okay";
			#address-cells = <1>;
			#size-cells = <0>;

			lc305_a: lc305_a@42 {
				status = "okay";
				reg = <0x42>;
				compatible = "lc305,isx031";
				use_sensor_mode_id = "true";

				cam-type = "RBG";
				dser-link-port = "b";

				st-vc = <0>;
				vc-id = <2>;              <-----------------------

				nvidia,gmsl-dser-device = <&dser0>;

				ports {
					#address-cells = <1>;
					#size-cells = <0>;

					port@0 {
						reg = <0>;

						lc305_out0: endpoint {

							vc-id = <2>;                  <-----------------------

							.......
							remote-endpoint = <&lc305_csi_in0>;
						};
					};
				};

				mode0 {
					pixel_t = "yuv_yvyu16";
					csi_pixel_bit_depth = "16";
					mode_type = "yuv";
					pixel_phase = "rggb";

					........

					vc_id = "2";       <-----------------------
				};
			};

			dser0: max96712@6b {
				status = "okay";
				reg = <0x6b>;
		               .......
				reset-gpios = <&gpio_main CAM0_PWDN GPIO_ACTIVE_HIGH>;

			};
		};
	};
};

could you help me, thanks.

Do you modify the max96712 to output correct vc-id in the PH?

Thanks

Is this still an issue to support? Any result can be shared?