ORIN NX – Camera driver bring‑up fails despite active MIPI lanes (MAX96716 + RAW12)
11maomengda
36m
Hi NVIDIA team,
We are currently performing camera driver development on Jetson Orin NX (JetPack 6.x) and are facing a streaming failure during the bring‑up stage.
-
Hardware topology
Image Sensor
↓
Serializer (GMSL2)
↓
MAX96716 Deserializer
↓
Orin NX CSI PHY1 / CIL0(CSI2/3 4lane) -
Capture command
v4l2-ctl -V
–set-fmt-video=width=2064,height=1552
–set-ctrl bypass_mode=0,sensor_mode=0
–stream-mmap
-d /dev/video4 -
Kernel traces (/sys/kernel/debug/tracing/trace)
kworker/4:1-56 [004] … 275.820290: rtcpu_nvcsi_intr: tstamp:9388234033 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x10000000
kworker/4:1-56 [004] … 275.820290: rtcpu_nvcsi_intr: tstamp:9388234750 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x10000000
…
a. Does status:0x10000000indicate a normal PHY condition, or does it imply a CSI protocol issue?
b. With active MIPI lanes and PHY interrupts, what are the most common reasons for VI failing to dequeue frames?
c. Are there any known caveats for MAX96724 + Orin NX + JetPack 6.x during driver bring‑up?
d.Which additional debug traces (VI / NVCSI / RTCPU) do you recommend enabling?
Any guidance would be greatly appreciated.
Thanks!
- my dts
// SPDX-License-Identifier: GPL-2.0-only
// SPDX-FileCopyrightText: Copyright (c) 2023-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
/dts-v1/;
/plugin/;
define CAM1_PWDN TEGRA234_MAIN_GPIO(AC, 0)
define IMU_INT1 TEGRA234_AON_GPIO(GG, 0)
define IMU_INT3 TEGRA234_AON_GPIO(CC, 2)
define VB1940_TRIGER TEGRA234_MAIN_GPIO(H, 0)
/ {
overlay-name = “Jetson Camera SM3S23NQx2 SDT2NNO1x2 module”;
jetson-header-name = “Jetson 24pin CSI Connector”;
compatible = JETSON_COMPATIBLE_P3768;
fragment@0 {
target-path = “/”;
overlay {
tegra-capture-vi {
num-channels = ;
ports {
#address-cells = ;
#size-cells = ;
port@0 {
reg = ;
jetson_vi_in0: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@1 {
reg = ;
jetson_vi_in1: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@2 {
reg = ;
jetson_vi_in2: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@3 {
reg = ;
jetson_vi_in3: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@4 {
reg = ;
jetson_vi_in4: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@5 {
reg = ;
jetson_vi_in5: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
};
};
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 = ;
max_lane_speed = ;
min_bits_per_pixel = ;
vi_peak_byte_per_pixel = ;
vi_bw_margin_pct = ;
max_pixel_rate = ;
isp_peak_byte_per_pixel = ;
isp_bw_margin_pct = ;
/* - 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 vendor.
*/
modules {
module0 {
status = “okay”;
badge = “cam0_bottomleft”;
position = “bottomleft”;
orientation = “1”;
drivernode0 {
status = “okay”;
pcl_id = “v4l2_sensor”;
sysfs-device-tree = “/sys/firmware/devicetree/base/bus@0/i2c@3160000/cam_0@20”;
};
};
module1 {
status = “okay”;
badge = “cam1_bottomright”;
position = “bottomright”;
orientation = “1”;
drivernode0 {
status = “okay”;
pcl_id = “v4l2_sensor”;
sysfs-device-tree = “/sys/firmware/devicetree/base/bus@0/i2c@3160000/cam_1@21”;
};
};
module2 {
status = “okay”;
badge = “cam2_centerleft”;
position = “centerleft”;
orientation = “1”;
drivernode0 {
status = “okay”;
pcl_id = “v4l2_sensor”;
sysfs-device-tree = “/sys/firmware/devicetree/base/bus@0/i2c@3160000/cam_2@22”;
};
};
module3 {
status = “okay”;
badge = “cam3_centerright”;
position = “centerright”;
orientation = “1”;
drivernode0 {
status = “okay”;
pcl_id = “v4l2_sensor”;
sysfs-device-tree = “/sys/firmware/devicetree/base/bus@0/i2c@3160000/cam_3@23”;
};
};
module4 {
status = “okay”;
badge = “cam4_topleft”;
position = “topleft”;
orientation = “1”;
drivernode0 {
status = “okay”;
pcl_id = “v4l2_sensor”;
sysfs-device-tree =“/sys/firmware/devicetree/base/bus@0/i2c@3160000/cam_4@24”;
};
};
module5 {
status = “okay”;
badge = “cam5_topright”;
position = “topright”;
orientation = “1”;
drivernode0 {
status = “okay”;
pcl_id = “v4l2_sensor”;
sysfs-device-tree =“/sys/firmware/devicetree/base/bus@0/i2c@3160000/cam_5@25”;
};
};
};
};
bus@0 {
host1x@13e00000 {
nvcsi@15a00000 {
num-channels = ;
#address-cells = ;
#size-cells = ;
status = “okay”;
channel@0 {
reg = ;
status = “okay”;
ports {
#address-cells = ;
#size-cells = ;
status = “okay”;
port@0 {
reg = ;
status = “okay”;
jetson_csi_in0: endpoint@0 {
status = “okay”;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@1 {
reg = ;
status = “okay”;
jetson_csi_out0: endpoint@1 {
status = “okay”;
remote-endpoint = ;
};
};
};
};
channel@1 {
reg = ;
status = “okay”;
ports {
#address-cells = ;
#size-cells = ;
status = “okay”;
port@0 {
reg = ;
status = “okay”;
jetson_csi_in1: endpoint@2 {
status = “okay”;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@1 {
reg = ;
status = “okay”;
jetson_csi_out1: endpoint@3 {
status = “okay”;
remote-endpoint = ;
};
};
};
};
channel@2 {
reg = ;
status = “okay”;
ports {
#address-cells = ;
#size-cells = ;
status = “okay”;
port@0 {
reg = ;
status = “okay”;
jetson_csi_in2: endpoint@4 {
status = “okay”;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@1 {
status = “okay”;
reg = ;
jetson_csi_out2: endpoint@5 {
status = “okay”;
remote-endpoint = ;
};
};
};
};
channel@3 {
reg = ;
status = “okay”;
ports {
#address-cells = ;
#size-cells = ;
status = “okay”;
port@0 {
reg = ;
status = “okay”;
jetson_csi_in3: endpoint@6 {
status = “okay”;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@1 {
reg = ;
status = “okay”;
jetson_csi_out3: endpoint@7 {
status = “okay”;
remote-endpoint = ;
};
};
};
};
channel@4 {
reg = ;
status = “okay”;
ports {
#address-cells = ;
#size-cells = ;
status = “okay”;
port@0 {
reg = ;
status = “okay”;
jetson_csi_in4: endpoint@8 {
status = “okay”;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@1 {
reg = ;
status = “okay”;
jetson_csi_out4: endpoint@9 {
status = “okay”;
remote-endpoint = ;
};
};
};
};
channel@5 {
reg = ;
status = “okay”;
ports {
#address-cells = ;
#size-cells = ;
status = “okay”;
port@0 {
reg = ;
status = “okay”;
jetson_csi_in5: endpoint@10 {
status = “okay”;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
port@1 {
reg = ;
status = “okay”;
jetson_csi_out5: endpoint@11 {
status = “okay”;
remote-endpoint = ;
};
};
};
};
};
};
i2c@3160000 {
bmi088@70 {
compatible = “bmi,bmi088”;
accel_i2c_addr = ;
status = “okay”;
reg = ;
accel_irq-gpios = ;
gyro_irq-gpios = ;
triger-gpios = ;
accel_matrix = [01 00 00 00 01 00 00 00 01];
gyro_matrix = [01 00 00 00 01 00 00 00 01];
timestamps = , ;
timestamp-names = “accelerometer”, “gyroscope”;
};
bmi08a@18 {
compatible = “bmi08xa”;
status = “okay”;
reg = ;
};
bmi08g@68 {
compatible = “bmi08xg”;
status = “okay”;
reg = ;
};
max96712_0@4e {
status = “okay”;
compatible = “nvidia,max96712_0”;
reg = ;
};
max96712_1@d4 {
status = “okay”;
compatible = “nvidia,max96712_1”;
reg = ;
};
cam_5@25 {
status = “okay”;
compatible = “sensing,sgx-raw-gmsl2-5”;
reg = ;
def_addr = ;
devnode = “video5”;
/* Physical dimensions of sensor */
physical_w = “15.0”;
physical_h = “12.5”;
sensor_model =“sgx-raw-gmsl2”;
/* 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 = “false”;
/* enable CID_SENSOR_MODE_ID for sensor modes selection */
use_sensor_mode_id = “true”;
clocks = ,
;
clock-names = “extperiph1”, “pllp_grtba”;
mclk = “extperiph1”;
der_id = ;//
reset-gpios = ;
mode0 {/mode 2064x1552@30fps/
status = “okay”;
mclk_khz = “24000”;
num_lanes = “4”;
tegra_sinterface = “serial_c”;
phy_mode = “DPHY”;
vc_id = “1”;
discontinuous_clk = “no”;
dpcm_enable = “false”;
cil_settletime = “0”;
lane_polarity = “0”;
dynamic_pixel_bit_depth = “12”;
csi_pixel_bit_depth = “12”;
mode_type = “bayer”;
pixel_phase = “rggb”;
active_w = “2064”;
active_h = “1552”;
readout_orientation = “0”;
line_length = “2400”;
inherent_gain = “1”;
pix_clk_hz = “240000000”;
serdes_pix_clk_hz = “560000000”;
gain_factor = “10”;
min_gain_val = “10”; /* 1.00x /
max_gain_val = “480”; / 22x /
step_gain_val = “5”;
default_gain = “10”; / 1.00x /
min_hdr_ratio = “1”;
max_hdr_ratio = “1”;
framerate_factor = “1000000”;
min_framerate = “30000000”;
max_framerate = “30000000”;
step_framerate = “30000000”;
default_framerate = “30000000”;
exposure_factor = “1000000”;
min_exp_time = “12”; /us, 2 lines/
max_exp_time = “19000”;
step_exp_time = “1”;
default_exp_time = “19000”;/ us */
embedded_metadata_height = “0”;
};
ports {
#address-cells = ;
#size-cells = ;
port@0 {
reg = ;
mipi_cam_out5: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
};
};
cam_4@24 {
status = “okay”;
compatible = “sensing,sgx-raw-gmsl2-4”;
reg = ;
def_addr = ;
devnode = “video4”;
/* Physical dimensions of sensor */
physical_w = “15.0”;
physical_h = “12.5”;
sensor_model =“sgx-raw-gmsl2”;
/* 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 = “false”;
/* enable CID_SENSOR_MODE_ID for sensor modes selection */
use_sensor_mode_id = “true”;
clocks = ,
;
clock-names = “extperiph1”, “pllp_grtba”;
mclk = “extperiph1”;
der_id = ;//
reset-gpios = ;
mode0 {/mode 2064x1552@30fps/
status = “okay”;
mclk_khz = “24000”;
num_lanes = “4”;
tegra_sinterface = “serial_c”;
phy_mode = “DPHY”;
vc_id = “0”;
discontinuous_clk = “no”;
dpcm_enable = “false”;
cil_settletime = “0”;
lane_polarity = “0”;
dynamic_pixel_bit_depth = “12”;
csi_pixel_bit_depth = “12”;
mode_type = “bayer”;
pixel_phase = “rggb”;
active_w = “2064”;
active_h = “1552”;
readout_orientation = “0”;
line_length = “2400”;
inherent_gain = “1”;
pix_clk_hz = “240000000”;
serdes_pix_clk_hz = “560000000”;
gain_factor = “10”;
min_gain_val = “10”; /* 1.00x /
max_gain_val = “480”; / 22x /
step_gain_val = “5”;
default_gain = “10”; / 1.00x /
min_hdr_ratio = “1”;
max_hdr_ratio = “1”;
framerate_factor = “1000000”;
min_framerate = “30000000”;
max_framerate = “30000000”;
step_framerate = “30000000”;
default_framerate = “30000000”;
exposure_factor = “1000000”;
min_exp_time = “12”; /us, 2 lines/
max_exp_time = “19000”;
step_exp_time = “1”;
default_exp_time = “19000”;/ us */
embedded_metadata_height = “0”;
};
ports {
#address-cells = ;
#size-cells = ;
port@0 {
reg = ;
mipi_cam_out4: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
};
};
cam_3@23 {
status = “okay”;
compatible = “sensing,sgx-raw-gmsl2-3”;
reg = ;
def_addr = ;
devnode = “video3”;
/* Physical dimensions of sensor */
physical_w = “15.0”;
physical_h = “12.5”;
sensor_model =“sgx-raw-gmsl2”;
/* 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 = “false”;
/* enable CID_SENSOR_MODE_ID for sensor modes selection */
use_sensor_mode_id = “true”;
clocks = ,
;
clock-names = “extperiph1”, “pllp_grtba”;
mclk = “extperiph1”;
der_id = ;//
reset-gpios = ;
mode0 {/mode 2560x1984@30fps/
status = “okay”;
mclk_khz = “24000”;
num_lanes = “4”;
tegra_sinterface = “serial_a”;
phy_mode = “DPHY”;
vc_id = “3”;
discontinuous_clk = “no”;
dpcm_enable = “false”;
cil_settletime = “0”;
lane_polarity = “6”;
dynamic_pixel_bit_depth = “16”;
csi_pixel_bit_depth = “16”;
mode_type = “yuv”;
pixel_phase = “uyvy”;
active_w = “2560”;
active_h = “1984”;
readout_orientation = “0”;
line_length = “2800”;
inherent_gain = “1”;
//mclk_multiplier = “3.01”;
pix_clk_hz = “240000000”;
serdes_pix_clk_hz = “560000000”;
gain_factor = “100”;
min_gain_val = “100”; /* dB /
max_gain_val = “400”; / dB /
step_gain_val = “1”; / 0.1 /
default_gain = “100”;
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 = “40”; /us, 2 lines/
max_exp_time = “10000”;
step_exp_time = “1”;
default_exp_time = “10000”;/ us */
embedded_metadata_height = “0”;
};
ports {
#address-cells = ;
#size-cells = ;
port@0 {
reg = ;
mipi_cam_out3: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
};
};
cam_2@22 {
status = “okay”;
compatible = “sensing,sgx-raw-gmsl2-2”;
reg = ;
def_addr = ;
devnode = “video2”;
/* Physical dimensions of sensor */
physical_w = “15.0”;
physical_h = “12.5”;
sensor_model =“sgx-raw-gmsl2”;
/* 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 = “false”;
/* enable CID_SENSOR_MODE_ID for sensor modes selection */
use_sensor_mode_id = “true”;
clocks = ,
;
clock-names = “extperiph1”, “pllp_grtba”;
mclk = “extperiph1”;
der_id = ;//
reset-gpios = ;
mode0 {/mode 2560x1984@30fps/
status = “okay”;
mclk_khz = “24000”;
num_lanes = “4”;
tegra_sinterface = “serial_a”;
phy_mode = “DPHY”;
vc_id = “2”;
discontinuous_clk = “no”;
dpcm_enable = “false”;
cil_settletime = “0”;
lane_polarity = “6”;
dynamic_pixel_bit_depth = “16”;
csi_pixel_bit_depth = “16”;
mode_type = “yuv”;
pixel_phase = “uyvy”;
active_w = “2560”;
active_h = “1984”;
readout_orientation = “0”;
line_length = “2800”;
inherent_gain = “1”;
pix_clk_hz = “240000000”;
serdes_pix_clk_hz = “560000000”;
gain_factor = “100”;
min_gain_val = “100”; /* dB /
max_gain_val = “400”; / dB /
step_gain_val = “1”; / 0.1 /
default_gain = “100”;
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 = “40”; / 4 * 8.992μs = 35.968 μs /
max_exp_time = “10000”;
step_exp_time = “1”;
default_exp_time = “10000”; / μs */
embedded_metadata_height = “0”;
};
ports {
#address-cells = ;
#size-cells = ;
port@0 {
reg = ;
mipi_cam_out2: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
};
};
cam_1@21 {
status = “okay”;
compatible = “sensing,sgx-raw-gmsl2-1”;
reg = ;
def_addr = ;
devnode = “video1”;
/* Physical dimensions of sensor */
physical_w = “15.0”;
physical_h = “12.5”;
sensor_model =“sgx-raw-gmsl2”;
/* 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 = “false”;
/* enable CID_SENSOR_MODE_ID for sensor modes selection */
use_sensor_mode_id = “true”;
clocks = ,
;
clock-names = “extperiph1”, “pllp_grtba”;
mclk = “extperiph1”;
der_id = ;//
reset-gpios = ;
mode0 {/mode 2064x1552@30fps/
status = “okay”;
mclk_khz = “24000”;
num_lanes = “4”;
tegra_sinterface = “serial_a”;
phy_mode = “DPHY”;
vc_id = “1”;
discontinuous_clk = “no”;
dpcm_enable = “false”;
cil_settletime = “0”;
lane_polarity = “6”;
dynamic_pixel_bit_depth = “10”;
csi_pixel_bit_depth = “10”;
mode_type = “bayer”;
pixel_phase = “rggb”;
active_w = “2064”;
active_h = “1552”;
readout_orientation = “0”;
line_length = “2400”;
inherent_gain = “1”;
pix_clk_hz = “240000000”;
serdes_pix_clk_hz = “560000000”;
gain_factor = “10”;
min_gain_val = “10”; /* 1.00x /
max_gain_val = “480”; / 22x /
step_gain_val = “5”;
default_gain = “10”; / 1.00x /
min_hdr_ratio = “1”;
max_hdr_ratio = “1”;
framerate_factor = “1000000”;
min_framerate = “30000000”;
max_framerate = “30000000”;
step_framerate = “30000000”;
default_framerate = “30000000”;
exposure_factor = “1000000”;
min_exp_time = “12”; /us, 2 lines/
max_exp_time = “19000”;
step_exp_time = “1”;
default_exp_time = “19000”;/ us */
embedded_metadata_height = “0”;
};
ports {
#address-cells = ;
#size-cells = ;
port@0 {
reg = ;
mipi_cam_out1: endpoint {
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
};
};
cam_0@20 {
status = “okay”;
compatible = “sensing,sgx-raw-gmsl2-0”;
reg = ;
def-addr = ;
channel = ;
devnode = “video0”;
/* Physical dimensions of sensor */
physical_w = “15.0”;
physical_h = “12.5”;
sensor_model =“sgx-raw-gmsl2”;
/* 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 = “false”;
/* enable CID_SENSOR_MODE_ID for sensor modes selection */
use_sensor_mode_id = “true”;
clocks = ,
;
clock-names = “extperiph1”, “pllp_grtba”;
mclk = “extperiph1”;
der_id = ;//
reset-gpios = ;
mode0 {/mode 2064x1552@30fps/
status = “okay”;
mclk_khz = “24000”;
num_lanes = “4”;
tegra_sinterface = “serial_a”;
phy_mode = “DPHY”;
lane_polarity = “6”;
vc_id = “0”;
discontinuous_clk = “no”;
dpcm_enable = “false”;
cil_settletime = “0”;
csi_pixel_bit_depth = “12”;
mode_type = “bayer”;
pixel_phase = “bggr”;
active_w = “240”;
active_h = “4097”;
readout_orientation = “0”;
line_length = “240”;
inherent_gain = “1”;
pix_clk_hz = “74250000”;
serdes_pix_clk_hz = “375000000”;
gain_factor = “10”;
min_gain_val = “0”; /* 0dB /
max_gain_val = “300”; / 30dB /
step_gain_val = “3”; / 0.3 */
default_gain = “0”;
min_hdr_ratio = “1”;
max_hdr_ratio = “1”;
framerate_factor = “1000000”;
min_framerate = “30000000”; /* 1.5 /
max_framerate = “30000000”; / 30 */
step_framerate = “1”;
default_framerate= “30000000”;
exposure_factor = “1000000”;
min_exp_time = “30”; /* us /
max_exp_time = “660000”; / us /
step_exp_time = “1”;
default_exp_time = “33334”;/ us */
embedded_metadata_height = “0”;
};
ports {
#address-cells = ;
#size-cells = ;
status = “okay”;
port@0 {
reg = ;
status = “okay”;
mipi_cam_out0: endpoint {
status = “okay”;
vc-id = ;
port-index = ;
bus-width = ;
remote-endpoint = ;
};
};
};
};
};
};
};
};
};
