Jetson Nano does not detect the IMX219 camera

Hello, I have a custom-designed Jetson Nano board, and I am using the TCA9548 multiplexer for the camera connections on this board.

I have set up the necessary configurations on the Jetson Nano, and most features are working correctly. However, I am encountering issues with the CSI camera.

When I connect two IMX219 cameras, only one is detected, and only /dev/video0 is created, while /dev/video1 is not. Additionally, when I try to capture an image from /dev/video0, no output is received.

I am unsure whether this issue is caused by the device tree or a hardware-related problem.

On another board from a different manufacturer, where I set up everything the same way, the cameras work without any issues. The working board uses the TCA9544 chip as the I2C multiplexer, whereas my custom board uses the TCA9548.

My assumption is that the issue could be both hardware-related and require changes on the Device Tree side. Could you help me with this? I will share the necessary visuals and command outputs below.

Mux Circuit:

DTS File: this


  • i2cdetect -l
i2c-3	i2c       	7000c700.i2c                    	I2C adapter
i2c-1	i2c       	7000c400.i2c                    	I2C adapter
i2c-8	i2c       	i2c-6-mux (chan_id 1)           	I2C adapter
i2c-6	i2c       	Tegra I2C adapter               	I2C adapter
i2c-4	i2c       	7000d000.i2c                    	I2C adapter
i2c-2	i2c       	7000c500.i2c                    	I2C adapter
i2c-0	i2c       	7000c000.i2c                    	I2C adapter
i2c-9	i2c       	i2c-6-mux (chan_id 2)           	I2C adapter
i2c-10	i2c       	i2c-6-mux (chan_id 3)           	I2C adapter
i2c-7	i2c       	i2c-6-mux (chan_id 0)           	I2C adapter
i2c-5	i2c       	7000d100.i2c                    	I2C adapter

  • i2cdetect -y -r 6
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: UU -- -- -- -- -- -- -- 

  • i2cdetect -y -r 7
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: UU -- -- -- -- -- -- -- 

  • i2cdetect -y -r 8
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- 64 -- -- -- -- -- -- -- -- -- -- -- 
70: UU -- -- -- -- -- -- -- 

  • i2cdetect -y -r 9
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: UU -- -- -- -- -- -- -- 

  • i2cdetect -y -r 10
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: UU -- -- -- -- -- -- -- 

  • dmesg | grep imx
[    4.076744] imx219 7-0010: tegracam sensor driver:imx219_v2.0.6
[    4.113010] imx219 7-0010: imx219_board_setup: error during i2c read probe (-121)
[    4.120541] imx219 7-0010: board setup failed
[    4.125002] imx219: probe of 7-0010 failed with error -121
[    4.131021] imx219 8-0010: tegracam sensor driver:imx219_v2.0.6
[    4.167262] imx219 8-0010: imx219_board_setup: error during i2c read probe (-121)
[    4.174788] imx219 8-0010: board setup failed
[    4.179219] imx219: probe of 8-0010 failed with error -121

  • dmesg | grep -i "video"
[    0.000000] Kernel command line: tegraid=21.1.2.0.0 ddr_die=4096M@2048M section=512M memtype=0 vpr_resize usb_port_owner_info=0 lane_owner_info=0 emc_max_dvfs=0 touch_id=0@63 video=tegrafb no_console_suspend=1 console=ttyS0,115200n8 debug_uartport=lsport,2 earlyprintk=uart8250-32bit,0x70006000 maxcpus=4 usbcore.old_scheme_first=1 lp0_vec=0x1000@0xff780000 core_edp_mv=1125 core_edp_ma=4000  earlycon=uart8250,mmio32,0x70006000 root=/dev/mmcblk0p1 rw rootwait  console=ttyS0,115200 console=tty0 fbcon=map:0 net.ifnames=0 pcie_aspm=off 
[    0.619108] Linux video capture interface: v2.00

Hi @serkanmzlm,

I think your question is better suited for the Jetson sub-forums. I hope you don’t mind my moving the post over there.

Thanks!

1 Like

Looks like HW problem due the probe message tell unable to communicate to sensor via i2c command.

@ShaneCCC To ensure that the hardware is functioning correctly, I connected IMU and TOF sensors next to the CSI camera outputs. When I ran the i2cdetect command, I was able to detect these sensors. Therefore, I believe the issue is more related to the Device Tree rather than the hardware. Additionally, I connected different I2C devices to the CSI camera’s I2C outputs and successfully detected them. Moreover, I tested the cameras on a working Jetson board, and both cameras functioned properly.

Thank you for your response.

Mux Circuit:

Here is the schematic. Is there any error? Is there a possibility that I have misconnected the pull-up resistors or the connector outputs?

Currently, /dev/video0 is being created, and the I2C addresses appear as follows. However, only one camera is detected; the second camera is not recognized.

When I try to capture data from video0 using GStreamer, an issue occurs, and I am unable to receive any data.

The second camera is connect to i2c bus 8 make sure your device tree correct.
You should able get some message in the kernel message.

@ShaneCCC I think the Device Tree is incorrect, but I don’t have much knowledge about this. I’m not sure where or how I should make corrections.

Have a check the programing guide for the detail.

I have started detecting both cameras, but I cannot get any video from them. In this case, what kind of modifications do I need to make in the Device Tree?

When using the PCA9544 MUX driver, I can detect the cameras. However, since the chip I have is TCA9548, I decided to use the PCA9548 driver. But after switching to this driver, the cameras are no longer detected.

Device Tree:

		i2c@546c0000 {
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			compatible = "nvidia,tegra210-vii2c";
			reg = <0x0 0x546c0000 0x0 0x34000>;
			iommus = <0x30 0x12>;
			interrupts = <0x0 0x11 0x4>;
			scl-gpio = <0x5b 0x92 0x0>;
			sda-gpio = <0x5b 0x93 0x0>;
			status = "okay";
			clocks = <0x26 0xd0 0x26 0x51 0x26 0x1c>;
			clock-names = "vii2c", "i2cslow", "host1x";
			resets = <0x26 0xd0>;
			reset-names = "vii2c";
			clock-frequency = <0x61a80>;
			bus-pullup-supply = <0x47>;
			avdd_dsi_csi-supply = <0x3b>;
			linux,phandle = <0xf7>;
			phandle = <0xf7>;

			ina3221x@40 {
				compatible = "ti,ina3221x";
				reg = <0x40>;
				status = "okay";
				ti,trigger-config = <0x7003>;
				ti,continuous-config = <0x7607>;
				ti,enable-forced-continuous;
				#io-channel-cells = <0x1>;
				#address-cells = <0x1>;
				#size-cells = <0x0>;
				linux,phandle = <0xf8>;
				phandle = <0xf8>;

				channel@0 {
					reg = <0x0>;
					ti,rail-name = "POM_5V_GPU";
					ti,shunt-resistor-mohm = <0x5>;
				};

				channel@1 {
					reg = <0x1>;
					ti,rail-name = "POM_5V_IN";
					ti,shunt-resistor-mohm = <0x5>;
				};

				channel@2 {
					reg = <0x2>;
					ti,rail-name = "POM_5V_CPU";
					ti,shunt-resistor-mohm = <0x5>;
				};
			};

			tca9548@70 {
				compatible = "nxp,pca9548";
				reg = <0x70>;
				#address-cells = <0x1>;
				#size-cells = <0x0>;
				vcc-supply = <0x42>;
				vcc-pullup-supply = <0x4c>;
				status = "okay";

				i2c@0 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					status = "okay";
					reg = <0x1>;
					i2c-mux,deselect-on-exit;

					rbpcv2_imx219_a@10 {
						compatible = "nvidia,imx219";
						reg = <0x10>;
						status = "okay";
						devnode = "video2";
						physical_w = "3.680";
						physical_h = "2.760";
						sensor_model = "imx219";
						use_sensor_mode_id = "true";
						reset-gpios = <0x5b 0x97 0x0>;

						mode0 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_a";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "3264";
							active_h = "2464";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "21000000";
							step_framerate = [31 00];
							default_framerate = "21000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode1 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_a";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "3264";
							active_h = "1848";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "28000000";
							step_framerate = [31 00];
							default_framerate = "28000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode2 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_a";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "1920";
							active_h = "1080";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "30000000";
							step_framerate = [31 00];
							default_framerate = "30000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode3 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_a";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "1640";
							active_h = "1232";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "30000000";
							step_framerate = [31 00];
							default_framerate = "30000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode4 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_a";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "1280";
							active_h = "720";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "60000000";
							step_framerate = [31 00];
							default_framerate = "60000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode5 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_a";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "1280";
							active_h = "720";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3560";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "169600000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "120000000";
							step_framerate = [31 00];
							default_framerate = "120000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

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

							port@0 {
								reg = <0x0>;

								endpoint {
									port-index = <0x0>;
									bus-width = <0x2>;
									remote-endpoint = <0x78>;
									linux,phandle = <0x7a>;
									phandle = <0x7a>;
								};
							};
						};
					};
				};

				i2c@1 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					status = "okay";
					reg = <0x1>;
					i2c-mux,deselect-on-exit;

					rbpcv2_imx219_e@10 {
						compatible = "nvidia,imx219";
						reg = <0x10>;
						status = "okay";
						devnode = "video1";
						physical_w = "3.680";
						physical_h = "2.760";
						sensor_model = "imx219";
						use_sensor_mode_id = "true";
						reset-gpios = <0x5b 0x98 0x0>;

						mode0 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_e";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "3264";
							active_h = "2464";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "21000000";
							step_framerate = [31 00];
							default_framerate = "21000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode1 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_e";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "3264";
							active_h = "1848";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "28000000";
							step_framerate = [31 00];
							default_framerate = "28000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode2 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_e";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "1920";
							active_h = "1080";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "30000000";
							step_framerate = [31 00];
							default_framerate = "30000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode3 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_e";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "1640";
							active_h = "1232";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "30000000";
							step_framerate = [31 00];
							default_framerate = "30000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode4 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_e";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "1280";
							active_h = "720";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3448";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "182400000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "60000000";
							step_framerate = [31 00];
							default_framerate = "60000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

						mode5 {
							mclk_khz = "24000";
							num_lanes = [32 00];
							tegra_sinterface = "serial_e";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = [30 00];
							active_w = "1280";
							active_h = "720";
							pixel_t = "bayer_rggb";
							readout_orientation = "90";
							line_length = "3560";
							inherent_gain = [31 00];
							mclk_multiplier = "9.33";
							pix_clk_hz = "169600000";
							gain_factor = "16";
							framerate_factor = "1000000";
							exposure_factor = "1000000";
							min_gain_val = "16";
							max_gain_val = "170";
							step_gain_val = [31 00];
							default_gain = "16";
							min_hdr_ratio = [31 00];
							max_hdr_ratio = [31 00];
							min_framerate = "2000000";
							max_framerate = "120000000";
							step_framerate = [31 00];
							default_framerate = "120000000";
							min_exp_time = "13";
							max_exp_time = "683709";
							step_exp_time = [31 00];
							default_exp_time = "2495";
							embedded_metadata_height = [32 00];
						};

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

							port@0 {
								reg = <0x0>;

								endpoint {
									port-index = <0x4>;
									bus-width = <0x2>;
									remote-endpoint = <0x79>;
									linux,phandle = <0x7c>;
									phandle = <0x7c>;
								};
							};
						};
					};
				};

				i2c@2 { reg = <2>;  #address-cells = <1>; #size-cells = <0>; status = "disabled"; };
				i2c@3 { reg = <3>;  #address-cells = <1>; #size-cells = <0>; status = "disabled"; };
				i2c@4 { reg = <4>;  #address-cells = <1>; #size-cells = <0>; status = "disabled"; };
				i2c@5 { reg = <5>;  #address-cells = <1>; #size-cells = <0>; status = "disabled"; };
				i2c@6 { reg = <6>;  #address-cells = <1>; #size-cells = <0>; status = "disabled"; };
				i2c@7 { reg = <7>;  #address-cells = <1>; #size-cells = <0>; status = "disabled"; };
			};
		};

Using v4l2-ctl to confirm the capture. And check the kernel log if any error.

v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap

@ShaneCCC a problem has occurred: From what I learned online, the PCA9544 driver is suitable for TCA9544, but for TCA9548, the PCA9548 driver must be used. After realizing this, I replaced all PCA9544 references with PCA9548 in the Device Tree.

Now, the driver is working, and instead of 4 additional I2C outputs, 8 are appearing. However, I can no longer see the cameras again. I also think I need to adjust the reset-gpios and reg sections.

Where can I find information on how to modify these sections? How should I determine the values for reset-gpios and reg?

Check the programing guide for it.

@ShaneCCC The part I don’t understand is: reset-gpios = <0x5b 0x97 0x0>; What exactly do the values represent? What do 0x5b and 0x97 mean? The last value 0x0 seems to represent LOW.

The 0x5b is GPIO handle 0x97 is which gpio pin and 0 is active low.
You should check the dts/dtsi file from the source code instead of the un-compiled device tree.