Camera oot driver does not work on JP6.1.0

I am trying to bring up a custom camera on my AGX Orin device.

It worked fine on the previous JetPack version (JP5.1.3). I am now attempting to migrate the same driver and camera modules to the current setup. (JP6.1.0)
However, I noticed that there are changes in the device tree structure on JetPack 6.x.x, as well as in the out-of-tree (OOT) module build environment (e.g., no need for Kconfig and defconfig).

Below are the issue details:

  1. Hardware configuration
  • AGX Orin devkit + interface board (including 3× MAX9296 GMSL deserializers for 6 cameras).
  • Screenshot:
    {F45D6554-6185-4A37-AB00-E8F7A4281D57}
  1. Device tree setup
  • The custom-camera.dtsi file is included in camera-modules.dtsi.
  • The custom-camera.dtbo is overlaid during Orin boot-up.
  1. Boot configuration
  1. Sensor detection via I2C:

It seems that the device tree and the out-of-tree sensor driver setup are correct. However, the driver does not function as expected, as there is no related dmesg output when the driver is loaded using insmod.

Here is a screenshot of the issue for reference:

I am wondering if I missed any critical steps during the driver porting process.
Your guidance would be greatly appreciated. Thank you in advance!

Added:
Here are the device tree files for the custom camera and /proc/device-tree on target.

Hi,

For the camera basic functionality first needs to check the device and driver configuration.
You can reference to below program guide for the detailed information of device tree and driver implementation.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#sensor-software-driver-programming

Please refer to Applications Using V4L2 IOCTL Directly by using V4L2 IOCTL to verify basic camera functionality.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#to-run-a-v4l2-ctl-test

Once confirm the configure and still failed below link help to get log and some information and some tips for debug.
https://elinux.org/Jetson/l4t/Camera_BringUp#Steps_to_enable_more_debug_messages

Thanks!

Do you confirm the tca9548 driver is loaded?
The default device tree already define tca9548 you should override it otherwise remove the original to avoid conflict.

Thanks

Hi, @ShaneCCC

Thank you for your prompt response.

I checked the issue as per your point by replacing camera-modules.dtsi with custom-camera.dtsi to remove all other I2C mux nodes.
However, the issue remains the same.

And I checked the “pca9548 2-0070” is loaded successfully as below.

dmesg: dmesg.txt (65.8 KB)
proc device tree: proc_device-tree.dts.txt (349.1 KB)

I added a dev_err() at the beginning of the probe function, but there isn’t any output in dmesg, which shows that the device might not be detected.
Are there any other areas worth checking on device tree?

Or, could the warning shown below during decompilation with dtc be a hint?
decomp log: dtc_log.txt (187.6 KB)

Thanks.

Looks like you lost some context like below.

                                rbpcv2_imx219_a@10 {
                                        sensor_model = "imx219";
                                        devnode = "video0";
                                        reset-gpios = <0xf3 0x3e 0x00>;
                                        compatible = "sony,imx219";
                                        physical_h = "2.760";
                                        reg = <0x10>;
                                        physical_w = "3.680";

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.