Xavier NX burned Device Tree

I’m trying to add new camera sensor device driver to the kernel as following:

  • I wrote the sensor driver based on imx185.
  • I have compiled it as part of the kernel and not loadable.
  • I have built the new driver device tree in the following directories:
    NXver32.7.1/Linux_for_Tegra/source/public/hardware/nvidia/platform/t19x/galen/kernel-dts/common/
    NXver32.7.1/Linux_for_Tegra/source/public/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/
  • I have added the .dtsi as include in: tegra194-p2822-camera-modules.dtsi file
    It passed compilation.
    After burning the kernel .
    I extracted the DTC tree by the command:
    dtc -I fs /sys/firmware/devicetree/base

I cant see my sensor details in the target device tree and not other imx sensors beside the imx219 sensor.
when I tried to find the ‘imx219’ compiled device tree I find it under the build of:
/hardware/nvidia/platform/t19x/jakku/
and not under:
/hardware/nvidia/platform/t19x/galen/
Does it mean that the device tree of ‘jakku’ was burned for me and not the one of ‘galen’
If yes how do I choose what to burn?
If not? what am I doing wrong?

I don’t really understand what are you trying to ask.

The dtb you tried to flash into the board will be recorded in the flash log.

And just for you to know. Galen is AGX Xavier devkit. And Jakku is Xavier NX devkit.

The dtb that will be flashed is defined in each board config. Board config is that input file name you used in flash.sh.

How should I had to know that the Jakku is the device tree for Xavier NX,
Because in documentation they talked about ‘galen’…
Just for next time to know where I should find this information…
I’m new in Linux & NVIDIA…

Dudi

Hi,

You don’t really need to memorize each of name here. But you just need to know what board config is in use to do the flash.sh.
That is the start point.

When you run flash.sh to flash board, there should be a string which indicates the board config.

If you don’t even know what is flash.sh, please let me know.

I’m using this site to compile and burn:

and this command for the burning:
sudo ./flash.sh jetson-xavier-nx-devkit mmcblk0p1

jetson-xavier-nx-devkit indicates it is using “jetson-xavier-nx-devkit.conf” to flash the board.

This conf file has the info of which dtb is used for flashing xavier board.

I have looked in “jetson-xavier-nx-devkit.conf” and it is not straight forward to understand which is the directory of the device tree and in your documentation it referenced to ‘galen’… It is recommended at list in the " How to build…" to mention that,

Thanks anyway,
Dudi

Learn to trace the code.

If you don’t see the info you need in “jetson-xavier-nx-devkit.conf”, it is because there are still code to trace.

source “${LDK_DIR}/p3668.conf.common”;

Which means you need to dig into another file. And that file shall give more info.

Or you can also just run “dmesg |grep dts” on your NX and it will tell you which dts file to modify.

But I think it will be better to learn what I taught. If you use other custom board someday, this method will still work. But documentation may not work. I mean the naming may not work if other vendors user different name.

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