Hello,
I am working on the following setup:
- 2 cameras 8MPx 30fps RAW12
- 1 deserializer max9296, sending both RAW12 streams to MIPI CSI PORT A, using 4 lanes and virtual channels (Camera 1 = VC0, Camera 2 = VC1)
I am using Double Pixel mode in SerDes to optimise bandwidth (in serializer, process 12bits as 24bits. In deserializer, unpack 24bit as 12bit)
Processing only one stream is working
But while processing 2 streams at the same time, it seams that we loose some mipi packets
Here is my device tree configuration:
mode0
{
mclk_khz = "2500000";
num_lanes = "4";
tegra_sinterface = "serial_a";
vc_id = "0";
phy_mode = "DPHY";
discontinuous_clk = "no";
dpcm_enable = "false";
cil_settletime = "0";
dynamic_pixel_bit_depth = "12";
csi_pixel_bit_depth = "12";
mode_type = "bayer";
pixel_phase = "grbg";
active_w = "3848";
active_h = "2168";
readout_orientation = "0";
line_length = "4440";
inherent_gain = "1";
//mclk_multiplier = "9.33";
pix_clk_hz = "156000000";
serdes_pix_clk_hz = "500000000";
gain_factor = "1";
min_gain_val = "0";
max_gain_val = "1";
step_gain_val = "1";
default_gain = "0";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
framerate_factor = "1000000";
min_framerate = "30000000";
max_framerate = "30000000";
step_framerate = "1";
default_framerate ="30000000";
exposure_factor ="1000000";
min_exp_time = "17";
max_exp_time = "8333";
step_exp_time = "1";
default_exp_time = "3330";
embedded_metadata_height = "0";
};
Here is the trace logs when running the 2 streams
trace.log (3.0 MB)
boosting the clocks does not help.
I calculated the bandwidth, and should be okay for 2 cameras.
Do you have any idea ?
Thanks