I have two type of Developer Kit.
One is Jetson Nano, another one is Jetson Xavier NX,
both not made by NVIDIA.
In my camera module, sensor will bring up by MCU (part of ISP).
So in my camera driver, I don`t need to deal with the sensor.
About driver, I reference this.
And, this is what I overlay to device tree.
fragment@0 {
target-path = "/cam_i2cmux/i2c@0";
__overlay__ {
rbpcv2_ar0330_a@08 {
compatible = "nvidia,ar0330";
reg = <0x08>;
devnode = "video0";
physical_w = "3.680";
physical_h = "2.760";
sensor_model = "ar0330";
use_sensor_mode_id = "true";
status = "okay";
reset-gpios = <0x5b 0x97 0x0>;
linux,phandle = <0x123>;
phandle = <0x123>;
mode0 {
mclk_khz = "24000";
num_lanes = [32 00];
tegra_sinterface = "serial_a";
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 = "uyvy";
active_w = "1920";
active_h = "1080";
readout_orientation = [30 00];
line_length = "2200";
inherent_gain = [31 00];
mclk_multiplier = [32 00];
pix_clk_hz = "1152000000";
deskew_initial_enable = "false";
min_gain_val = [30 00];
max_gain_val = "48";
min_hdr_ratio = [31 00];
max_hdr_ratio = [31 00];
min_framerate = "1.5";
max_framerate = "30";
min_exp_time = "30";
max_exp_time = "660000";
embedded_metadata_height = [30 00];
};
ports {
#address-cells = <0x1>;
#size-cells = <0x0>;
port@0 {
reg = <0x0>;
endpoint {
port-index = <0x0>;
bus-width = <0x2>;
remote-endpoint = <0xc9>;
linux,phandle = <0x124>;
phandle = <0x124>;
};
};
};
};
};
};
I use the same driver and device tree for Naon and Xavier NX,
On Jetson Naon, I can see the /dev/video0 and I can see the video.
But failed on Xavier NX…
I guess I missed something in my device tree.
Left side is Naon , Right side is Xavier NX