Camera On Jetson Orin Nano error message

Hi,

I am now trying to use Jetson orin nano to connect a camera. Jetpack 5.1.2 L4T: 35.4.1

Hardware:

  1. a csi to 2* gsml board, with max9296a.
  2. camera imx390c + GW5200 gsml with max9295a yuv uyuy 8bit 1920 * 1080;
  3. camera OX03C10 max96717F 1920 * 1280 RAW12 bggr.

What I have down is activate the camera imx390C. I used v4l2-ctl --stream-mmap -d /dev/video3 command to successfully get the stream.

But When I do the same step for camera OX03C10 max96717F I got two errors that I could not understand.

  1. The first one is when I set pixel_phase = "bggr"; I always get an error in the kernal message. I have no idea about that.
[   58.884268] camera_sensor_ding 9-001b: probing camera camera_sensor v4l2 sensor.
[   58.884481] camera_sensor_ding 9-001b: tegracam sensor driver:camera_sensor_v2.0.6
[   58.884537] tegra-camrtc-capture-vi tegra-capture-vi: subdev camera_sensor_ding 9-001b bound
[   58.885474] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[   58.894592] Mem abort info:
[   58.897517]   ESR = 0x96000004
[   58.900697]   EC = 0x25: DABT (current EL), IL = 32 bits
[   58.906175]   SET = 0, FnV = 0
[   58.909334]   EA = 0, S1PTW = 0
[   58.912575] Data abort info:
[   58.915539]   ISV = 0, ISS = 0x00000004
[   58.919504]   CM = 0, WnR = 0
[   58.922577] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000140b17000
[   58.929243] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000
  1. After successfully set the register configuration of OX03C10, max96717F and max9296A. With the value of the register of max9296a, 0x108, 0x11a, 0x12c, 0x13e, the streaming is setting successful. But when I tried to use v4l2-ctl --stream-mmap -d /dev/video3 I got the error which showed that the vi got an error when getting the stream. I have already check the description of the err_data: 131072 in the kernal source but have no idea about the description. /** Frame end was forced by channel reset */ define CAPTURE_CHANNEL_ERROR_FORCE_FE MK_BIT32(17)
[   98.291234] camera_sensor_ding 9-001b: probing camera camera_sensor v4l2 sensor.
[   98.291447] camera_sensor_ding 9-001b: tegracam sensor driver:camera_sensor_v2.0.6
[   98.291500] tegra-camrtc-capture-vi tegra-capture-vi: subdev camera_sensor_ding 9-001b bound
[   98.292544] camera_sensor_ding 9-001b: Detected camera sensor
[   98.292621] camera_sensor_ding 9-001c: probing camera camera_sensor v4l2 sensor.
[   98.292702] debugfs: Directory 'camera_sensor_a' with parent '/' already present!
[   98.302066] camera_sensor_ding 9-001c: tegracam sensor driver:camera_sensor_v2.0.6
[   98.302137] tegra-camrtc-capture-vi tegra-capture-vi: subdev camera_sensor_ding 9-001c bound
[   98.303730] camera_sensor_ding 9-001c: Detected camera sensor
[   98.303813] camera_sensor_ding 10-001b: probing camera camera_sensor v4l2 sensor.
[   98.303921] camera_sensor_ding 10-001b: tegracam sensor driver:camera_sensor_v2.0.6
[   98.303956] tegra-camrtc-capture-vi tegra-capture-vi: subdev camera_sensor_ding 10-001b bound
[   98.304489] camera_sensor_ding 10-001b: Detected camera sensor
[   98.304544] camera_sensor_ding 10-001c: probing camera camera_sensor v4l2 sensor.
[   98.304619] debugfs: Directory 'camera_sensor_c' with parent '/' already present!
[   98.312366] camera_sensor_ding 10-001c: tegracam sensor driver:camera_sensor_v2.0.6
[   98.312398] tegra-camrtc-capture-vi tegra-capture-vi: subdev camera_sensor_ding 10-001c bound
[   98.312790] camera_sensor_ding 10-001c: Detected camera sensor
[  295.411145] camera_sensor_ding 10-001c: camera_sensor_power_on: power on
[  295.422193] bwmgr API not supported
[  295.423234] camera_sensor_ding 10-001c: mode id= 0
[  295.435916] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[  295.446145] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[  295.467985] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[  295.478487] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[  296.895303] bwmgr API not supported
[  296.895986] camera_sensor_ding 10-001c: camera_sensor_power_off:

working dts for imx390

#define MAX9296_CAM_I2C_MUX 	TEGRA234_AON_GPIO(CC, 3)

/ {
	tegra-capture-vi  {
		num-channels = <4>;
		ports {
			#address-cells = <1>;
			#size-cells = <0>;
			port@0 {
				reg = <0>;
				max9296_a_vi_in0: endpoint {
					vc-id = <0>;
					port-index = <0>;
					bus-width = <2>;
					remote-endpoint = <&max9296_a_csi_out0>;
				};
			};

			port@1 {
				reg = <1>;
				max9296_a_vi_in1: endpoint {
					vc-id = <1>;
					port-index = <0>;
					bus-width = <2>;
					remote-endpoint = <&max9296_a_csi_out1>;
				};
			};

			port@2 {
				reg = <2>;
				max9296_b_vi_in0: endpoint {
					vc-id = <0>;
					port-index = <2>;
					bus-width = <2>;
					remote-endpoint = <&max9296_b_csi_out0>;
				};
			};

			port@3 {
				reg = <3>;
				max9296_b_vi_in1: endpoint {
					vc-id = <1>;
					port-index = <2>;
					bus-width = <2>;
					remote-endpoint = <&max9296_b_csi_out1>;
				};
			};
		};
	};

	host1x@13e00000 {
		nvcsi@15a00000 {
			num-channels = <4>;
			#address-cells = <1>;
			#size-cells = <0>;
			channel@0 {
				reg = <0>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						max9296_a_csi_in0: endpoint@0 {
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&max9296_a_out0>;
						};
					};
					port@1 {
						reg = <1>;
						max9296_a_csi_out0: endpoint@1 {
							remote-endpoint = <&max9296_a_vi_in0>;
						};
					};
				};
			};

			channel@1 {
				reg = <1>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						max9296_a_csi_in1: endpoint@2 {
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&max9296_a_out1>;
						};
					};
					port@1 {
						reg = <1>;
						max9296_a_csi_out1: endpoint@3 {
							remote-endpoint = <&max9296_a_vi_in1>;
						};
					};
				};
			};

			channel@2 {
				reg = <2>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						max9296_b_csi_in0: endpoint@0 {
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&max9296_b_out0>;
						};
					};
					port@1 {
						reg = <1>;
						max9296_b_csi_out0: endpoint@1 {
							remote-endpoint = <&max9296_b_vi_in0>;
						};
					};
				};
			};

			channel@3 {
				reg = <3>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						max9296_b_csi_in1: endpoint@2 {
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&max9296_b_out1>;
						};
					};
					port@1 {
						reg = <1>;
						max9296_b_csi_out1: endpoint@3 {
							remote-endpoint = <&max9296_b_vi_in1>;
						};
					};
				};
			};
		};
	};

	max9296_cam_i2cmux{
		compatible = "i2c-mux-gpio";
		#address-cells = <1>;
		#size-cells = <0>;
		i2c-parent = <&cam_i2c>;
		mux-gpios = <&tegra_aon_gpio MAX9296_CAM_I2C_MUX GPIO_ACTIVE_HIGH>;
		i2c@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;
			max9296_a@1b {
				compatible = "camera,sensor";

				reg = <0x1b>;

				/* Physical dimensions of sensor */
				physical_w = "15.0";
				physical_h = "12.5";

				sensor_model ="max9296";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				use_decibel_gain = "true";

				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "false";

				mode0 {
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "16";
					csi_pixel_bit_depth = "16";
					mode_type = "yuv";
					pixel_phase = "yuyv";

					// lane_polarity = "6";
					active_w = "1920";
					active_h = "1080";
					readout_orientation = "0";
					line_length = "1920";
					inherent_gain = "1";
					pix_clk_hz = "74250000";
					/*Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.*/
					/*Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)*/
					serdes_pix_clk_hz = "300000000";

					gain_factor = "10";
					min_gain_val = "1"; /* dB */
					max_gain_val = "480"; /* dB */
					step_gain_val = "3"; /* 0.3 */
					default_gain = "0";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1000000";
					min_framerate = "30000000"; // 30fps
					max_framerate = "30000000"; // 60fps
					step_framerate = "1";
					default_framerate = "30000000";
					exposure_factor = "1000000";
					min_exp_time = "30"; /*us, 2 lines*/
					max_exp_time = "660000";
					step_exp_time = "1";
					default_exp_time = "33334";/* us */
					embedded_metadata_height = "0";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						max9296_a_out0: endpoint {
							vc-id = <0>;
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&max9296_a_csi_in0>;
						};
					};
				};
			};
			max9296_a@1c {
				compatible = "camera,sensor";

				reg = <0x1c>;

				/* Physical dimensions of sensor */
				physical_w = "15.0";
				physical_h = "12.5";

				sensor_model ="max9296";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				use_decibel_gain = "true";

				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "false";

				mode0 {
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "16";
					csi_pixel_bit_depth = "16";
					mode_type = "yuv";
					pixel_phase = "yuyv";

					// lane_polarity = "6";
					active_w = "1920";
					active_h = "1080";
					readout_orientation = "0";
					line_length = "1920";
					inherent_gain = "1";
					pix_clk_hz = "74250000";
					/*Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.*/
					/*Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)*/
					serdes_pix_clk_hz = "300000000";

					gain_factor = "10";
					min_gain_val = "1"; /* dB */
					max_gain_val = "480"; /* dB */
					step_gain_val = "3"; /* 0.3 */
					default_gain = "0";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1000000";
					min_framerate = "30000000"; // 30fps
					max_framerate = "30000000"; // 60fps
					step_framerate = "1";
					default_framerate = "30000000";
					exposure_factor = "1000000";
					min_exp_time = "30"; /*us, 2 lines*/
					max_exp_time = "660000";
					step_exp_time = "1";
					default_exp_time = "33334";/* us */
					embedded_metadata_height = "0";
				};

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

		i2c@1 {
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			max9296_b@1b {
				compatible = "camera,sensor";

				reg = <0x1b>;

				/* Physical dimensions of sensor */
				physical_w = "15.0";
				physical_h = "12.5";

				sensor_model ="max9296";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				use_decibel_gain = "true";

				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "false";

				mode0 {
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "16";
					csi_pixel_bit_depth = "16";
					mode_type = "yuv";
					pixel_phase = "yuyv";

					active_w = "1920";
					active_h = "1080";
					readout_orientation = "0";
					line_length = "1920";
					inherent_gain = "1";
					pix_clk_hz = "74250000";
					/*Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.*/
					/*Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)*/
					serdes_pix_clk_hz = "300000000";

					gain_factor = "10";
					min_gain_val = "1"; /* dB */
					max_gain_val = "480"; /* dB */
					step_gain_val = "3"; /* 0.3 */
					default_gain = "0";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1000000";
					min_framerate = "30000000"; // 30fps
					max_framerate = "30000000"; // 60fps
					step_framerate = "1";
					default_framerate = "30000000";
					exposure_factor = "1000000";
					min_exp_time = "30"; /*us, 2 lines*/
					max_exp_time = "660000";
					step_exp_time = "1";
					default_exp_time = "33334";/* us */
					embedded_metadata_height = "0";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						max9296_b_out0: endpoint {
							vc-id = <0>;
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&max9296_b_csi_in0>;
						};
					};
				};
			};
			max9296_b@1c {
				compatible = "camera,sensor";

				reg = <0x1c>;

				/* Physical dimensions of sensor */
				physical_w = "15.0";
				physical_h = "12.5";

				sensor_model ="max9296";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				use_decibel_gain = "true";

				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "false";

				mode0 {
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "16";
					csi_pixel_bit_depth = "16";
					mode_type = "yuv";
					pixel_phase = "yuyv";

					active_w = "1920";
					active_h = "1080";
					readout_orientation = "0";
					line_length = "1920";
					inherent_gain = "1";
					pix_clk_hz = "74250000";
					/*Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.*/
					/*Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)*/
					serdes_pix_clk_hz = "300000000";

					gain_factor = "10";
					min_gain_val = "1"; /* dB */
					max_gain_val = "480"; /* dB */
					step_gain_val = "3"; /* 0.3 */
					default_gain = "0";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1000000";
					min_framerate = "30000000"; // 30fps
					max_framerate = "30000000"; // 60fps
					step_framerate = "1";
					default_framerate = "30000000";
					exposure_factor = "1000000";
					min_exp_time = "30"; /*us, 2 lines*/
					max_exp_time = "660000";
					step_exp_time = "1";
					default_exp_time = "33334";/* us */
					embedded_metadata_height = "0";
				};

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

	tegra-camera-platform {
		compatible = "nvidia, tegra-camera-platform";
		/**
		* Physical settings to calculate max ISO BW
		*
		* num_csi_lanes = <>;
		* Total number of CSI lanes when all cameras are active
		*
		* max_lane_speed = <>;
		* Max lane speed in Kbit/s
		*
		* min_bits_per_pixel = <>;
		* Min bits per pixel
		*
		* vi_peak_byte_per_pixel = <>;
		* Max byte per pixel for the VI ISO case
		*
		* vi_bw_margin_pct = <>;
		* Vi bandwidth margin in percentage
		*
		* max_pixel_rate = <>;
		* Max pixel rate in Kpixel/s for the ISP ISO case
		*
		* isp_peak_byte_per_pixel = <>;
		* Max byte per pixel for the ISP ISO case
		*
		* isp_bw_margin_pct = <>;
		* Isp bandwidth margin in percentage
		*/
		num_csi_lanes = <4>;
		max_lane_speed = <15000000>;
		min_bits_per_pixel = <16>;
		vi_peak_byte_per_pixel = <2>;
		vi_bw_margin_pct = <25>;
		// the isp setting is not mandatory(checked)
		// isp_peak_byte_per_pixel = <5>;
		// isp_bw_margin_pct = <25>;
		/**
		 * The general guideline for naming badge_info contains 3 parts, and is as follows,
		 * The first part is the camera_board_id for the module; if the module is in a FFD
		 * platform, then use the platform name for this part.
		 * The second part contains the position of the module, ex. "rear" or "front".
		 * The third part contains the last 6 characters of a part number which is found
		 * in the module's specsheet from the vender.
		 */
		modules {
			module0 {
				badge = "max9296_cam0";
				position = "cam0";
				orientation = "1";
				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "cam0 9-0041";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/sensing_imx390_a@41";
				};
			};
			module1 {
				badge = "max9296_cam0";
				position = "cam1";
				orientation = "1";
				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "cam1 9-0042";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/sensing_imx390_b@42";
				};
			};
			module2 {
				badge = "max9296_cam0";
				position = "cam2";
				orientation = "1";
				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "cam2 10-0043";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/sensing_imx390_c@43";
				};
			};
			module3 {
				badge = "max9296_cam0";
				position = "cam3";
				orientation = "1";
				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "cam3 10-0044";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/sensing_imx390_d@44";
				};
			};
		};
	};

};

not working file for max96717F

#define MAX9296_CAM_I2C_MUX 	TEGRA234_AON_GPIO(CC, 3)

/ {
	tegra-capture-vi  {
		num-channels = <4>;
		ports {
			#address-cells = <1>;
			#size-cells = <0>;
			port@0 {
				reg = <0>;
				max9296_a_vi_in0: endpoint {
					vc-id = <0>;
					port-index = <0>;
					bus-width = <2>;
					remote-endpoint = <&max9296_a_csi_out0>;
				};
			};

			port@1 {
				reg = <1>;
				max9296_a_vi_in1: endpoint {
					vc-id = <1>;
					port-index = <0>;
					bus-width = <2>;
					remote-endpoint = <&max9296_a_csi_out1>;
				};
			};

			port@2 {
				reg = <2>;
				max9296_b_vi_in0: endpoint {
					vc-id = <0>;
					port-index = <2>;
					bus-width = <2>;
					remote-endpoint = <&max9296_b_csi_out0>;
				};
			};

			port@3 {
				reg = <3>;
				max9296_b_vi_in1: endpoint {
					vc-id = <1>;
					port-index = <2>;
					bus-width = <2>;
					remote-endpoint = <&max9296_b_csi_out1>;
				};
			};
		};
	};

	host1x@13e00000 {
		nvcsi@15a00000 {
			status = "okay";
			num-channels = <4>;
			#address-cells = <1>;
			#size-cells = <0>;
			channel@0 {
				reg = <0>;
				status = "okay";
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					status = "okay";
					port@0 {
						reg = <0>;
						status = "okay";
						max9296_a_csi_in0: endpoint@0 {
							status = "okay";
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&max9296_a_out0>;
						};
					};
					port@1 {
						reg = <1>;
						status = "okay";
						max9296_a_csi_out0: endpoint@1 {
							status = "okay";
							remote-endpoint = <&max9296_a_vi_in0>;
						};
					};
				};
			};

			channel@1 {
				reg = <1>;
				status = "okay";
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					status = "okay";
					port@0 {
						reg = <0>;
						status = "okay";
						max9296_a_csi_in1: endpoint@2 {
							status = "okay";
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&max9296_a_out1>;
						};
					};
					port@1 {
						reg = <1>;
						status = "okay";
						max9296_a_csi_out1: endpoint@3 {
							status = "okay";
							remote-endpoint = <&max9296_a_vi_in1>;
						};
					};
				};
			};

			channel@2 {
				reg = <2>;
				status = "okay";
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					status = "okay";
					port@0 {
						reg = <0>;
						status = "okay";
						max9296_b_csi_in0: endpoint@0 {
							status = "okay";
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&max9296_b_out0>;
						};
					};
					port@1 {
						reg = <1>;
						status = "okay";
						max9296_b_csi_out0: endpoint@1 {
							status = "okay";
							remote-endpoint = <&max9296_b_vi_in0>;
						};
					};
				};
			};

			channel@3 {
				reg = <3>;
				status = "okay";
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					status = "okay";
					port@0 {
						reg = <0>;
						status = "okay";
						max9296_b_csi_in1: endpoint@2 {
							status = "okay";
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&max9296_b_out1>;
						};
					};
					port@1 {
						reg = <1>;
						status = "okay";
						max9296_b_csi_out1: endpoint@3 {
							status = "okay";
							remote-endpoint = <&max9296_b_vi_in1>;
						};
					};
				};
			};
		};
	};

	max9296_cam_i2cmux{
		compatible = "i2c-mux-gpio";
		#address-cells = <1>;
		#size-cells = <0>;
		i2c-parent = <&cam_i2c>;
		mux-gpios = <&tegra_aon_gpio MAX9296_CAM_I2C_MUX GPIO_ACTIVE_HIGH>;
		i2c@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;
			max9296_a@1b {
				compatible = "camera,sensor";

				reg = <0x1b>;

				/* Physical dimensions of sensor */
				physical_w = "24.0";
				physical_h = "23.5";

				sensor_model ="OX03C10";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				use_decibel_gain = "true";

				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "false";

				mode0 {
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "12";
					csi_pixel_bit_depth = "12";
					mode_type = "bayer";
					pixel_phase = "rggb";

					active_w = "1920";
					active_h = "1280";
					readout_orientation = "0";
					line_length = "1920";
					inherent_gain = "1";
					pix_clk_hz = "124416000";
					/*Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.*/
					/*Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)*/
					serdes_pix_clk_hz = "373248000";

					gain_factor = "10";
					min_gain_val = "1"; /* dB */
					max_gain_val = "140"; /* dB */
					step_gain_val = "3"; /* 0.3 */
					default_gain = "0";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1000000";
					min_framerate = "60000000"; // 30fps
					max_framerate = "60000000"; // 60fps
					step_framerate = "1";
					default_framerate = "60000000";
					exposure_factor = "1000000";
					min_exp_time = "30"; /*us, 2 lines*/
					max_exp_time = "660000";
					step_exp_time = "1";
					default_exp_time = "33334";/* us */
					embedded_metadata_height = "0";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						max9296_a_out0: endpoint {
							vc-id = <0>;
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&max9296_a_csi_in0>;
						};
					};
				};
			};
			max9296_a@1c {
				compatible = "camera,sensor";

				reg = <0x1c>;

				/* Physical dimensions of sensor */
				physical_w = "24.0";
				physical_h = "23.5";

				sensor_model ="OX03C10";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				use_decibel_gain = "true";

				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "false";

				mode0 {
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "12";
					csi_pixel_bit_depth = "12";
					mode_type = "bayer";
					pixel_phase = "rggb";

					active_w = "1920";
					active_h = "1280";
					readout_orientation = "0";
					line_length = "1920";
					inherent_gain = "1";
					pix_clk_hz = "74250000";
					/*Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.*/
					/*Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)*/
					serdes_pix_clk_hz = "300000000";

					gain_factor = "10";
					min_gain_val = "1"; /* dB */
					max_gain_val = "140"; /* dB */
					step_gain_val = "3"; /* 0.3 */
					default_gain = "0";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1000000";
					min_framerate = "30000000"; // 30fps
					max_framerate = "60000000"; // 60fps
					step_framerate = "1";
					default_framerate = "30000000";
					exposure_factor = "1000000";
					min_exp_time = "30"; /*us, 2 lines*/
					max_exp_time = "660000";
					step_exp_time = "1";
					default_exp_time = "33334";/* us */
					embedded_metadata_height = "0";
				};

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

		i2c@1 {
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			max9296_b@1b {
				compatible = "camera,sensor";

				reg = <0x1b>;

				/* Physical dimensions of sensor */
				physical_w = "24.0";
				physical_h = "23.5";

				sensor_model ="OX03C10";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				use_decibel_gain = "true";

				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "false";

				mode0 {
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "12";
					csi_pixel_bit_depth = "12";
					mode_type = "bayer";
					pixel_phase = "rggb";

					active_w = "1920";
					active_h = "1280";
					readout_orientation = "0";
					line_length = "1920";
					inherent_gain = "1";
					pix_clk_hz = "74250000";
					/*Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.*/
					/*Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)*/
					serdes_pix_clk_hz = "300000000";

					gain_factor = "10";
					min_gain_val = "1"; /* dB */
					max_gain_val = "140"; /* dB */
					step_gain_val = "3"; /* 0.3 */
					default_gain = "0";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1000000";
					min_framerate = "30000000"; // 30fps
					max_framerate = "60000000"; // 60fps
					step_framerate = "1";
					default_framerate = "30000000";
					exposure_factor = "1000000";
					min_exp_time = "30"; /*us, 2 lines*/
					max_exp_time = "660000";
					step_exp_time = "1";
					default_exp_time = "33334";/* us */
					embedded_metadata_height = "0";
				};

				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						max9296_b_out0: endpoint {
							vc-id = <0>;
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&max9296_b_csi_in0>;
						};
					};
				};
			};
			max9296_b@1c {
				compatible = "camera,sensor";

				reg = <0x1c>;

				/* Physical dimensions of sensor */
				physical_w = "24.0";
				physical_h = "23.5";

				sensor_model ="OX03C10";

				/* Defines number of frames to be dropped by driver internally after applying */
				/* sensor crop settings. Some sensors send corrupt frames after applying */
				/* crop co-ordinates */
				post_crop_frame_drop = "0";

				/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
				use_decibel_gain = "true";

				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "false";

				mode0 {
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					discontinuous_clk = "no";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "12";
					csi_pixel_bit_depth = "12";
					mode_type = "bayer";
					pixel_phase = "rggb";

					active_w = "1920";
					active_h = "1280";
					readout_orientation = "0";
					line_length = "1920";
					inherent_gain = "1";
					pix_clk_hz = "99000000";
					/*Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.*/
					/*Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)*/
					serdes_pix_clk_hz = "400000000";

					gain_factor = "10";
					min_gain_val = "1"; /* dB */
					max_gain_val = "140"; /* dB */
					step_gain_val = "3"; /* 0.3 */
					default_gain = "0";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1000000";
					min_framerate = "10000000"; // 30fps
					max_framerate = "60000000"; // 60fps
					step_framerate = "1";
					default_framerate = "30000000";
					exposure_factor = "1000000";
					min_exp_time = "30"; /*us, 2 lines*/
					max_exp_time = "660000";
					step_exp_time = "1";
					default_exp_time = "33334";/* us */
					embedded_metadata_height = "0";
				};

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

	tegra-camera-platform {
		compatible = "nvidia, tegra-camera-platform";
		/**
		* Physical settings to calculate max ISO BW
		*
		* num_csi_lanes = <>;
		* Total number of CSI lanes when all cameras are active
		*
		* max_lane_speed = <>;
		* Max lane speed in Kbit/s
		*
		* min_bits_per_pixel = <>;
		* Min bits per pixel
		*
		* vi_peak_byte_per_pixel = <>;
		* Max byte per pixel for the VI ISO case
		*
		* vi_bw_margin_pct = <>;
		* Vi bandwidth margin in percentage
		*
		* max_pixel_rate = <>;
		* Max pixel rate in Kpixel/s for the ISP ISO case
		*
		* isp_peak_byte_per_pixel = <>;
		* Max byte per pixel for the ISP ISO case
		*
		* isp_bw_margin_pct = <>;
		* Isp bandwidth margin in percentage
		*/
		num_csi_lanes = <4>;
		max_lane_speed = <15000000>;
		min_bits_per_pixel = <12>;
		vi_peak_byte_per_pixel = <2>;
		vi_bw_margin_pct = <25>;
	//	isp_peak_byte_per_pixel = <5>;
	//	isp_bw_margin_pct = <25>;
		/**
		 * The general guideline for naming badge_info contains 3 parts, and is as follows,
		 * The first part is the camera_board_id for the module; if the module is in a FFD
		 * platform, then use the platform name for this part.
		 * The second part contains the position of the module, ex. "rear" or "front".
		 * The third part contains the last 6 characters of a part number which is found
		 * in the module's specsheet from the vender.
		 */
		modules {
			module0 {
				badge = "max9296_cam0";
				position = "cam0";
				orientation = "1";
				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "cam0 9-0041";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/hirain_96717_a@41";
				};
			};
			module1 {
				badge = "max9296_cam0";
				position = "cam1";
				orientation = "1";
				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "cam1 9-0042";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/hirain_96717_b@42";
				};
			};
			module2 {
				badge = "max9296_cam0";
				position = "cam2";
				orientation = "1";
				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "cam2 10-0043";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/hirain_96717_c@43";
				};
			};
			module3 {
				badge = "max9296_cam0";
				position = "cam3";
				orientation = "1";
				drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "cam3 10-0044";
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/hirain_96717_d@44";
				};
			};
		};
	};

};

the drivering that I create. The register configuration is setting in user mode as below.

camera_gmsl_mode_tbls.h.txt (511 Bytes)
camera_gmsl_driver.c.txt (8.3 KB)

#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#include <linux/i2c-dev.h>
#include <linux/i2c.h>

#define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0]))

// use i2cdetect -l to check
#define GROUPA_DEVICE    	"/dev/i2c-9"
#define GROUPB_DEVICE    	"/dev/i2c-10"

struct cam_cfg {
    // device address use i2cdetect -r [i2c channel]
    unsigned char dev_addr;
    // delay after cmd has finish, unit: us
    unsigned long delay;
    // cmd len for buf
    unsigned char len;
    // I2C buffer, 8bit or 16bit I2C address and 8bit data
    unsigned char buf[4];
};

// the size of the config_list
long unsigned int list_size;

// handle config
void handle_cfg(int fd, struct cam_cfg *config_list, long unsigned int list_size);

// i2c command list max96717
struct cam_cfg max9295_max96717_list[] = {

    {0x4a,0xf4240, 0x03, 0x00, 0x10, 0x81},
    {0x4a,0x3e8, 0x03, 0x03, 0x13, 0x00},

{ 0x4a, 0xf4240, 0x03, 0x00, 0x01, 0x01 },
{ 0x4a, 0x30D40, 0x03, 0x04, 0x0a, 0x00 },
{ 0x4a, 0x30D40, 0x03, 0x04, 0x8a, 0x00 },
{ 0x4a, 0x30D40, 0x03, 0x04, 0xca, 0x00 },


{0x4a,0x30D40, 0x03, 0x00, 0x10, 0x22},
{0x40,0x3e8, 0x03, 0x00, 0x00, 0x84},
{ 0x42, 0x30D40, 0x03, 0x03, 0x18, 0x2c },
{ 0x42, 0x30D40, 0x03, 0x03, 0x31, 0x33 },
{ 0x42, 0x30D40, 0x03, 0x03, 0xf1, 0x09 },
{ 0x42, 0x30D40, 0x03, 0x03, 0x32, 0xe0 },
{ 0x42, 0x30D40, 0x03, 0x05, 0x70, 0x00 },
{ 0x42, 0x30D40, 0x03, 0x03, 0x08, 0x64 },
{ 0x42, 0x30D40, 0x03, 0x00, 0x11, 0x43 },
{ 0x42, 0x30D40, 0x03, 0x03, 0xf0, 0x51 },
{ 0x42, 0x30D40, 0x03, 0x00, 0x03, 0x03 },
{ 0x42, 0x30D40, 0x03, 0x00, 0x06, 0xb1 },
{ 0x42, 0x30D40, 0x03, 0x00, 0x02, 0x43 },
{ 0x42, 0x30D40, 0x03, 0x03, 0x13, 0x02 },

    //PHYA linka pipez vc=0
    {0x4a,0x3e8, 0x03, 0x04, 0x0b,0x07},
    {0x4a,0x3e8, 0x03, 0x04, 0x2d,0x15},
    {0x4a,0x3e8, 0x03, 0x04, 0x0d,0x1e},
    {0x4a,0x3e8, 0x03, 0x04, 0x0e,0x1e},
    {0x4a,0x3e8, 0x03, 0x04, 0x0f,0x00},
    {0x4a,0x3e8, 0x03, 0x04, 0x10,0x00},
    {0x4a,0x3e8, 0x03, 0x04, 0x11,0x01},
    {0x4a,0x3e8, 0x03, 0x04, 0x12,0x01},

    //PHYA linkb pipex vc=1
    {0x4a,0x3e8, 0x03, 0x04, 0x4b,0x07},
    {0x4a,0x3e8, 0x03, 0x04, 0x6d,0x15},
    {0x4a,0x3e8, 0x03, 0x04, 0x4d,0x1e},
    {0x4a,0x3e8, 0x03, 0x04, 0x4e,0x5e},
    {0x4a,0x3e8, 0x03, 0x04, 0x4f,0x00},
    {0x4a,0x3e8, 0x03, 0x04, 0x50,0x40},
    {0x4a,0x3e8, 0x03, 0x04, 0x51,0x01},
    {0x4a,0x3e8, 0x03, 0x04, 0x52,0x41},

    {0x4a,0x3e8, 0x03, 0x00, 0x03,0x40},
{ 0x4a, 0x30D40, 0x03, 0x04, 0x4a, 0xc0 },

{ 0x4a, 0x30D40, 0x03, 0x03, 0x30, 0x04 },
{ 0x4a, 0x30D40, 0x03, 0x03, 0x33, 0x1b },
{ 0x4a, 0x30D40, 0x03, 0x03, 0x34, 0xe4 },
{ 0x4a, 0x30D40, 0x03, 0x03, 0x35, 0x00 },
{ 0x4a, 0x30D40, 0x03, 0x03, 0x20, 0x2f },

    {0x4a,0x3e8, 0x03, 0x03, 0x1d,0x2c},

    {0x4a,0x3e8, 0x03, 0x03, 0x13,0x02},

{ 0x4a, 0x30D40, 0x03, 0x00, 0x50, 0x00 },
{ 0x4a, 0x30D40, 0x03, 0x00, 0x51, 0x02 },
{ 0x4a, 0x30D40, 0x03, 0x00, 0x52, 0x01 },
{ 0x4a, 0x30D40, 0x03, 0x00, 0x53, 0x03 },

{ 0x4a, 0x30D40, 0x03, 0x03, 0x32, 0xf0 },



{ 0x36, 0x1388, 0x03, 0x01, 0x00, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x01, 0x03, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x01, 0x07, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x00, 0x00, 0xff },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x5a, 0x1a },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x09, 0xff },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x09, 0xdf },	
{ 0x36, 0x1388, 0x03, 0x32, 0x08, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x20, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x08, 0x14 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x08, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x20, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x08, 0x15 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x08, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x07, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x08, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x08, 0xa2 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x01, 0xc8 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x03, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x04, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x05, 0x0b },	
{ 0x36, 0x1388, 0x03, 0x03, 0x06, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x07, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x16, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x17, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x18, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x23, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x24, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x03, 0x25, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x04, 0x00, 0xe0 },	
{ 0x36, 0x1388, 0x03, 0x04, 0x01, 0x80 },	
{ 0x36, 0x1388, 0x03, 0x04, 0x03, 0xde },	
{ 0x36, 0x1388, 0x03, 0x04, 0x04, 0x34 },	
{ 0x36, 0x1388, 0x03, 0x04, 0x05, 0x3b },	
{ 0x36, 0x1388, 0x03, 0x04, 0x06, 0xde },	
{ 0x36, 0x1388, 0x03, 0x04, 0x07, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x04, 0x08, 0xe0 },	
{ 0x36, 0x1388, 0x03, 0x04, 0x09, 0x7f },	
{ 0x36, 0x1388, 0x03, 0x04, 0x0a, 0xde },	
{ 0x36, 0x1388, 0x03, 0x04, 0x0b, 0x34 },	
{ 0x36, 0x1388, 0x03, 0x04, 0x0c, 0x47 },	
{ 0x36, 0x1388, 0x03, 0x04, 0x0d, 0xd8 },	
{ 0x36, 0x1388, 0x03, 0x04, 0x0e, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x28, 0x03, 0xfe },	
{ 0x36, 0x1388, 0x03, 0x28, 0x0b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x28, 0x0c, 0x79 },	
{ 0x36, 0x1388, 0x03, 0x30, 0x01, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x30, 0x02, 0xf8 },	
{ 0x36, 0x1388, 0x03, 0x30, 0x05, 0x80 },	
{ 0x36, 0x1388, 0x03, 0x30, 0x07, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x30, 0x08, 0x80 },	
{ 0x36, 0x1388, 0x03, 0x30, 0x12, 0x41 },	
{ 0x36, 0x1388, 0x03, 0x30, 0x20, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x00, 0x28 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x01, 0x15 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x02, 0x19 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x03, 0x23 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x04, 0x0a },	
{ 0x36, 0x1388, 0x03, 0x37, 0x05, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x06, 0x3e },	
{ 0x36, 0x1388, 0x03, 0x37, 0x07, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x37, 0x08, 0x50 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x09, 0x5a },	
{ 0x36, 0x1388, 0x03, 0x37, 0x0a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x0b, 0x96 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x11, 0x11 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x12, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x17, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x18, 0x73 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x2c, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x33, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x38, 0x36 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x39, 0x36 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x3a, 0x25 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x3b, 0x25 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x3f, 0x21 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x40, 0x21 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x41, 0x21 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x42, 0x21 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x47, 0x28 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x48, 0x28 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x49, 0x19 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x55, 0x1a },	
{ 0x36, 0x1388, 0x03, 0x37, 0x56, 0x0a },	
{ 0x36, 0x1388, 0x03, 0x37, 0x57, 0x1c },	
{ 0x36, 0x1388, 0x03, 0x37, 0x65, 0x19 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x66, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x67, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x68, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x6c, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x78, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x7c, 0xc8 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x81, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x83, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x9c, 0x58 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x9e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0x9f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xa0, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xbc, 0x22 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xc0, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xc4, 0x3e },	
{ 0x36, 0x1388, 0x03, 0x37, 0xc5, 0x3e },	
{ 0x36, 0x1388, 0x03, 0x37, 0xc6, 0x2a },	
{ 0x36, 0x1388, 0x03, 0x37, 0xc7, 0x28 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xc8, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xc9, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xcb, 0x29 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xcd, 0x29 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xd2, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xd3, 0x73 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xd6, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xd7, 0x6b },	
{ 0x36, 0x1388, 0x03, 0x37, 0xdc, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xdf, 0x54 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xe2, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xe3, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xf8, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xf9, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xfa, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x37, 0xfb, 0x19 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x03, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x04, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x06, 0x21 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x08, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x09, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x0a, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x0b, 0x21 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x13, 0x21 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x14, 0x82 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x16, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x21, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x22, 0xf3 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x37, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x38, 0x31 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x3c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x3d, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x44, 0x16 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x5c, 0x8a },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x5f, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x61, 0x80 },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x6f, 0x2b },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x70, 0x5f },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x71, 0x2c },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x72, 0x2c },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x73, 0x2c },	
{ 0x36, 0x1388, 0x03, 0x3c, 0x76, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x31, 0x82, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x0e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x0f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x11, 0x61 },	
{ 0x36, 0x1388, 0x03, 0x32, 0x15, 0xcd },	
{ 0x36, 0x1388, 0x03, 0x32, 0x19, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x06, 0x30 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x0a, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x0b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x0c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x86, 0x60 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x8a, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x8b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x8c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x41, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x42, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x48, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x49, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x4a, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x4b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x4c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0xc1, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0xc2, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x35, 0xc6, 0xa0 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x00, 0x8f },	
{ 0x36, 0x1388, 0x03, 0x36, 0x05, 0x16 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x09, 0xf0 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x0a, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x0e, 0x1d },	
{ 0x36, 0x1388, 0x03, 0x36, 0x0f, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x10, 0x70 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x11, 0x3a },	
{ 0x36, 0x1388, 0x03, 0x36, 0x12, 0x28 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x1a, 0x29 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x1b, 0x6c },	
{ 0x36, 0x1388, 0x03, 0x36, 0x1c, 0x0b },	
{ 0x36, 0x1388, 0x03, 0x36, 0x1d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x1e, 0xfc },	
{ 0x36, 0x1388, 0x03, 0x36, 0x2a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x4d, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x36, 0x4e, 0x18 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x4f, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x53, 0x1c },	
{ 0x36, 0x1388, 0x03, 0x36, 0x54, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x55, 0x1f },	
{ 0x36, 0x1388, 0x03, 0x36, 0x56, 0x1f },	
{ 0x36, 0x1388, 0x03, 0x36, 0x57, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x36, 0x58, 0x0a },	
{ 0x36, 0x1388, 0x03, 0x36, 0x59, 0x14 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x5a, 0x18 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x5b, 0x14 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x5c, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x5e, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x74, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x36, 0x77, 0x3a },	
{ 0x36, 0x1388, 0x03, 0x36, 0x78, 0x3a },	
{ 0x36, 0x1388, 0x03, 0x36, 0x79, 0x19 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x02, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x03, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x06, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x07, 0x0b },	
{ 0x36, 0x1388, 0x03, 0x38, 0x08, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x09, 0x80 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0a, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0c, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0d, 0x47 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0e, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0f, 0x6a },	
{ 0x36, 0x1388, 0x03, 0x38, 0x10, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x11, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x12, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x13, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x16, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x17, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x1c, 0x18 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x1e, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x1f, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x20, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x21, 0x19 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x32, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x34, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x4c, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x4d, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x38, 0x50, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x51, 0x42 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x52, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x53, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x58, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x8c, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x8d, 0x2b },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x40, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x41, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x42, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x43, 0x90 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x44, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x45, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x46, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x47, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x48, 0x19 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x49, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x4a, 0x16 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x4b, 0x2e },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x4c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x4d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x86, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x87, 0x34 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x88, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x89, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x8a, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x8b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x8c, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x8d, 0x80 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x8e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x8f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x92, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x93, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x94, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x95, 0x80 },	
{ 0x36, 0x1388, 0x03, 0x3b, 0x9e, 0x09 },	
{ 0x36, 0x1388, 0x03, 0x3d, 0x85, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x3d, 0x8a, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x3d, 0x8b, 0xff },	
{ 0x36, 0x1388, 0x03, 0x3d, 0x99, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3d, 0x9a, 0x9f },	
{ 0x36, 0x1388, 0x03, 0x3d, 0x9b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3d, 0x9c, 0xa0 },	
{ 0x36, 0x1388, 0x03, 0x3d, 0xa4, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x3d, 0xa7, 0x50 },	
{ 0x36, 0x1388, 0x03, 0x42, 0x0e, 0xff },	
{ 0x36, 0x1388, 0x03, 0x42, 0x0f, 0xff },	
{ 0x36, 0x1388, 0x03, 0x42, 0x10, 0xff },	
{ 0x36, 0x1388, 0x03, 0x42, 0x11, 0xff },	
{ 0x36, 0x1388, 0x03, 0x42, 0x1e, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x42, 0x1f, 0x45 },	
{ 0x36, 0x1388, 0x03, 0x42, 0x20, 0xe1 },	
{ 0x36, 0x1388, 0x03, 0x42, 0x21, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x01, 0xff },	
{ 0x36, 0x1388, 0x03, 0x43, 0x07, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x08, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x0a, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x0d, 0x93 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x0f, 0x17 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x10, 0x95 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x11, 0x16 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x16, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x17, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x19, 0x43 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x1a, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x1b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x1d, 0x2a },	
{ 0x36, 0x1388, 0x03, 0x43, 0x1e, 0x11 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x1f, 0x30 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x20, 0x19 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x23, 0x80 },	
{ 0x36, 0x1388, 0x03, 0x43, 0x24, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x03, 0x4e },	
{ 0x36, 0x1388, 0x03, 0x45, 0x05, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x09, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x0a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x80, 0xf8 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x83, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x84, 0x6a },	
{ 0x36, 0x1388, 0x03, 0x45, 0x85, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x86, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x87, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x88, 0x73 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x89, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x8a, 0x1f },	
{ 0x36, 0x1388, 0x03, 0x45, 0x8b, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x8c, 0xdc },	
{ 0x36, 0x1388, 0x03, 0x45, 0x8d, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x8e, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x97, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x98, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x45, 0x99, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x45, 0x9a, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x45, 0x9b, 0xfb },	
{ 0x36, 0x1388, 0x03, 0x45, 0x9c, 0xf3 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x02, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x03, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x04, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x09, 0x0a },	
{ 0x36, 0x1388, 0x03, 0x46, 0x0a, 0x30 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x10, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x11, 0x70 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x12, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x13, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x14, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x15, 0x70 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x16, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x17, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x48, 0x00, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x48, 0x0a, 0x22 },	
{ 0x36, 0x1388, 0x03, 0x48, 0x13, 0xe4 },	
{ 0x36, 0x1388, 0x03, 0x48, 0x14, 0x2a },	
{ 0x36, 0x1388, 0x03, 0x48, 0x37, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x48, 0x4b, 0x47 },	
{ 0x36, 0x1388, 0x03, 0x48, 0x4f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x48, 0x87, 0x51 },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x00, 0x4a },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x01, 0x18 },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x05, 0xff },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x06, 0x88 },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x08, 0x63 },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x09, 0xdf },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x15, 0x7d },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x1a, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x30, 0x0a },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x31, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x34, 0x7d },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x3c, 0x7d },	
{ 0x36, 0x1388, 0x03, 0x4f, 0x00, 0x3f },	
{ 0x36, 0x1388, 0x03, 0x4f, 0x01, 0xff },	
{ 0x36, 0x1388, 0x03, 0x4f, 0x02, 0xff },	
{ 0x36, 0x1388, 0x03, 0x4f, 0x03, 0x2c },	
{ 0x36, 0x1388, 0x03, 0x4f, 0x04, 0xe0 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x00, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x01, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x02, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x03, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x04, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x05, 0x80 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x06, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x07, 0xe0 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x08, 0xcf },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x09, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x0a, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x20, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x21, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x22, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x23, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x24, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x25, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x26, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x27, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x6a, 0x28, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x00, 0x8f },	
{ 0x36, 0x1388, 0x03, 0x50, 0x01, 0x75 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x02, 0x3f },	
{ 0x36, 0x1388, 0x03, 0x50, 0x03, 0x2a },	
{ 0x36, 0x1388, 0x03, 0x50, 0x04, 0x3e },	
{ 0x36, 0x1388, 0x03, 0x50, 0x05, 0x1e },	
{ 0x36, 0x1388, 0x03, 0x50, 0x06, 0x1e },	
{ 0x36, 0x1388, 0x03, 0x50, 0x07, 0x1e },	
{ 0x36, 0x1388, 0x03, 0x50, 0x08, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x0c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x2c, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x50, 0x2e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x2f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x4b, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x53, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x5b, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x63, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x70, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x74, 0x49 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x7a, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x50, 0x7b, 0x09 },	
{ 0x36, 0x1388, 0x03, 0x55, 0x00, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x57, 0x00, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x59, 0x00, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x07, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x08, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x09, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x0b, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x0c, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x0d, 0x88 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x16, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x27, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x28, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x29, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x2b, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x2c, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x2d, 0x88 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x47, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x48, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x49, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x4b, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x4c, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x4d, 0x88 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x67, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x68, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x69, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x6b, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x6c, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x6d, 0x88 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x87, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x88, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x89, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x8b, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x8c, 0x07 },	
{ 0x36, 0x1388, 0x03, 0x60, 0x8d, 0x88 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x00, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x01, 0x0a },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x02, 0x0a },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x03, 0x0b },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x04, 0x0b },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x05, 0x0b },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x06, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x07, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x08, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x09, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x0a, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x0b, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x0c, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x0d, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x0e, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x0f, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x10, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x11, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x12, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x13, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x14, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x15, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x16, 0x11 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x17, 0x11 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x18, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x19, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x1a, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x1b, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x1c, 0x14 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x1d, 0x14 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x1e, 0x15 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x1f, 0x15 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x20, 0x16 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x21, 0x16 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x22, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x23, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x26, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x27, 0xff },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x29, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x2a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x2c, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x2d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x2f, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x30, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x32, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x33, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x34, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x35, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x36, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x37, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x38, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x39, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x3a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x3b, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x3c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x3d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x3e, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x3f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x40, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x41, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x42, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x43, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x44, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x45, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x46, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x47, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x48, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x49, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x4a, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x4b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x4c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x4d, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x4e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x50, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x51, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x53, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x54, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x56, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x57, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x59, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x5a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x5c, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x5d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x5f, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x60, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x62, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x63, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x65, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x66, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x68, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x69, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x6b, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x6c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x6e, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x6f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x71, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x72, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x74, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x75, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x77, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x78, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x7a, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x7b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x7d, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x7e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x80, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x81, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x83, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x5e, 0x84, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x00, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x01, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x02, 0x09 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x03, 0x0a },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x04, 0x0b },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x05, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x06, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x07, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x08, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x09, 0x0c },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x0a, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x0b, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x0c, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x0d, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x0e, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x0f, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x10, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x11, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x12, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x13, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x14, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x15, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x16, 0x11 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x17, 0x11 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x18, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x19, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x1a, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x1b, 0x13 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x1c, 0x14 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x1d, 0x14 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x1e, 0x16 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x1f, 0x16 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x20, 0x16 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x21, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x22, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x23, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x26, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x27, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x29, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x2a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x2c, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x2d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x2f, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x30, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x32, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x33, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x34, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x35, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x36, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x37, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x38, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x39, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x3a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x3b, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x3c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x3d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x3e, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x3f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x40, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x41, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x42, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x43, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x44, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x45, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x46, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x47, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x48, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x49, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x4a, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x4b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x4c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x4d, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x4e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x50, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x51, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x53, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x54, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x56, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x57, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x59, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x5a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x5c, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x5d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x5f, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x60, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x62, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x63, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x65, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x66, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x68, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x69, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x6b, 0x08 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x6c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x6e, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x6f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x71, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x72, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x74, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x75, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x77, 0x10 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x78, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x7a, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x7b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x7d, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x7e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x80, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x81, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x83, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x5f, 0x84, 0xff },	
{ 0x36, 0x1388, 0x03, 0x52, 0x40, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x52, 0x43, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x52, 0x44, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x52, 0x45, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x52, 0x46, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x52, 0x47, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x52, 0x48, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x52, 0x49, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x54, 0x40, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x54, 0x43, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x54, 0x45, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x54, 0x47, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x54, 0x48, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x54, 0x49, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x56, 0x40, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x56, 0x42, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x56, 0x43, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x56, 0x44, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x56, 0x45, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x56, 0x46, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x56, 0x47, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x56, 0x49, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x58, 0x40, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x58, 0x42, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x58, 0x43, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x58, 0x45, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x58, 0x46, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x58, 0x47, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x58, 0x48, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x58, 0x49, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x01, 0x2b },	
{ 0x36, 0x1388, 0x03, 0x40, 0x08, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x09, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x18, 0x12 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x22, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x23, 0x20 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x26, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x27, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x28, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x29, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x2a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x2b, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x2c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x2d, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x5e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x5f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x60, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x61, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x62, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x63, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x64, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x65, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x66, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x67, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x68, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x69, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x6a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x6b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x6c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x6d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x6e, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x6f, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x70, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x71, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x72, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x73, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x74, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x75, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x76, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x77, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x78, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x79, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x7a, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x7b, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x7c, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x7d, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x7e, 0xcc },	
{ 0x36, 0x1388, 0x03, 0x40, 0x7f, 0x18 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x80, 0xff },	
{ 0x36, 0x1388, 0x03, 0x40, 0x81, 0xff },	
{ 0x36, 0x1388, 0x03, 0x40, 0x82, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x83, 0x53 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x84, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x85, 0x2b },	
{ 0x36, 0x1388, 0x03, 0x40, 0x86, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x40, 0x87, 0xb3 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x40, 0x40 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x41, 0x11 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x42, 0x0e },	
{ 0x36, 0x1388, 0x03, 0x46, 0x43, 0xee },	
{ 0x36, 0x1388, 0x03, 0x46, 0x46, 0x0f },	
{ 0x36, 0x1388, 0x03, 0x46, 0x48, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x46, 0x49, 0x03 },	
{ 0x36, 0x1388, 0x03, 0x4f, 0x04, 0xf8 },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x09, 0xff },	
{ 0x36, 0x1388, 0x03, 0x4d, 0x09, 0xdf },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0e, 0x05 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0f, 0x6a },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0c, 0x04 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x0d, 0x47 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x4c, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x4d, 0x0d },	
{ 0x36, 0x1388, 0x03, 0x38, 0x8c, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x8d, 0x2b },	
{ 0x36, 0x1388, 0x03, 0x35, 0x01, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x02, 0x02 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x08, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x09, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x41, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x35, 0x42, 0xc8 },	
{ 0x36, 0x1388, 0x03, 0x35, 0xc1, 0x00 },	
{ 0x36, 0x1388, 0x03, 0x35, 0xc2, 0x01 },	
{ 0x36, 0x1388, 0x03, 0x38, 0x20, 0x30 },	
{ 0x36, 0x1388, 0x03, 0x01, 0x00, 0x01 }
};


// i2c command list imx390
struct cam_cfg max9295_imx390_list[] = {
    //reset 9296A
    {0x4a,0xf4240, 0x03, 0x00, 0x10, 0x81},
    {0x4a,0x3e8, 0x03, 0x03, 0x13, 0x00},

    //enabled linkA
    {0x4a,0x30D40, 0x03, 0x00, 0x10, 0x21},

    {0x40,0x3e8, 0x03, 0x00, 0x00, 0x86},
    {0x43,0x3e8, 0x03, 0x00, 0x53, 0x12},
    {0x43,0x3e8, 0x03, 0x00, 0x5b, 0x10},
    {0x43,0x7a120, 0x03, 0x02, 0xbe, 0x00},
    {0x43,0x7a120, 0x03, 0x02, 0xbe, 0x10},
    {0x43,0x3e8, 0x03, 0x03, 0x18, 0x5e},
    {0x43,0x7a120, 0x03, 0x02, 0xd3, 0x00},
    {0x43,0x3e8, 0x03, 0x02, 0xd3, 0x10},

    //enabled linkB
    {0x4a,0x30D40, 0x03, 0x00, 0x10, 0x22},

    {0x40,0x3e8, 0x03, 0x00, 0x00, 0x84},
    {0x42,0x3e8, 0x03, 0x00, 0x57, 0x12},
    {0x42,0x3e8, 0x03, 0x00, 0x5b, 0x11},
    {0x42,0x7a120, 0x03, 0x02, 0xbe, 0x00},
    {0x42,0x7a120, 0x03, 0x02, 0xbe, 0x10},
    {0x42,0x3e8, 0x03, 0x03, 0x18, 0x5e},
    {0x42,0x7a120, 0x03, 0x02, 0xd3, 0x00},
    {0x42,0x3e8, 0x03, 0x02, 0xd3, 0x10},

    //PHYA linka pipez vc=0
    {0x4a,0x3e8, 0x03, 0x04, 0x0b,0x07},
    {0x4a,0x3e8, 0x03, 0x04, 0x2d,0x15},
    {0x4a,0x3e8, 0x03, 0x04, 0x0d,0x1e},
    {0x4a,0x3e8, 0x03, 0x04, 0x0e,0x1e},
    {0x4a,0x3e8, 0x03, 0x04, 0x0f,0x00},
    {0x4a,0x3e8, 0x03, 0x04, 0x10,0x00},
    {0x4a,0x3e8, 0x03, 0x04, 0x11,0x01},
    {0x4a,0x3e8, 0x03, 0x04, 0x12,0x01},

    //PHYA linkb pipex vc=1
    {0x4a,0x3e8, 0x03, 0x04, 0x4b,0x07},
    {0x4a,0x3e8, 0x03, 0x04, 0x6d,0x15},
    {0x4a,0x3e8, 0x03, 0x04, 0x4d,0x1e},
    {0x4a,0x3e8, 0x03, 0x04, 0x4e,0x5e},
    {0x4a,0x3e8, 0x03, 0x04, 0x4f,0x00},
    {0x4a,0x3e8, 0x03, 0x04, 0x50,0x40},
    {0x4a,0x3e8, 0x03, 0x04, 0x51,0x01},
    {0x4a,0x3e8, 0x03, 0x04, 0x52,0x41},

    {0x4a,0x3e8, 0x03, 0x00, 0x03,0x40},
    {0x4a,0x3e8, 0x03, 0x04, 0x4a,0x40},

    {0x4a,0x3e8, 0x03, 0x03, 0x30,0x04},
    {0x4a,0x3e8, 0x03, 0x03, 0x33,0x4e},
    {0x4a,0x3e8, 0x03, 0x03, 0x34,0xe4},
    {0x4a,0x3e8, 0x03, 0x03, 0x20,0x2c},
    {0x4a,0x3e8, 0x03, 0x03, 0x1d,0x2c},

    {0x4a,0x3e8, 0x03, 0x03, 0x13,0x02},

    {0x4a,0x3e8, 0x03, 0x00, 0x50,0x00},
    {0x4a,0x3e8, 0x03, 0x00, 0x51,0x01},
    {0x4a,0x3e8, 0x03, 0x00, 0x52,0x02},
    {0x4a,0x3e8, 0x03, 0x00, 0x53,0x03},

    {0x4a,0x3e8, 0x03, 0x03, 0x32,0xf0},
};

int i2c_write_data( int fd, 
                    unsigned char dev_addr,
                    unsigned char *buf,
                    unsigned char len) {
    struct i2c_rdwr_ioctl_data data;
    struct i2c_msg write_messages;
    write_messages.addr = dev_addr; // reg add
    write_messages.flags = 0; // write
    write_messages.len = len;
    write_messages.buf = buf; // data value
    data.msgs = &write_messages;
    data.nmsgs = 1;

    return ioctl(fd, I2C_RDWR, &data);
}

int i2c_read_data(int fd,
                  unsigned char dev_addr,
                  unsigned char *reg_addr,
                  unsigned char *buf) {
    struct i2c_rdwr_ioctl_data data;
    struct i2c_msg read_messages[2];

    read_messages[0].addr = dev_addr;
    read_messages[0].flags = 0; // write
    read_messages[0].len = 2;   // 16bit
    read_messages[0].buf = reg_addr;

    read_messages[1].addr = dev_addr;
    read_messages[1].flags = I2C_M_RD;
    read_messages[1].len = 1;   // 8bit
    read_messages[1].buf = buf;
    data.msgs = read_messages;
    data.nmsgs = 2;
    return ioctl(fd, I2C_RDWR, &data);
}

void handle_cfg(int fd, struct cam_cfg *config_list, long unsigned int list_size) {
    int ret;
    struct cam_cfg *reg_list = config_list;
    long unsigned int i = 0;

    for (size_t i = 0; i < list_size; i++) {
        ret = i2c_write_data(fd, reg_list[i].dev_addr, reg_list[i].buf, reg_list[i].len);
        if(ret < 0) {   
            printf("error: i2c write error! %ld, 0x%x 0x%x, 0x%x, 0x%x\n",
                i, reg_list[i].dev_addr, reg_list[i].buf[0], reg_list[i].buf[1], reg_list[i].buf[2]);
        }
        usleep(reg_list[i].delay);
    }
}


unsigned char check_config_result(int fd, struct cam_cfg *configlist) {
    struct cam_cfg *reg_list = configlist;
    //max9296a VPRBS 0x1dc/0x1fc/0x21c/0x23c  correspondant to the channel x,y,z,u
    //对于9296来说,使用x y通道就可以
    unsigned char lock_reg[2] = {0x00, 0x00};
    unsigned char link_set[3] = {0x00, 0x10, 0x20};
    unsigned char lockstatus = 0;
    unsigned char tt = 0;
    unsigned ch_status = 0x0;
    int ret=0;

    for (tt = 0; tt < 2; tt++) {
        switch (tt) {
            case 0: //pipe x linka 
                lock_reg[0] = 0x01;
                lock_reg[1] = 0xdc;
                link_set[2] = 0x21;
                ret = i2c_write_data(fd,reg_list[0].dev_addr,&link_set[0],3);
                if(ret < 0 ) printf("0: i2c write error!\n");
                usleep(200000);
                break;
            case 1: //pipe y linb
                lock_reg[0] = 0x01;
                lock_reg[1] = 0xfc;
                link_set[2] = 0x22;
                ret = i2c_write_data(fd,reg_list[0].dev_addr,&link_set[0],3);
                usleep(200000);
                if(ret < 0 ) printf("1: i2c write error!\n");
                break;
            default:
                break;
        }

        usleep(20000);

        ret = i2c_read_data(fd,reg_list[0].dev_addr,&lock_reg[0],&lockstatus);
        if(ret < 0) {
            printf("i2c read error!\n");
        }
        usleep(10000);

        ch_status |= ((lockstatus & 0x1) << tt);
        lockstatus = 0x0;
    }

    if((ch_status&0x3) == 0x3) {
        link_set[2] = 0x23;
    } else if((ch_status&0x1) == 0x1) {
        link_set[2] = 0x21;
    } else if((ch_status&0x2) == 0x2) {
        link_set[2] = 0x22;
    } else {
        link_set[2] = 0x00;
    }

    ret = i2c_write_data(fd,reg_list[0].dev_addr,&link_set[0],3);
    if(ret < 0) {
        printf("final: i2c write error!\n");
    }
    usleep(200000);
    return ch_status;

}

int init_cam(char *i2c_dev_ch) {
    int fd = -1;
    int ret = -1;

    fd = open(i2c_dev_ch, O_RDWR);
    if(fd < 0) {
        printf("error: open %s error\n", i2c_dev_ch);
        return -1;
    }

    handle_cfg(fd, max9295_max96717_list, ARRAY_SIZE(max9295_max96717_list));
    usleep(10000);
    ret = check_config_result(fd, max9295_max96717_list);
    close(fd);
    return ret;

}

int main(int argc,char *argv[]) {
    int ch_status;
    // //第一组 video0 video1
    // printf("video0 and video1 init:\n");
    // ch_status = init_cam(GROUPA_DEVICE);
    // if (0x3 == ch_status) {
    //     printf("video0 success, video1 success \n");
    // } else if (0x1 == ch_status) {
    //     printf("video0 success, video1 fail \n");
    // } else if (0x2 == ch_status) {
    //     printf("video0 fail, video1 success \n");
    // } else {
    //     printf("video0 fail, video1 fail \n");
    // }
    // usleep(1000);
    //第二组 video2 video3
    printf("video2 and video3 init:\n");
    ch_status = init_cam(GROUPB_DEVICE);
    if(0x3 == ch_status)
    {
        printf("video2 success, video3 success \n");
    } else if(0x1 == ch_status) {
        printf("video2 success, video3 fail \n");
    } else if(0x2 == ch_status) {
        printf("video2 fail, video3 success \n");
    } else {
        printf("video2 fail, video3 fail \n");
    }

    return 0;
}



hello dingbobby,

(1) the error looks like NULL pointer dereference,
please dig into driver proving to check which function caused the issue, you may also share complete kernel panic logs for checking.

(2) tegra-capture-vi: corr_err: discarding frame it means capture buffer has dropped due to unsuccessfully capture results, whereas flags : 0 it means an error in capture channel.
please see-also Jetson Orin NX Series and Orin Nano Series Design Guide,
there’s polarity swap, for instance, CSI0 D1 and CSI1 D0 P/N will always been swizzled for P/N.
please use device tree property, lane_polarity to configure a polarity swap on any lane.

Hi JerryChang,

  1. Could you please confirm that the Camera Core implement the format “BGGR”? I think that it could because v4l2 has the color format but camera core did not implement.

  2. Because the error was occured at the VI part and the connecting between serdes is success. So I don’t think it could be the problem of N/P polarity. BTW, the lane_polarity has been checked with no error.

Regards,

Feng

hello dingbobby,

this is implemented in the camera core, i.e. V4L2_PIX_FMT_SBGGR12.
however, could you please share your sensor device tree for checking.

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