Hi all.
I’m developping an ISL79987(4ch input video decoder) MIPI-CSI 2 driver for Jetson Orin Nano.
Out System information :
1.SOM : Jetson Orin Nano
2.Carrier Board : Custom Board
3.Camera : Analog type Camera 1 ea.(final aim is 4 ea)
4.We use the CSI 0 .
5.JetPack Version : 5.1.1(L4T : 35.3.1)
I back ported the driver from Linux 6.x to Linux 5.10 version(L4t kernel version), the driver probe successfully, and it registers the device to sysfs as video node without errors (Creating the /dev/video0)
But i could not capture the image.
Description of DT :
/ {
tegra-capture-vi {
status = "okay";
num-channels = <1>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
status = "okay";
reg = <0>;
isl79987_vi_in0: endpoint {
status = "okay";
port-index = <0>;
bus-width = <1>;
remote-endpoint = <&isl79987_csi_out0>;
};
};
};
};
host1x@13e00000
{
nvcsi@15a00000
{
num-channels = <1>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
channel@0 {
status = "okay";
reg = <0>;
ports {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
port@0 {
status = "okay";
reg = <0>;
isl79987_csi_in0: endpoint@0 {
status = "okay";
port-index = <0>;
bus-width = <1>;
remote-endpoint = <&isl79987_out0>;
};
};
port@1 {
status = "okay";
reg = <1>;
isl79987_csi_out0: endpoint@1 {
status = "okay";
remote-endpoint = <&isl79987_vi_in0>;
};
};
};
};
}; // end nvcsi
}; // end host1x
i2c@3180000
{
isl79987_a@44
{
status = "okay";
compatible = "isil,isl79987";
reg = <0x44>;
sensor_model ="isl79987";
pix_clk_hz = "27000000";//216Mbps * 1 lnae / 8(bits per pixel)
reset-gpios = <&tegra_main_gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
lane_polarity = "2";
ports {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
port@0
{
status = "okay";
reg = <0>;
isl79987_out0: endpoint
{
status = "okay";
data-lanes = <1>;
bus-width = <1>;
port-index = <0>;
clock-lanes = <0>;
link-frequencies = /bits/ 64 <108000000 216000000 432000000>;
remote-endpoint = <&isl79987_csi_in0>;
};
};
port@1 {
status="okay";
reg = <1>;
};
}; // end ports
}; // end isl79987_a
}; // end i2c
};
/ {
tegra-camera-platform
{
compatible = "nvidia, tegra-camera-platform";
status = "okay";
num_csi_lanes = <2>;
max_lane_speed = <108000000>;
min_bits_per_pixel = <8>;
vi_peak_byte_per_pixel = <2>;
vi_bw_margin_pct = <25>;
isp_peak_byte_per_pixel = <5>;
isp_bw_margin_pct = <25>;
modules {
cam_module0: module0
{
status="okay";
badge = "isl79987_rear";
position = "rear";
orientation = "0";
cam_module0_drivernode0: drivernode0
{
status="okay";
pcl_id = "v4l2_sensor";
devname = "isl79987 1-0044";
proc-device-tree = "/proc/device-tree/i2c@3180000/isl79987_a@44";
}; // end drivernode0
}; // end module0
}; // end modules
}; // end tegra-camera-platform
};
This is the trace when catpure is performed using the v4l-ctl command.
Question :
1.Is correct the DT file?
2.why don’t capture work?