as follows:
tegra-capture-vi {
compatible = "nvidia,tegra-camrtc-capture-vi";
nvidia,vi-devices = <0x285 0x287>;
nvidia,vi-mapping-size = <0x06>;
nvidia,vi-mapping = <0x00 0x00 0x01 0x00 0x02 0x01 0x03 0x01 0x04 0x00 0x05 0x01>;
nvidia,vi-mapping-names = "csi-stream-id\0vi-unit-id";
nvidia,vi-max-channels = <0x48>;
num-channels = <0x04>;
ports {
#address-cells = <0x01>;
#size-cells = <0x00>;
port@0 {
reg = <0x00>;
endpoint {
vc-id = <0x00>; ------------> vc-id = 0
port-index = <0x02>; ------------> port-index = 2
bus-width = <0x02>; ------------> bus-width = 2
remote-endpoint = <0x288>;
phandle = <0x293>;
};
};
...
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>;
ar0233_csi_in0: endpoint@0 {
port-index = <2>; ------------> port-index = 2
bus-width = <2>; ------------> bus-width = 2
remote-endpoint = <&ar0233_out0>;
};
};
port@1 {
reg = <1>;
ar0233_csi_out0: endpoint@1 {
remote-endpoint = <&ar0233_vi_in0>;
};
};
};
};
...
ar0233_a@1b {
compatible = "nvidia,ar0233";
reg = <0x1b>;
physical_w = "15.0";
physical_h = "12.5";
sensor_model = "ar0233";
post_crop_frame_drop = [30 00];
use_sensor_mode_id = "true";
def-addr = <0x10>;
clocks = <0x02 0x24 0x02 0x24>;
clock-names = "extperiph1\0pllp_grtba";
mclk = "extperiph1";
channel = [61 00];
nvidia,gmsl-ser-device = <0x6a>;
nvidia,gmsl-dser-device = <0x6b>;
mode0 {
mclk_khz = "24000";
num_lanes = [32 00]; ------------> num_lans=2
tegra_sinterface = "serial_a";
vc_id = [30 00]; ------------> vc_id = 0
discontinuous_clk = "no";
dpcm_enable = "false";
cil_settletime = [30 00];
dynamic_pixel_bit_depth = "16";
csi_pixel_bit_depth = "16";
mode_type = "yuv";
pixel_phase = "yuyv";
active_w = "1920";
active_h = "1080";
readout_orientation = [30 00];
line_length = "2200";
inherent_gain = [31 00];
pix_clk_hz = "74250000";
serdes_pix_clk_hz = "375000000";
gain_factor = "100";
min_gain_val = "100";
max_gain_val = "1200";
step_gain_val = [31 00];
default_gain = "100";
min_hdr_ratio = [31 00];
max_hdr_ratio = [31 00];
framerate_factor = "1000000";
min_framerate = "10000000";
max_framerate = "30000000";
step_framerate = [31 00];
default_framerate = "30000000";
exposure_factor = "1000000";
min_exp_time = "49";
max_exp_time = "40000";
step_exp_time = [31 00];
default_exp_time = "12000";
embedded_metadata_height = [30 00];
};
mode1 {
mclk_khz = "24000";
num_lanes = [32 00]; ------------> lan-num=2
tegra_sinterface = "serial_a";
vc_id = [30 00]; ------------> vc_id = 0
discontinuous_clk = "no";
dpcm_enable = "false";
cil_settletime = [30 00];
dynamic_pixel_bit_depth = "16";
csi_pixel_bit_depth = "16";
mode_type = "yuv";
pixel_phase = "yuyv";
active_w = "1920";
active_h = "1536";
readout_orientation = [30 00];
line_length = "2800";
inherent_gain = [31 00];
pix_clk_hz = "115500000";
serdes_pix_clk_hz = "375000000";
gain_factor = "100";
min_gain_val = "100";
max_gain_val = "1200";
step_gain_val = [31 00];
default_gain = "100";
min_hdr_ratio = [31 00];
max_hdr_ratio = [31 00];
framerate_factor = "1000000";
min_framerate = "10000000";
max_framerate = "30000000";
step_framerate = [31 00];
default_framerate = "30000000";
exposure_factor = "1000000";
min_exp_time = "49";
max_exp_time = "40000";
step_exp_time = [31 00];
default_exp_time = "12000";
embedded_metadata_height = [30 00];
};
ports {
#address-cells = <0x01>;
#size-cells = <0x00>;
port@0 {
reg = <0x00>;
endpoint {
vc-id = <0x00>; ------------> vc-id = 0
port-index = <0x02>; ------------> port-index = 2
bus-width = <0x02>; ------------> bus-width = 2
remote-endpoint = <0x6c>;
phandle = <0x292>;
};
};
};
gmsl-link {
src-csi-port = [62 00];
dst-csi-port = [61 00];
serdes-csi-link = [61 00];
csi-mode = "1x4";
st-vc = <0x00>;
vc-id = <0x00>;
num-lanes = <0x02>;
streams = "ued-u1\0raw12";
};
};