Could you provide us the documentation where i can see how works the compatible line in the device tree. Which model is each JETSON. Or if this information is inside of some eeprom and i need to add this information when i’m doing the flash.

I’m trying to understand how to do compatible some part of the code with my own carrier board using JETSON TX2 NX.
We need to activate the code where is defined the en_vdd_cam


hello BARO,

you should refer to the kernel logs, please searching for the device tree names to know the corresponding device tree blob is used. for example, $ dmesg | grep DTS.

No, the question is when i need to compile the dts.

Some part of the dts say: compatible = “tegra-186” for example. I understand that tegra-186” is for tx2

Then this string compatible i want to know the options that i have.
To understand which part of the dts will
Be compiled for each processor.

Then i need the information about which options exists for this string. When i’m
Talking about the carrier board or jetson processor.
Of course i’m not talking about peripherals that each peripheral have their own string considering each supplier.

hello BARO,

as you can see from Jetson Linux | NVIDIA Developer, there’re two [L4T Driver Package (BSP) Sources] packages available.
so, those sources under t18x will include to TX2’s device tree blob.
for example, $L4T_Sources/r32.6.1/Linux_for_Tegra/source/public/hardware/nvidia/platform/t18x/...
this string, compatible it’s a compatible property that identifies the node, it also determine which kernel driver will using this device tree settings.

you may follow Kernel Customization to setup an environment and compile the kernel images.

Yes I know it. But I want to know if I need to add a new configuration for example for my own board. If the user are using diffferent JETSON, how can I identified each one. The string for each JETSON: developer and production version.
Then with the correct string I can customised the device tree with my own hardware.


Just one of the simpler ways of describing “compatible” is a driver which can be used to handle the hardware (sometimes it is a comma-delimited set of “compatible” if more than one driver can be used). I don’t have any kind of list, but if you see a driver name, then it is likely that if this is not a plug-n-play device and needs to be found at a physical address, then the name of the driver would be the “compatible” token.

Yes i know what means compatible.

I want to know the strings that we need to use to say that my own dts is compatible with different models of jetson.
Which string i need to use for each model.

For example in the jetson with the 40 pins carrier board is defined each pin. But for the production module not.
But the dts are the same. Then means that exist some string to explain to the compiler that one part for the dts need to be added in the dtb or not depending the jetson model.

hello BARO,

you could also refer to Jetson Module EEPROM Layout to dump the Product Part Number for confirmation.

I can’t answer about any tables, but the “compatible” will be the same if and only if the hardware uses the same driver. If you have the same chipset for some component, then regardless of where this moves around in layout it will have the same “compatible” (though the rest of the device tree node would change). Some people make compatible components which work on the same driver as the name brand component, but mostly not. I couldn’t tell you where to look for the driver for a particular chipset other than to search for it online (which is what I do).

1 Like