Xavier connect FDLINK camera

So if we do not use ISP of Xavier,how we can disable it?

If your sensor have ISP and output YUV format you can just ignore the gain/frametate/exposure,
And you can only use v4l2 APP for capture the frame data like v4l2-ctl or v4l2src

Hi ShaneCCC,
Thank you very much for your replay!
We have disabled plugin manager by exclude file “tegra194-plugin-manager-p2822-0000.dtsi”, but we found the following mistakes" ep of_device is not enabled /host1x/vi@15c10000/ports/port@0/endpoint .", please help to see where the problem may be.

Thanks,

BR

--------log----

[ 6.732642] tegra194-isp5 14800000.isp: initialized
[ 6.738539] tegra194-vi5 15c10000.vi: using default number of vi channels, 36
[ 6.740853] tegra194-vi5 15c10000.vi: initialized
[ 6.744579] tegra194-vi5 15c10000.vi: ep of_device is not enabled /host1x/vi@15c10000/ports/port@0/endpoint.
[ 6.745287] tegra186-cam-rtcpu bc00000.rtcpu: Trace buffer configured at IOVA=0xbff00000

Dump the device tree to check if it’s exactly as your declaration.

sudo dtc -I fs -O dts -o extracted_dt.dts /proc/device-tree

Hi ShaneCCC,

see attachment file for check,please.
extracted_dt.dts.log (326.7 KB)

Looks like you didn’t include your camera device tree.
The tegra-camera-platform still reference code.
Please go through to sensor programing guide to know much detail.

tegra-camera-platform {
		isp_bw_margin_pct = <0x19>;
		compatible = "nvidia, tegra-camera-platform";
		max_pixel_rate = <0xb71b0>;
		num_csi_lanes = <0x4>;
		vi_peak_byte_per_pixel = <0x2>;
		max_lane_speed = <0x16e360>;
		phandle = <0x1c2>;
		tpg_max_iso = <0x3bc400>;
		vi_bw_margin_pct = <0x19>;
		linux,phandle = <0x1c2>;
		min_bits_per_pixel = <0xa>;
		isp_peak_byte_per_pixel = <0x5>;

		modules {

			module4 {
				badge = "e3333_bottomright_P5V27C";
				status = "disabled";
				phandle = <0x1cf>;
				position = "bottomright";
				linux,phandle = <0x1cf>;
				orientation = [31 00];

				drivernode1 {
					pcl_id = "v4l2_lens";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
					phandle = <0x1d1>;
					linux,phandle = <0x1d1>;
				};

				drivernode0 {
					devname = "ov5693 34-0036";
					pcl_id = "v4l2_sensor";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@4/ov5693_e@36";
					phandle = <0x1d0>;
					linux,phandle = <0x1d0>;
				};
			};

			module2 {
				badge = "e3333_centerright_P5V27C";
				status = "disabled";
				phandle = <0x1c9>;
				position = "centerright";
				linux,phandle = <0x1c9>;
				orientation = [31 00];

				drivernode1 {
					pcl_id = "v4l2_lens";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
					phandle = <0x1cb>;
					linux,phandle = <0x1cb>;
				};

				drivernode0 {
					devname = "ov5693 32-0036";
					pcl_id = "v4l2_sensor";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@2/ov5693_c@36";
					phandle = <0x1ca>;
					linux,phandle = <0x1ca>;
				};
			};

			module0 {
				badge = "ar231_bottom_atar231";
				status = "disabled";
				phandle = <0x1c3>;
				position = "rear";
				linux,phandle = <0x1c3>;
				orientation = [30 00];

				drivernode1 {
					pcl_id = "v4l2_lens";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
					phandle = <0x1c5>;
					linux,phandle = <0x1c5>;
				};

				drivernode0 {
					devname = "ar231 80-0018";
					pcl_id = "v4l2_sensor";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/i2c@31e0000/ar231_a@18";
					phandle = <0x1c4>;
					linux,phandle = <0x1c4>;
				};
			};

			module5 {
				badge = "e3333_topright_P5V27C";
				status = "disabled";
				phandle = <0x1d2>;
				position = "topright";
				linux,phandle = <0x1d2>;
				orientation = [31 00];

				drivernode1 {
					pcl_id = "v4l2_lens";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
					phandle = <0x1d4>;
					linux,phandle = <0x1d4>;
				};

				drivernode0 {
					devname = "ov5693 35-0036";
					pcl_id = "v4l2_sensor";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@5/ov5693_g@36";
					phandle = <0x1d3>;
					linux,phandle = <0x1d3>;
				};
			};

			module3 {
				badge = "e3333_topleft_P5V27C";
				status = "disabled";
				phandle = <0x1cc>;
				position = "topleft";
				linux,phandle = <0x1cc>;
				orientation = [31 00];

				drivernode1 {
					pcl_id = "v4l2_lens";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/e3333_lens_ov5693@P5V27C/";
					phandle = <0x1ce>;
					linux,phandle = <0x1ce>;
				};

				drivernode0 {
					devname = "ov5693 33-0036";
					pcl_id = "v4l2_sensor";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@77/i2c@3/ov5693_d@36";
					phandle = <0x1cd>;
					linux,phandle = <0x1cd>;
				};
			};

			module1 {
				badge = "imx390_front";
				status = "disabled";
				phandle = <0x1c6>;
				position = "front";
				linux,phandle = <0x1c6>;
				orientation = [31 00];

				drivernode1 {
					pcl_id = "v4l2_lens";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
					phandle = <0x1c8>;
					linux,phandle = <0x1c8>;
				};

				drivernode0 {
					devname = "imx390 30-001c";
					pcl_id = "v4l2_sensor";
					status = "disabled";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/imx390_b@1c";
					phandle = <0x1c7>;
					linux,phandle = <0x1c7>;
				};
			};
		};
	};

Thank you!
We exclude some irrelevant camera,and catch the dts , help to check attachment file if there is any problem please!

BTW, there is a “video0” in /dev/video0.

Thanks,
BR

extracted_dt.dts.dts.log (246.8 KB)

Check the kernel message to know if the ar231 was loaded and probe normally.

Also below is incorrect even it not relative for the video0 created. Should be 8-0018

devname = “ar231 80-0018”

Thanks!
Let me modify the DTS for this bug,but I’m not sure how to modify it, just change “ar231 80-0018” to“ar231 8-0018” in the dts file ?
BTW,where did the V4l2 test tools (like v4l2-compliance v4l2-ctl, I not find them in nvidia system)in the documentation come from?

Thank you very much!

BR,

You may install package v4l-utils:

sudo apt-get update
sudo apt-get install v4l-utils

Hi Honey_Patouceul,

      Thank you for your replay!
      In follwing log has a "nvcsi--1",but  CSI 2 and 3 are used in our hardware(following picture). How can we modify DTS to send data to CSI 2 and 3?

Our DTS is in the reply above.


==========log============
cheese-20482 [001] … 640.467565: tegra_channel_open: vi-output, ar231 8-0018
cheese-20482 [001] … 640.469815: tegra_channel_set_power: ar231 8-0018 : 0x1
cheese-20482 [001] … 640.469897: camera_common_s_power: status : 0x1
cheese-20482 [001] … 640.470546: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x1
cheese-20482 [001] … 640.470551: csi_s_power: enable : 0x1
cheese-20482 [001] … 640.472201: tegra_channel_close: vi-output, ar231 8-0018
cheese-20482 [001] … 640.472209: tegra_channel_set_power: ar231 8-0018 : 0x0
cheese-20482 [001] … 640.472219: camera_common_s_power: status : 0x0
cheese-20482 [001] … 640.472424: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x0
cheese-20482 [001] … 640.472426: csi_s_power: enable : 0x0
cheese-20488 [003] … 640.478755: tegra_channel_open: vi-output, ar231 8-0018
cheese-20488 [003] … 640.478781: tegra_channel_set_power: ar231 8-0018 : 0x1
cheese-20488 [003] … 640.478798: camera_common_s_power: status : 0x1
cheese-20488 [003] … 640.479714: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x1
cheese-20488 [003] … 640.479720: csi_s_power: enable : 0x1
cheese-20488 [003] … 640.480242: tegra_channel_close: vi-output, ar231 8-0018
cheese-20488 [003] … 640.480250: tegra_channel_set_power: ar231 8-0018 : 0x0
cheese-20488 [003] … 640.480260: camera_common_s_power: status : 0x0
cheese-20488 [003] … 640.480475: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x0
cheese-20488 [003] … 640.480479: csi_s_power: enable : 0x0
cheese-20562 [002] … 884.968616: tegra_channel_open: vi-output, ar231 8-0018
cheese-20562 [002] … 884.970917: tegra_channel_set_power: ar231 8-0018 : 0x1
cheese-20562 [002] … 884.970989: camera_common_s_power: status : 0x1
cheese-20562 [002] … 884.971775: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x1
cheese-20562 [002] … 884.971782: csi_s_power: enable : 0x1
cheese-20562 [002] … 884.973561: tegra_channel_close: vi-output, ar231 8-0018
cheese-20562 [002] … 884.973572: tegra_channel_set_power: ar231 8-0018 : 0x0
cheese-20562 [002] … 884.973593: camera_common_s_power: status : 0x0
cheese-20562 [002] … 884.973942: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x0
cheese-20562 [002] … 884.973948: csi_s_power: enable : 0x0
cheese-20568 [000] … 884.979948: tegra_channel_open: vi-output, ar231 8-0018
cheese-20568 [000] … 884.979965: tegra_channel_set_power: ar231 8-0018 : 0x1
cheese-20568 [000] … 884.979981: camera_common_s_power: status : 0x1
cheese-20568 [000] … 884.980575: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x1
cheese-20568 [000] … 884.980582: csi_s_power: enable : 0x1
cheese-20568 [000] … 884.981181: tegra_channel_close: vi-output, ar231 8-0018
cheese-20568 [000] … 884.981189: tegra_channel_set_power: ar231 8-0018 : 0x0
cheese-20568 [000] … 884.981206: camera_common_s_power: status : 0x0
cheese-20568 [000] … 884.981413: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x0
cheese-20568 [000] … 884.981417: csi_s_power: enable : 0x0
gst-plugin-scan-20614 [000] … 995.395039: tegra_channel_open: vi-output, ar231 8-0018
gst-plugin-scan-20614 [000] … 995.396886: tegra_channel_set_power: ar231 8-0018 : 0x1
gst-plugin-scan-20614 [000] … 995.396908: camera_common_s_power: status : 0x1
gst-plugin-scan-20614 [000] … 995.397651: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x1
gst-plugin-scan-20614 [000] … 995.397658: csi_s_power: enable : 0x1
gst-plugin-scan-20614 [000] … 995.399328: tegra_channel_close: vi-output, ar231 8-0018
gst-plugin-scan-20614 [000] … 995.399336: tegra_channel_set_power: ar231 8-0018 : 0x0
gst-plugin-scan-20614 [000] … 995.399387: camera_common_s_power: status : 0x0
gst-plugin-scan-20614 [000] … 995.399564: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x0
gst-plugin-scan-20614 [000] … 995.399567: csi_s_power: enable : 0x0
gst-launch-1.0-20613 [003] … 996.498756: tegra_channel_open: vi-output, ar231 8-0018
gst-launch-1.0-20613 [000] … 996.500868: tegra_channel_set_power: ar231 8-0018 : 0x1
gst-launch-1.0-20613 [000] … 996.500908: camera_common_s_power: status : 0x1
gst-launch-1.0-20613 [000] … 996.501630: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x1
gst-launch-1.0-20613 [000] … 996.501637: csi_s_power: enable : 0x1
gst-launch-1.0-20613 [000] … 996.503344: tegra_channel_close: vi-output, ar231 8-0018
gst-launch-1.0-20613 [000] … 996.503352: tegra_channel_set_power: ar231 8-0018 : 0x0
gst-launch-1.0-20613 [000] … 996.503368: camera_common_s_power: status : 0x0
gst-launch-1.0-20613 [000] … 996.503584: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x0
gst-launch-1.0-20613 [000] … 996.503587: csi_s_power: enable : 0x0
gst-launch-1.0-20627 [000] … 1012.097542: tegra_channel_open: vi-output, ar231 8-0018
gst-launch-1.0-20627 [000] … 1012.102706: tegra_channel_set_power: ar231 8-0018 : 0x1
gst-launch-1.0-20627 [000] … 1012.102754: camera_common_s_power: status : 0x1
gst-launch-1.0-20627 [000] … 1012.103829: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x1
gst-launch-1.0-20627 [000] … 1012.103842: csi_s_power: enable : 0x1
gst-launch-1.0-20627 [000] … 1012.106020: tegra_channel_close: vi-output, ar231 8-0018
gst-launch-1.0-20627 [000] … 1012.106033: tegra_channel_set_power: ar231 8-0018 : 0x0
gst-launch-1.0-20627 [000] … 1012.106048: camera_common_s_power: status : 0x0
gst-launch-1.0-20627 [000] … 1012.106401: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x0
gst-launch-1.0-20627 [000] … 1012.106404: csi_s_power: enable : 0x0
gst-launch-1.0-20685 [002] … 1052.092141: tegra_channel_open: vi-output, ar231 8-0018
gst-launch-1.0-20685 [000] … 1052.096832: tegra_channel_set_power: ar231 8-0018 : 0x1
gst-launch-1.0-20685 [000] … 1052.096977: camera_common_s_power: status : 0x1
gst-launch-1.0-20685 [000] … 1052.098134: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x1
gst-launch-1.0-20685 [000] … 1052.098147: csi_s_power: enable : 0x1
gst-launch-1.0-20685 [000] … 1052.100621: tegra_channel_close: vi-output, ar231 8-0018
gst-launch-1.0-20685 [000] … 1052.100642: tegra_channel_set_power: ar231 8-0018 : 0x0
gst-launch-1.0-20685 [000] … 1052.100659: camera_common_s_power: status : 0x0
gst-launch-1.0-20685 [000] … 1052.101082: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x0
gst-launch-1.0-20685 [000] … 1052.101086: csi_s_power: enable : 0x0
gst-launch-1.0-20685 [000] … 1052.228096: tegra_channel_open: vi-output, ar231 8-0018
gst-launch-1.0-20685 [000] … 1052.228131: tegra_channel_set_power: ar231 8-0018 : 0x1
gst-launch-1.0-20685 [000] … 1052.228157: camera_common_s_power: status : 0x1
gst-launch-1.0-20685 [000] … 1052.228977: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x1
gst-launch-1.0-20685 [000] … 1052.228983: csi_s_power: enable : 0x1
gst-launch-1.0-20685 [000] … 1052.237227: tegra_channel_close: vi-output, ar231 8-0018
gst-launch-1.0-20685 [000] … 1052.237245: tegra_channel_set_power: ar231 8-0018 : 0x0
gst-launch-1.0-20685 [000] … 1052.237276: camera_common_s_power: status : 0x0
gst-launch-1.0-20685 [000] … 1052.237674: tegra_channel_set_power: 15a00000.nvcsi–1 : 0x0
gst-launch-1.0-20685 [000] … 1052.237681: csi_s_power: enable : 0x0

So how we can change the CSI ID and become to other channel? Thanks

The port-index to configure which CSI lanes.
0 map to CSI-A …

                vi@15c10000 {
                        num-channels = <1>;
                        ports {
                                #address-cells = <1>;
                                #size-cells = <0>;
                                port@0 {
                                        reg = <0>;
                                        e3326_vi_in0: endpoint {
                                                port-index = <2>;
                                                bus-width = <2>;
                                                remote-endpoint = <&e3326_csi_out0>;
                                        };
                                };
                        };
                };

                nvcsi@15a00000 {
                        num-channels = <1>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        channel@0 {
                                reg = <0>;
                                ports {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        port@0 {
                                                reg = <0>;
                                                e3326_csi_in0: endpoint@0 {
                                                        port-index = <2>;
                                                        bus-width = <2>;
                                                        remote-endpoint = <&e3326_ov5693_out0>;
                                                };
                                        };
                                        port@1 {
                                                reg = <1>;
                                                e3326_csi_out0: endpoint@1 {
                                                        remote-endpoint = <&e3326_vi_in0>;
                                                };
                                        };
                                };
                        };
                };
        };
1 Like

Hi ShaneCCC,
Thank you very much for your replay!
I’m going to close the question.
Bellow link in order to describe our intention in more detail,help us to check please!

The Xavier csi inside use 4 lanes ( CSI2+CSI3 combine);so how we can set the CSI2 and CSI3 to one 4lanes gorup?thanks

Set the port-index to 2 and bus-width to 4

so as our set is as the picture ,is right? thanks

as the picture of attache,what is the mean X1,X2,X4 ;it is said:CSI0 can connect 4 cameras and have four virtual channels ?but CSI1 only support 2 cameras ,most support two virtual channels?thanks

That tells you can use it as 1 lane 2 lanes or 4 lanes configure depend on the sensor output configure.
You may need to consult to vendor to know the sensor configure is 1/2/4 lanes configure to set the DT to match it.