Question about Tegra Xavier AGX's CSI and MIPI Setting

Hi everyone?

I have question with how to set CSI and mipi on DT and device driver.

Most of examples are using CSI0 or CSI1 and i want to know how to set CSI 6, 7 setting.

where is MIPI and CSI points?

I think that imx390 is reference and finding some points.

and HW connection is like this.

I tried to change DT first and modify like this.

// …
devnode = “video5”; // “video0”
// …
tegra_sinterface = “serial_a” → “serial_g” : // CSI 6
or tegra_sinterface = “serial_b” → "serial_g " // CSI 7
// …
gmsl-link {
src-csi-port = “b”; → “f”
dst-csi-port = “a”; → “g”

vc_id = “5”; // “0”;

is it right?

	i2c@3180000 {
		tp2854_a@44 { 
			compatible = "nvidia,tp2854";
			reg = <0x44>;
			sensor_model ="tp2854_a";
			avdd-reg = "vana";
			iovdd-reg = "vif";
			dvdd-reg = "vdig";
			use_sensor_mode_id = "true";

			cam-index = <6>;  // ..?

			physical_w = "3.674";
			physical_h = "2.738";
			vana-supply = <&en_vdd_cam_hv_2v8>;
			vif-supply = <&en_vdd_cam>;

			/* V4L2 device node location */
			devnode = "video5"; // 
			
// ... 
			mode0 { // tp2854_MODE_1280X720
				mclk_khz = "27000";
				num_lanes = "4";
				tegra_sinterface = "serial_a";
				vc_id = "0";
				phy_mode = "DPHY";
				discontinuous_clk = "no";
// ... 
			};

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					tp2854_vi_out6: endpoint {
						vc-id = <0>;
						port-index = <0>;
						bus-width = <2>;
						remote-endpoint = <&tp2854_csi_in6>;
					};
				};
			};

// ...
			gmsl-link {
				src-csi-port = "c";
				dst-csi-port = "a";
				serdes-csi-link = "a";
				csi-mode = "1x4";
				st-vc = <0>;
				vc-id = <0>;
				num-lanes = <4>;
				streams = "ued-u1", "yuv422";
			};
		};

You need modify the port-index to <6> in the nvcsi@15a00000 {} and port-index = <5> in the vi@15c10000 and tp2854_a@44 scope.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.