When capturing images with Jetson Orin NX, the captured images are incorrect. Below are the relevant details and the captured image:
sensor: imx568
FPS:79.1
The configuration we selected for IMX568 is as follows:
10bit 79.1FPS 2448*2048 4lane 54MHz
dts:
IMX568_cam1: imx568_mipi@1a {
reg = <0x1a>;
compatible = "nvidia,nv_imx568";
devnode = "video1";
use_sensor_mode_id = "false";
sensor_model = "vc_mipi";
num_lanes = "4";
trigger_mode = "0";
io_mode = "0";
physical_w = "6.707";
physical_h = "5.612";
mode0 {
num_lanes = "4";
tegra_sinterface = "serial_c";
embedded_metadata_height = "4";
readout_orientation = "0";
lane_polarity = "0";
active_l = "0";
active_t = "0";
active_w = "2448";
active_h = "2048";
mode_type = "bayer";
pixel_phase = "rggb";
csi_pixel_bit_depth = "10";
min_gain_val = "0"; // mdB
max_gain_val = "48000"; // mdB
step_gain_val = "100"; // mdB
default_gain = "0"; // mdB
min_exp_time = "1"; // us
max_exp_time = "1000000"; // us
step_exp_time = "1"; // us
default_exp_time = "10000"; // us
min_framerate = "100"; // mHz
max_framerate = "79100"; // mHz
step_framerate = "100"; // mHz
default_framerate = "79100"; // mHz
gain_factor = "1000";
exposure_factor = "1000000";
framerate_factor = "1000";
inherent_gain = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
line_length = "0";
phy_mode = "DPHY";
discontinuous_clk = "no";
mclk_khz = "54000";
pix_clk_hz = 475200000; // 1188M * 4 / 10 = 475200000
mclk_multiplier = "0.0";
cil_settletime = "0";
dpcm_enable = "false";
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
vc_mipi_out1: endpoint {
port-index = <2>;
bus-width = <BUS_WIDTH>;
remote-endpoint = <&vc_csi_in1>;
};
};
};
};
During debugging, using pix_clk_hz = 1188 * 4 / 10 = 475200000
or pix_clk_hz = 2448 * 2048 * 79.1 = 396568166
, the resulting image outputs are incorrect. What could be the reason for this? Are the calculations for pix_clk_hz
correct? Why do the results differ between these two calculation methods?