The device tree overlay for the non-I2C camera does not take effect

Currently, we are a non-I2C device and only support CSI input. I have modified the device tree file, but it seems that the changes haven’t taken effect. Could you please take a look to see if there is any issue?
Our current environment is Jetson ARX ORIN, Jetson Linux 36.4, Jetpack 6.1

extlinux.conf.txt (1.6 KB)
tegra234-fpga-dev-aoo.dtsi.txt (8.0 KB)
tegra234-p3737-camera-modules.dtsi_diff.txt (5.0 KB)

By using the following command, we checked the registered nodes and found that the settings were not effective.
“ls /sys/firmware/devicetree/base/bus@0/i2c@3180000”

*** Please note that this reply is generated by LLM automatically ***

Based on the provided information, it appears that you have modified the device tree file to support CSI input on a non-I2C device, but the changes are not taking effect.

First, let’s break down the environment you’re working with:

  • Jetson AGX Orin
  • Jetson Linux 3.6.4
  • Jetpack 6.1
  • Files involved:
    • extlinux.conf.txt (16 KB)
    • tegra234-fpga-aoodtsi.txt (80 KB)
    • tegra234-p3737-camera-modules.dtsi.diff.txt (50 KB)

You’ve used the command ls /sys/firmware/devicetree/base/bus@0/i2c@3180000 to check the registered nodes and found that the settings were not effective.

Here are a few potential issues to consider:

  1. Device Tree Compilation: After modifying the device tree file, you need to recompile it and update the dtb file. Make sure you’ve followed the correct steps to compile and update the device tree.
  2. Device Tree Overlay: If you’re using a device tree overlay, ensure that it’s properly applied and that the changes are reflected in the overlay file.
  3. I2C Bus Configuration: Since you’re working with a non-I2C device, double-check the I2C bus configuration in the device tree file. Verify that the I2C bus is properly configured and that the CSI input is correctly connected to the I2C bus.
  4. Device Tree Node Registration: The command you used to check the registered nodes suggests that the device tree node might not be registered correctly. Check the device tree file for any errors or typos that might prevent the node from being registered.
  5. Kernel Version and Configuration: Ensure that the kernel version and configuration are compatible with the device tree changes you’ve made.

To troubleshoot further, you can try the following:

  1. Check the kernel logs: Look for any error messages related to the device tree or I2C bus configuration in the kernel logs.
  2. Use the dtc command: Use the dtc command to decompile the dtb file and verify that the changes you made to the device tree file are reflected in the compiled dtb file.
  3. Compare with a known working configuration: If possible, compare your device tree file with a known working configuration to identify any differences or potential issues.

If none of these suggestions help, please provide more details about the changes you made to the device tree file, and I’ll do my best to assist you further.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

hello 1191208688,

you’re going to add tegra234-fpga-dev-aoo.dtsi.txt, right?
you may load the tegra234-fpga-dev-aoo.dtbo file directly instead of modify the tegra234-p3737-camera-modules.dtsi.
please see-also Release Note for the [4.1. Camera] and [4.2. Device Registration] for implementation details.

Thank you for your reply.
I have now modified a virtual camera based on the ov5693.
I will then refer to the documentation to check if there are any issues with the modifications.

At the same time, I would like to confirm if there is any issue with my replacement method:
1.I copied the dtbo file generated locally to the Orin device.
2.Place dtbo in the /boot directory.
3.Manually modify extlinux.conf
OVERLAYS /boot/jetson-io-hdr40-user-custom.dtbo,/boot/tegra234-p3737-0000+p3701-0000-dynamic.dtbo,/boot/tegra234-p3737-fpga-dev-overlay.dtbo

Here, we are simultaneously uploading the modified driver file based on ov5693. Currently, we have re-run the above process and have successfully entered the probe interface of this driver. However, the video node has not been successfully created yet. If you have time, please help check if it is due to excessive driver trimming, resulting in the absence of key interfaces.

dummy.c.txt (18.5 KB)

The ov5693_parse_dt section contains the content related to device tree parsing. We don’t need it. After disabling it, the /dev/video can be registered normally.

hello 1191208688,

all right, you may refer developer guide To verify the port binding result.
please see-also developer guide Applications Using V4L2 IOCTL Directly, to use V4L2 IOCTL to verify basic camera functionality.

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